From 0ac586822a662157766e1e6ca6f9d524814c981d Mon Sep 17 00:00:00 2001 From: Michael Plump Date: Tue, 9 Jul 2019 10:03:02 -0400 Subject: [PATCH] feat(google): propagate the GCE statefulPolicy through to deck (#3855) --- .../clouddriver/google/model/GoogleServerGroup.groovy | 5 +++++ .../provider/agent/GoogleZonalServerGroupCachingAgent.groovy | 1 + 2 files changed, 6 insertions(+) diff --git a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleServerGroup.groovy b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleServerGroup.groovy index 5074024a0d2..ca7ad4df4ac 100644 --- a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleServerGroup.groovy +++ b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/model/GoogleServerGroup.groovy @@ -22,6 +22,7 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo import com.google.api.services.compute.model.AutoscalingPolicy import com.google.api.services.compute.model.InstanceGroupManagerActionsSummary import com.google.api.services.compute.model.InstanceGroupManagerAutoHealingPolicy +import com.google.api.services.compute.model.StatefulPolicy import com.google.api.services.iam.v1.model.ServiceAccount import com.netflix.spinnaker.clouddriver.google.GoogleCloudProvider import com.netflix.spinnaker.clouddriver.google.model.loadbalancing.GoogleHttpLoadBalancingPolicy @@ -74,6 +75,9 @@ class GoogleServerGroup implements GoogleLabeledResource { @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="class") AutoscalingPolicy autoscalingPolicy + @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="class") + StatefulPolicy statefulPolicy + List autoscalingMessages @JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="class") @@ -124,6 +128,7 @@ class GoogleServerGroup implements GoogleLabeledResource { Boolean discovery = GoogleServerGroup.this.discovery InstanceGroupManagerActionsSummary currentActions = GoogleServerGroup.this.currentActions AutoscalingPolicy autoscalingPolicy = GoogleServerGroup.this.autoscalingPolicy + StatefulPolicy statefulPolicy = GoogleServerGroup.this.statefulPolicy List autoscalingMessages = GoogleServerGroup.this.autoscalingMessages InstanceGroupManagerAutoHealingPolicy autoHealingPolicy = GoogleServerGroup.this.autoHealingPolicy GoogleDistributionPolicy distributionPolicy = GoogleServerGroup.this.distributionPolicy diff --git a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/provider/agent/GoogleZonalServerGroupCachingAgent.groovy b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/provider/agent/GoogleZonalServerGroupCachingAgent.groovy index 62baae2cd5c..8df32483d99 100644 --- a/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/provider/agent/GoogleZonalServerGroupCachingAgent.groovy +++ b/clouddriver-google/src/main/groovy/com/netflix/spinnaker/clouddriver/google/provider/agent/GoogleZonalServerGroupCachingAgent.groovy @@ -480,6 +480,7 @@ class GoogleZonalServerGroupCachingAgent extends AbstractGoogleCachingAgent impl asg: [minSize : instanceGroupManager.targetSize, maxSize : instanceGroupManager.targetSize, desiredCapacity: instanceGroupManager.targetSize], + statefulPolicy: instanceGroupManager.statefulPolicy, autoHealingPolicy: instanceGroupManager.autoHealingPolicies?.getAt(0) ) }