Title
Page icon
Create new category
Edit page index title
Edit category
Edit link
Discovery-client - Container Deployment
You can run discovery-client as a Docker container on every node in the OpenStack cluster that talks to Lightbits storage. Controller nodes, block (cinder-volume) nodes, and compute nodes all need it. This is an alternative to the .deb / .rpm package install, and you can select whichever one fits your host management model. The two installation methods are not designed to coexist on the same host.
This guide covers a single-host install. Repeat the same steps on every node in the cluster.
Prerequisites
On the host:
Docker engine with the
composeplugin (docker compose versionworks).Root access - the container runs
privilegedand needshostnetworking.NVMe/TCP kernel module loaded:
/etc/nvme/hostid present (one-time per host). On most distributions, this is created automatically by the
nvme-clipackage. If the file is missing, generate it using your distribution's standard procedure before continuing.Network access from the host to the registry that holds the
discovery-clientimage, and to every Lightbits discovery endpoint (default port8009/tcp).No package install of discovery-client running on this host. If you previously followed the
.deb/.rpminstructions, stop and disable the systemd service first, and move the existing configuration out of the way:
Consumer-placed files under /etc/discovery-client/discovery.d/ can stay. The container will pick them up.
Pulling the Image
The image is published to a Lightbits registry. Replace the registry, image name, and tag with the values you were given for your release:
Log in to the Lightbits registry (this requires credentials provided with your release - once per host):
Pull the image:
Configuring Discovery-client as a Container
discovery-client reads a single configuration file at /etc/discovery-client/discovery-client.yaml inside the container. Lightbits bind-mounts the host directory /etc/discovery-client/ onto that path, so the file lives on the host.
/etc/discovery-client/discovery-client.yaml:
The values above are a reference baseline; tune them for your environment. Set logging.level: debug only when troubleshooting.
docker-compose
Save the following as $BASE_DIR/discovery-client-compose.yaml (any path is fine, but the rest of this article uses that):
Start:
Verify:
The container should be Up and reach healthy:
The metrics endpoint should respond as follows:
To move to a newer image tag, update DISCOVERY_CLIENT_IMG and re-render the compose file (or edit the image: line in place). Then:
The bind-mounted host directory is preserved across upgrades, so the internal cache and any consumer-placed discovery.d/*.conf files carry over.
Stop/Remove
The host directory /etc/discovery-client is left in place. Remove it manually if you are decommissioning the host.
© 2026 Lightbits Labs™