-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
None
-
1
-
False
-
None
-
False
-
Yes
-
-
-
RHOAM Sprint 42
WHY
<Why is this change being made?>
At present we need a service affecting release in order to push out elascache service updates, As there is little or no downtime https://aws.amazon.com/elasticache/elasticache-maintenance/ this is not necessary
WHAT
<What is being asked for?>
Move specifiedUpdate in CRO for redis outside of the serviceMaintenance bloc
https://github.com/integr8ly/cloud-resource-operator/blob/master/pkg/providers/aws/provider_redis.go#L319-L346
Currently the serviceUpdate check is inside the maintenanceWindow if statment
if maintenanceWindow { // check if any modifications are required to bring the elasticache instance up to date with the strategy map. modifyInput, err := buildElasticacheUpdateStrategy(ec2Svc, elasticacheConfig, foundCache, replicationGroupClusters, logger, r) if err != nil { errMsg := "failed to build elasticache modify strategy" return nil, croType.StatusMessage(errMsg), errorUtil.Wrap(err, errMsg) } if modifyInput == nil { logger.Infof("elasticache replication group %s is as expected", *foundCache.ReplicationGroupId) } // modifications are required to bring the elasticache instance up to date with the strategy map, perform updates. if modifyInput != nil { logger.Infof("%s differs from expected strategy, applying pending modifications :\n%s", *foundCache.ReplicationGroupId, modifyInput) if _, err := cacheSvc.ModifyReplicationGroup(modifyInput); err != nil { errMsg := "failed to modify elasticache cluster" return nil, croType.StatusMessage(errMsg), errorUtil.Wrap(err, errMsg) } logger.Infof("set pending modifications to elasticache replication group %s", *foundCache.ReplicationGroupId) } if serviceUpdates != nil && len(serviceUpdates.updates) > 0 { err = p.applySpecifiedSecurityUpdates(cacheSvc, foundCache, serviceUpdates) if err != nil { errMsg := "there was an error applying critical security updates" return nil, croType.StatusMessage(errMsg), errorUtil.Wrap(err, errMsg) } } }
HOW
Move the if serviceUpdate*s outside of the *if maintanceWindow block
TESTS
<List of related tests>
Update tests if necessary
DONE
<bullet point items for what should be completed>
Release of CRO with this change in it.