-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework glance config process #295
Rework glance config process #295
Conversation
/retest |
This patch represents an implementation of the proposal [1] and aligns the glance-operator with the work already done in Cinder and the other storage operators. There are a few relevant changes in the bootstrap process of Glance, in particular: - It stops using an init container to generate the snippet files that configure each glanceAPI service. The logic that was previously implemented in the Init Container has been moved to the Controllers, where config files are generated and stored in k8s Secrets. Init Containers are fully removed from the bootstrap process; - It uses Kolla to copy the generated content to the target directory /etc/glance/glance.conf.d, which is used by each API service to run; - The relevant content, including scripts, previously stored in a ConfigMap, are now stored in a corresponding k8s Secret, which is mounted to the GlanceAPI deployment Pods (hence no additional calls to GetVolume/GetVolumeMounts are required); - A total of 4 config snippet files are generated: - 00-config.conf contains global settings that are common to every GlanceAPI Pod, including ones that are derived from deployment secrets (e.g. database password, etc.) - 01-config.conf contains the global customServiceConfig settings that apply to every GlanceAPI service. - 02-config.conf contains the customServiceConfig settings that are specific to each service. - 03-config.conf contains secrets specified by each service's customServiceConfigSecrets. - glance-image-import.conf has been removed, and the default config has been added to 00-config.conf, which is the common file generated by the umbrella Glance controller; - logging.conf has been removed as it's no longer required in the switch to a side container approach for logging purposes; - functional tests are aligned to the use of k8s Secrets instead of the old pattern based on ConfigMaps; - kuttl tests are updated and the 'initContainer' has been removed. - dbsync now mounts only the required files (a minimal 00-config.conf) and a db-sync-config.json containing the command run through kolla. [1] openstack-k8s-operators/dev-docs#31 Signed-off-by: Francesco Pantano <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, verified and satisfied with the change.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fmount, konan-abhi The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This patch represents an implementation of the proposal [1] and aligns the
glance-operator
with the work already done inCinder
and the other operators.There are a few relevant changes in the bootstrap process of
Glance
, in particular:InitContainer
to generate the snippet files that configure eachGlanceAPI
service. The logic that was previously implemented in theInitContainer
has been moved to theControllers
, where config files are generated and stored in k8sSecrets
.InitContainers
are fully removed from the bootstrap process;Kolla
to copy the generated content to the target directory/etc/glance/glance.conf.d
, which is used by eachAPI
service to run;ConfigMap
, are now stored in a corresponding k8sSecret
, which is mounted to theGlanceAPI
deploymentPods
(hence no additional calls toGetVolume
/GetVolumeMounts
are required);00-config.conf
contains global settings that are common to everyGlanceAPI
Pod, including ones that are derived from deployment secrets (e.g. database password, etc.)01-config.conf
contains the globalcustomServiceConfig
settings that apply to every GlanceAPI service.02-config.conf
contains thecustomServiceConfig
settings that are specific to each service.03-config.conf
contains secrets specified by each service'scustomServiceConfigSecrets
.glance-image-import.conf
has been removed, and the default config has been added to00-config.conf
, which is the common file generated by the umbrellaGlance
controller;logging.conf
has been removed as it's no longer required in the switch to a side container approach for logging purposes;Secrets
instead of the old pattern based onConfigMaps
;kuttl
tests are updated and theinitContainer
has been removed.DBsync
now mounts only the required files (a minimal00-config.conf
) and adb-sync-config.json
containing the command run throughkolla
.[1] openstack-k8s-operators/dev-docs#31