[Samba] Samba in Containers/Kubernetes Status Update 2
sprabhu at redhat.com
sprabhu at redhat.com
Mon Apr 11 17:23:00 UTC 2022
Samba in Containers & Kubernetes Status Update vol. 2
We are a small team within Red Hat working on an effort to export SMB
shares via Samba in the container ecosystem and Kubernetes. The last
status update email was sent by John Mulligan on 18 Oct 2021. This
email contains a status update documenting our work on this project
since then. This is also an invitation for more community participation
in the project.
We have had a productive quarter which includes several new
improvements and features.
High Availability is provided by the CTDB service. This feature is
currently marked as experimental in the project. New features added
bring us closer to our goal of providing a reliable service to export
This includes adding readiness probes to automatically detect node
failures and to disable them.
We have also added support to scale out CTDB clusters to keep up with
Anoop CS has been working on setting up a multi-node Kubernetes testing
on the CentOS-CI infrastructure where the clustered features of the
operators are now tested regularly.
John Mulligan has been running tests to check the feasibility of having
CTDB manage public-facing ip addresses using Multus to provide the
required NICs within the container. The expectation was to see faster
failover with Windows-based systems using tickle-acks. Unfortunately,
the failovers are taking longer than expected. This is still a work in
progress and further updates will be provided as we make progress on
Shachar Sharon has been working on adding a sidecar container to each
SmbShare resource, which exports metrics via Prometheus. This container
consumes data from the smbstatus command and exposes it via HTTP as
standard Prometheus metrics. Although built for the container
environment, smbmetrics may also be used in other situations where
smbstatus stats are available.
We are closely following the merge request to add json support for the
smbstatus output. This will simplify the code for the consumption of
This feature allows users to specify a path to export from within a PV.
Building onto this work, John is working on features that will allow
the operator to detect if a new SmbShare can be serviced by an existing
As mentioned earlier, Anoop has been working on improving the CI
infrastructure. The project now takes advantage of the CentOS-CI
infrastructure which provides us with more resources for our test
Updates were made to the base versions of the container as well as the
Go version used. The developer workflow has been improved with new
makefile targets to simplify the tasks of the developer. There have
been some additions to the documentation too. We would like to thank
Tobias Florek for his help in this effort.
John has proposed a new merge request to add python bindings for the
lib/smbconf API to allow programmatic access to the Samba
configuration. More information is available at
We look forward to the upcoming SambaXP where John will be providing
further updates on Samba in Kubernetes. The talk is scheduled for 15:30
More information about the samba