7171 operatorImage string
7272 kubeRbacProxyImage string
7373 openstackReleaseVersion string
74+ operatorLeaseDuration string
75+ operatorRenewDeadline string
76+ operatorRetryPeriod string
7477)
7578
7679// SetupEnv -
@@ -79,27 +82,45 @@ func SetupEnv() {
7982 envRelatedOpenStackServiceImages = make (map [string ]* string )
8083 for _ , name := range os .Environ () {
8184 envArr := strings .Split (name , "=" )
85+ if len (envArr ) != 2 { // Handle cases where the environment variable doesn't have a value
86+ continue
87+ }
88+ key := envArr [0 ]
89+ value := envArr [1 ]
8290
83- if strings .HasSuffix (envArr [0 ], "_OPERATOR_MANAGER_IMAGE_URL" ) {
84- operatorName := strings .TrimPrefix (envArr [0 ], "RELATED_IMAGE_" )
91+ switch {
92+ case strings .HasSuffix (key , "_OPERATOR_MANAGER_IMAGE_URL" ):
93+ operatorName := strings .TrimPrefix (key , "RELATED_IMAGE_" )
8594 operatorName = strings .TrimSuffix (operatorName , "_OPERATOR_MANAGER_IMAGE_URL" )
8695 operatorName = strings .ToLower (operatorName )
8796 operatorName = strings .ReplaceAll (operatorName , "_" , "-" )
88- // rabbitmq-cluster is a special case with an alternate deployment template
8997 if operatorName == "rabbitmq-cluster" {
90- rabbitmqImage = envArr [ 1 ]
98+ rabbitmqImage = value
9199 } else {
92- envRelatedOperatorImages [operatorName ] = & envArr [ 1 ]
100+ envRelatedOperatorImages [operatorName ] = & value
93101 }
94- log .Log .Info ("Found operator related image" , "operator" , operatorName , "image" , envArr [1 ])
95- } else if strings .HasPrefix (envArr [0 ], "RELATED_IMAGE_" ) {
96- envRelatedOpenStackServiceImages [envArr [0 ]] = & envArr [1 ]
97- } else if envArr [0 ] == "KUBE_RBAC_PROXY" {
98- kubeRbacProxyImage = envArr [1 ]
99- } else if envArr [0 ] == "OPERATOR_IMAGE_URL" {
100- operatorImage = envArr [1 ]
101- } else if envArr [0 ] == "OPENSTACK_RELEASE_VERSION" {
102- openstackReleaseVersion = envArr [1 ]
102+ log .Log .Info ("Found operator related image" , "operator" , operatorName , "image" , value )
103+
104+ case strings .HasPrefix (key , "RELATED_IMAGE_" ):
105+ envRelatedOpenStackServiceImages [key ] = & value
106+
107+ case key == "KUBE_RBAC_PROXY" :
108+ kubeRbacProxyImage = value
109+
110+ case key == "OPERATOR_IMAGE_URL" :
111+ operatorImage = value
112+
113+ case key == "OPENSTACK_RELEASE_VERSION" :
114+ openstackReleaseVersion = value
115+
116+ case key == "LEASE_DURATION" :
117+ operatorLeaseDuration = value
118+
119+ case key == "RENEW_DEADLINE" :
120+ operatorRenewDeadline = value
121+
122+ case key == "RETRY_PERIOD" :
123+ operatorRetryPeriod = value
103124 }
104125 }
105126}
@@ -455,6 +476,9 @@ func (r *OpenStackReconciler) applyOperator(ctx context.Context, instance *opera
455476 data .Data ["KubeRbacProxyImage" ] = kubeRbacProxyImage
456477 data .Data ["OpenstackReleaseVersion" ] = openstackReleaseVersion
457478 data .Data ["OpenStackServiceRelatedImages" ] = envRelatedOpenStackServiceImages
479+ data .Data ["OperatorLeaseDuration" ] = operatorLeaseDuration
480+ data .Data ["OperatorRenewDeadline" ] = operatorRenewDeadline
481+ data .Data ["OperatorRetryPeriod" ] = operatorRetryPeriod
458482 return r .renderAndApply (ctx , instance , data , "operator" , true )
459483}
460484
0 commit comments