Uploaded image for project: 'Managed Service - API'
  1. Managed Service - API
  2. MGDAPI-5609

remove the specifiedUpdates for Redis from the serviceManitenance block

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major 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.

              rh-ee-akramar Anya Kramar
              aucunnin@redhat.com Austin Cunningham
              Adam Cattermole Adam Cattermole
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: