Skip to content

Commit 14e3c71

Browse files
committed
Add redeploy on serving cert and operator pod template change
1 parent f62d700 commit 14e3c71

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

pkg/operator2/ca.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,19 @@ const (
1515
injectCABundleAnnotationValue = "true"
1616
)
1717

18-
func (c *authOperator) handleServiceCA() (*corev1.ConfigMap, error) {
18+
func (c *authOperator) handleServiceCA() (*corev1.ConfigMap, *corev1.Secret, error) {
1919
cm := c.configMaps.ConfigMaps(targetName)
20+
secret := c.secrets.Secrets(targetName)
2021
serviceCA, err := cm.Get(serviceCAName, metav1.GetOptions{})
2122
if errors.IsNotFound(err) {
2223
serviceCA, err = cm.Create(defaultServiceCA())
2324
}
2425
if err != nil {
25-
return nil, err
26+
return nil, nil, err
2627
}
2728

2829
if len(serviceCA.Data[serviceCAKey]) == 0 {
29-
return nil, fmt.Errorf("config map has no service ca data: %#v", serviceCA)
30+
return nil, nil, fmt.Errorf("config map has no service ca data: %#v", serviceCA)
3031
}
3132

3233
if err := isValidServiceCA(serviceCA); err != nil {
@@ -36,10 +37,15 @@ func (c *authOperator) handleServiceCA() (*corev1.ConfigMap, error) {
3637
if err := cm.Delete(serviceCA.Name, opts); err != nil && !errors.IsNotFound(err) {
3738
glog.Infof("failed to delete invalid service CA config map: %v", err)
3839
}
39-
return nil, err
40+
return nil, nil, err
4041
}
4142

42-
return serviceCA, nil
43+
servingCert, err := secret.Get(servingCertName, metav1.GetOptions{})
44+
if err != nil {
45+
return nil, nil, err
46+
}
47+
48+
return serviceCA, servingCert, nil
4349
}
4450

4551
func isValidServiceCA(ca *corev1.ConfigMap) error {

pkg/operator2/operator.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@ import (
2828
)
2929

3030
const (
31-
targetName = "openshift-authentication"
32-
globalConfigName = "cluster"
31+
targetName = "openshift-authentication"
32+
targetNameOperator = "openshift-authentication-operator"
33+
globalConfigName = "cluster"
3334

3435
machineConfigNamespace = "openshift-config-managed"
3536
userConfigNamespace = "openshift-config"
@@ -176,11 +177,11 @@ func (c *authOperator) handleSync(operatorConfig *operatorv1.Authentication) err
176177
}
177178
resourceVersions = append(resourceVersions, route.GetResourceVersion())
178179

179-
serviceCA, err := c.handleServiceCA()
180+
serviceCA, servingCert, err := c.handleServiceCA()
180181
if err != nil {
181182
return err
182183
}
183-
resourceVersions = append(resourceVersions, serviceCA.GetResourceVersion())
184+
resourceVersions = append(resourceVersions, serviceCA.GetResourceVersion(), servingCert.GetResourceVersion())
184185

185186
metadata, _, err := resourceapply.ApplyConfigMap(c.configMaps, c.recorder, getMetadataConfigMap(route))
186187
if err != nil {
@@ -231,9 +232,14 @@ func (c *authOperator) handleSync(operatorConfig *operatorv1.Authentication) err
231232
}
232233
resourceVersions = append(resourceVersions, cliConfig.GetResourceVersion())
233234

235+
operatorDeploymentRV, err := c.getOperatorDeploymentResourceVersion()
236+
if err != nil {
237+
return err
238+
}
239+
resourceVersions = append(resourceVersions, operatorDeploymentRV)
240+
234241
// deployment, have RV of all resources
235242
// TODO use ExpectedDeploymentGeneration func
236-
// TODO we also need the RV for the serving-cert secret (servingCertName)
237243
expectedDeployment := defaultDeployment(
238244
operatorConfig,
239245
syncData,
@@ -280,3 +286,13 @@ func getPrefixFilter() controller.Filter {
280286
DeleteFunc: prefix,
281287
}
282288
}
289+
290+
func (c *authOperator) getOperatorDeploymentResourceVersion() (string, error) {
291+
deployments := c.deployments.Deployments(targetNameOperator)
292+
operator, err := deployments.Get(targetNameOperator, metav1.GetOptions{})
293+
if err != nil {
294+
return "", err
295+
}
296+
297+
return operator.GetResourceVersion(), nil
298+
}

0 commit comments

Comments
 (0)