Added helm.sh/hook annotations for jobs in glance chart.
Chart upgrading was failing due to some immutable fields in job are needed to upgrade. So, we have added the helm.sh/hook annotations with post-install and post-upgrade values. As for hook-weight annotations, we have added these to control the flow of the jobs with hook creation as the jobs are dependent. Like, db-init jobs need to run before db-sync and so on. Also helm3_hook value is introduced in values.yaml, which can be used to disable helm hook if needed. Change-Id: Idb4b992b4061f4a014570b7933a585df1a096299
This commit is contained in:
parent
2f80bd3ff2
commit
30fbdb6748
@ -14,7 +14,7 @@ apiVersion: v1
|
|||||||
appVersion: v1.0.0
|
appVersion: v1.0.0
|
||||||
description: OpenStack-Helm Glance
|
description: OpenStack-Helm Glance
|
||||||
name: glance
|
name: glance
|
||||||
version: 0.2.6
|
version: 0.2.7
|
||||||
home: https://docs.openstack.org/glance/latest/
|
home: https://docs.openstack.org/glance/latest/
|
||||||
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Glance/OpenStack_Project_Glance_vertical.png
|
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Glance/OpenStack_Project_Glance_vertical.png
|
||||||
sources:
|
sources:
|
||||||
|
@ -12,6 +12,11 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.bootstrap" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "5"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- define "glance.templates._job_bootstrap.pod_volumes" -}}
|
{{- define "glance.templates._job_bootstrap.pod_volumes" -}}
|
||||||
{{- $envAll := index . 0 -}}
|
{{- $envAll := index . 0 -}}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
@ -28,5 +33,8 @@ volumes:
|
|||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $bootstrapJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
{{- $_ := set $bootstrapJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $bootstrapJob "jobAnnotations" (include "metadata.annotations.job.bootstrap" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $bootstrapJob | include "helm-toolkit.manifests.job_bootstrap" }}
|
{{ $bootstrapJob | include "helm-toolkit.manifests.job_bootstrap" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,6 +12,11 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.db_init" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-5"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_db_init }}
|
{{- if .Values.manifests.job_db_init }}
|
||||||
{{- $serviceName := "glance" -}}
|
{{- $serviceName := "glance" -}}
|
||||||
{{- $dbToInit := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName "glance-api" ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "database" "configDbKey" "connection" -}}
|
{{- $dbToInit := dict "adminSecret" .Values.secrets.oslo_db.admin "configFile" (printf "/etc/%s/%s.conf" $serviceName "glance-api" ) "logConfigFile" (printf "/etc/%s/logging.conf" $serviceName ) "configDbSection" "database" "configDbKey" "connection" -}}
|
||||||
@ -19,5 +24,8 @@ limitations under the License.
|
|||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $dbInitJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
|
{{- $_ := set $dbInitJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $dbInitJob "jobAnnotations" (include "metadata.annotations.job.db_init" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $dbInitJob | include "helm-toolkit.manifests.job_db_init_mysql" }}
|
{{ $dbInitJob | include "helm-toolkit.manifests.job_db_init_mysql" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,11 +12,19 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.db_sync" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-4"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_db_sync }}
|
{{- if .Values.manifests.job_db_sync }}
|
||||||
{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" "glance" "glance-api" ) "logConfigFile" (printf "/etc/%s/logging.conf" "glance" ) "image" ( index .Values.images.tags ( printf "%s_db_sync" "glance" )) ) -}}
|
{{- $dbToSync := index . "dbToSync" | default ( dict "configFile" (printf "/etc/%s/%s.conf" "glance" "glance-api" ) "logConfigFile" (printf "/etc/%s/logging.conf" "glance" ) "image" ( index .Values.images.tags ( printf "%s_db_sync" "glance" )) ) -}}
|
||||||
{{- $dbSyncJob := dict "envAll" . "serviceName" "glance" "podVolMounts" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumeMounts "podVols" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumes "dbToSync" $dbToSync -}}
|
{{- $dbSyncJob := dict "envAll" . "serviceName" "glance" "podVolMounts" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumeMounts "podVols" .Values.pod.mounts.glance_db_sync.glance_db_sync.volumes "dbToSync" $dbToSync -}}
|
||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $dbSyncJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
|
{{- $_ := set $dbSyncJob "dbAdminTlsSecret" .Values.endpoints.oslo_db.auth.admin.secret.tls.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $dbSyncJob "jobAnnotations" (include "metadata.annotations.job.db_sync" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $dbSyncJob | include "helm-toolkit.manifests.job_db_sync" }}
|
{{ $dbSyncJob | include "helm-toolkit.manifests.job_db_sync" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,7 +12,14 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.repo_sync" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }}
|
{{- if and .Values.manifests.job_image_repo_sync .Values.images.local_registry.active }}
|
||||||
{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "glance" -}}
|
{{- $imageRepoSyncJob := dict "envAll" . "serviceName" "glance" -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := $imageRepoSyncJob "jobAnnotations" (include "metadata.annotations.job.repo_sync" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }}
|
{{ $imageRepoSyncJob | include "helm-toolkit.manifests.job_image_repo_sync" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,10 +12,18 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.ks_endpoints" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-2"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_ks_endpoints }}
|
{{- if .Values.manifests.job_ks_endpoints }}
|
||||||
{{- $ksServiceJob := dict "envAll" . "serviceName" "glance" "serviceTypes" ( tuple "image" ) -}}
|
{{- $ksServiceJob := dict "envAll" . "serviceName" "glance" "serviceTypes" ( tuple "image" ) -}}
|
||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $ksServiceJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
{{- $_ := set $ksServiceJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $ksServiceJob "jobAnnotations" (include "metadata.annotations.job.ks_endpoints" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }}
|
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_endpoints" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,10 +12,18 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.ks_service" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-3"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_ks_service }}
|
{{- if .Values.manifests.job_ks_service }}
|
||||||
{{- $ksServiceJob := dict "envAll" . "serviceName" "glance" "serviceTypes" ( tuple "image" ) -}}
|
{{- $ksServiceJob := dict "envAll" . "serviceName" "glance" "serviceTypes" ( tuple "image" ) -}}
|
||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $ksServiceJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
{{- $_ := set $ksServiceJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $ksServiceJob "jobAnnotations" (include "metadata.annotations.job.ks_service" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }}
|
{{ $ksServiceJob | include "helm-toolkit.manifests.job_ks_service" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -12,10 +12,18 @@ See the License for the specific language governing permissions and
|
|||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.ks_user" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-1"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_ks_user }}
|
{{- if .Values.manifests.job_ks_user }}
|
||||||
{{- $ksUserJob := dict "envAll" . "serviceName" "glance" -}}
|
{{- $ksUserJob := dict "envAll" . "serviceName" "glance" -}}
|
||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $ksUserJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
{{- $_ := set $ksUserJob "tlsSecret" .Values.secrets.tls.image.api.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $ksUserJob "jobAnnotations" (include "metadata.annotations.job.ks_user" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
|
{{ $ksUserJob | include "helm-toolkit.manifests.job_ks_user" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -23,6 +23,9 @@ kind: Job
|
|||||||
metadata:
|
metadata:
|
||||||
name: glance-metadefs-load
|
name: glance-metadefs-load
|
||||||
annotations:
|
annotations:
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
{{- end }}
|
||||||
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
|
@ -11,10 +11,19 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/}}
|
*/}}
|
||||||
|
|
||||||
|
{{- define "metadata.annotations.job.rabbit_init" }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
helm.sh/hook-weight: "-4"
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- if .Values.manifests.job_rabbit_init }}
|
{{- if .Values.manifests.job_rabbit_init }}
|
||||||
{{- $rmqUserJob := dict "envAll" . "serviceName" "glance" -}}
|
{{- $rmqUserJob := dict "envAll" . "serviceName" "glance" -}}
|
||||||
{{- if .Values.manifests.certificates -}}
|
{{- if .Values.manifests.certificates -}}
|
||||||
{{- $_ := set $rmqUserJob "tlsSecret" .Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal -}}
|
{{- $_ := set $rmqUserJob "tlsSecret" .Values.endpoints.oslo_messaging.auth.admin.secret.tls.internal -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
{{- $_ := set $rmqUserJob "jobAnnotations" (include "metadata.annotations.job.rabbit_init" . | fromYaml) }}
|
||||||
|
{{- end }}
|
||||||
{{ $rmqUserJob | include "helm-toolkit.manifests.job_rabbit_init" }}
|
{{ $rmqUserJob | include "helm-toolkit.manifests.job_rabbit_init" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
@ -51,6 +51,9 @@ kind: Job
|
|||||||
metadata:
|
metadata:
|
||||||
name: glance-storage-init
|
name: glance-storage-init
|
||||||
annotations:
|
annotations:
|
||||||
|
{{- if .Values.helm3_hook }}
|
||||||
|
helm.sh/hook: post-install,post-upgrade
|
||||||
|
{{- end }}
|
||||||
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
|
@ -1050,6 +1050,10 @@ pod:
|
|||||||
memory: "1024Mi"
|
memory: "1024Mi"
|
||||||
cpu: "2000m"
|
cpu: "2000m"
|
||||||
|
|
||||||
|
# NOTE(helm_hook): helm_hook might break for helm2 binary.
|
||||||
|
# set helm3_hook: false when using the helm2 binary.
|
||||||
|
helm3_hook: true
|
||||||
|
|
||||||
manifests:
|
manifests:
|
||||||
certificates: false
|
certificates: false
|
||||||
configmap_bin: true
|
configmap_bin: true
|
||||||
|
@ -16,4 +16,5 @@ glance:
|
|||||||
- 0.2.4 Mount rabbitmq TLS secret
|
- 0.2.4 Mount rabbitmq TLS secret
|
||||||
- 0.2.5 Add Ussuri release support
|
- 0.2.5 Add Ussuri release support
|
||||||
- 0.2.6 Add Victoria and Wallaby releases support
|
- 0.2.6 Add Victoria and Wallaby releases support
|
||||||
|
- 0.2.7 Added helm.sh/hook for the jobs
|
||||||
...
|
...
|
||||||
|
Loading…
Reference in New Issue
Block a user