Skip to content

feat: let the MariaDB operator render the database connection - #2555

Open
cardoe wants to merge 4 commits into
mainfrom
neutron-mariadb-connection-snippet
Open

cardoe wants to merge 4 commits into
mainfrom
neutron-mariadb-connection-snippet

Conversation

@cardoe

@cardoe cardoe commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Have the MariaDB operator render the database connection for neutron,
placement, glance and keystone, instead of generating a [database] connection from each service's <SERVICE>_DB_PASSWORD Helm value.

Each chart declares the Database, User, Grant and Connection resources, and the
operator-written <service>-db-conn secret is projected into every workload
that talks to the database. The password is still read from the existing
<service>-db-password secret.

Chart pins are bumped to 2026.2.x releases carrying the mariadb_db values,
components/<service>/<service>-mariadb-db.yaml is removed and
<SERVICE>_DB_PASSWORD is dropped from openstack-secrets.tpl.yaml.

One commit per service. Cinder is not included: its cinder-bin configmap
override has drifted from upstream and needs its own review.

Deploy repos need the <service>-db-password secrets to exist before this
syncs; see the changelog fragment for the Grant cleanup steps.

@cardoe
cardoe force-pushed the neutron-mariadb-connection-snippet branch 3 times, most recently from a8e00e4 to 21cec82 Compare October 22, 2026 20:07
@cardoe
cardoe marked this pull request as ready for review October 22, 2026 20:07
@cardoe
cardoe requested a review from a team October 22, 2026 20:07
Have the neutron chart declare the Database, User, Grant and Connection
resources and project the operator-written neutron-db-conn secret into
every workload that talks to the database, instead of generating a
[database] connection from the NEUTRON_DB_PASSWORD Helm value.

The password is read from the existing neutron-db-password secret
(mariadb_db.password_secret.create: false) and the resources attach to
the MariaDB named mariadb (mariadb_ref) while clients keep connecting
through the mariadb-primary service.

This needs a neutron chart carrying the mariadb_db.password_secret and
mariadb_db.mariadb_ref values; the chart pin must be bumped before this
syncs. components/neutron/neutron-mariadb-db.yaml is no longer needed
and NEUTRON_DB_PASSWORD is dropped from openstack-secrets.tpl.yaml.
@cardoe
cardoe force-pushed the neutron-mariadb-connection-snippet branch from 21cec82 to 651bb8e Compare October 22, 2026 20:17
Convert placement the same way as neutron: the chart declares the
Database, User, Grant and Connection resources and the operator-written
placement-db-conn secret is projected into the db-sync job and the API
instead of generating a [database] connection from PLACEMENT_DB_PASSWORD.

Bump the placement chart to 2026.2.3, which carries the mariadb_db
values. components/placement/placement-mariadb-db.yaml is removed and
PLACEMENT_DB_PASSWORD is dropped from openstack-secrets.tpl.yaml. The
kustomization is left with an empty resources list because the Argo
application always adds components/placement/ as a source.
Convert glance the same way as neutron and placement: the chart declares
the Database, User, Grant and Connection resources and the
operator-written glance-db-conn secret is projected into the API, the
db-sync job and the metadefs-load job (which runs glance-manage against
the database) instead of generating a [database] connection from
GLANCE_DB_PASSWORD.

Bump the glance chart to 2026.2.3, which carries the mariadb_db values.
components/glance/glance-mariadb-db.yaml is removed and GLANCE_DB_PASSWORD
is dropped from openstack-secrets.tpl.yaml.
Convert keystone the same way as neutron, placement and glance: the
chart declares the Database, User, Grant and Connection resources and
the operator-written keystone-db-conn secret is projected into the API,
the db-sync job and the credential-rotate cronjob (credential_migrate
touches the database) instead of generating a [database] connection from
KEYSTONE_DB_PASSWORD.

Bump the keystone chart to 2026.2.3, which carries the mariadb_db
values. components/keystone/keystone-mariadb-db.yaml is removed and
KEYSTONE_DB_PASSWORD is dropped from openstack-secrets.tpl.yaml.
@cardoe cardoe changed the title feat(neutron): let the MariaDB operator render the database connection feat: let the MariaDB operator render the database connection (neutron, placement, glance, keystone) Oct 22, 2026
@cardoe cardoe changed the title feat: let the MariaDB operator render the database connection (neutron, placement, glance, keystone) feat: let the MariaDB operator render the database connection Oct 22, 2026
@cardoe

cardoe commented Oct 23, 2026

Copy link
Copy Markdown
Contributor Author

Wait to merge this. Might try to fix up the operator to make the upgrade instructions easier.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants