From aeea8e464717109b406a8f632d54972c3960e4bf Mon Sep 17 00:00:00 2001 From: Eric Zimanyi Date: Thu, 20 Aug 2020 13:16:17 -0400 Subject: [PATCH] refactor(kubernetes): Fix a few warning types (#4823) * refactor(kubernetes): Apply type bounds to implementations of AtomicOperation Now that the interfaces have type bounds, we can apply these to the implementations as well. * refactor(kubernetes): Suppress some unchecked warnings KubernetesManifest is full of unchecked casts; let's just add a comment to the class and suppress the warnings for any methods that currently have unchecked casts. As noted in the comment, we should really try to stop relying on this class that extends HashMap and is full of these unsafe casts, but for now we'll just suppress the warnings. I have not enabled the Xlint:unchecked flag because there are still a few other unchecked warnings that I'll leave for later. Also let's make computedKind transient because the class implements Serializable. It doesn't really matter because we don't use java serialization, but is more correct because this is just a cached value that is stored to avoid re-computing. * fix(kubernetes): Fix deprecation warnings This commit fixes the small number of deprecation warnings in clouddriver-kubernetes and enables deprecation compiler warnings. Notes: * getPointCoordinates was marked deprecated, but is still actively used in the Delete Manifest stage; there appers to have been no effort to actually deprecate it, so let's just remove the annotation. * Stop logging the full manifest when we hit the warning on that deprecated call; just the identifying info should be enough. * getRequiredGroupMembership is a field; to add the suppress annotation we need to write the lombok-generated accessor explicitly Also two small other fixes I noticed: * Make a field private * Remove Serializable from KubernetesV2Job status as we never use Java serialization. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> --- .../clouddriver-kubernetes.gradle | 1 - .../KubernetesCleanupArtifactsConverter.java | 5 +++-- .../job/KubernetesRunJobOperationConverter.java | 6 ++++-- .../KubernetesDeleteManifestConverter.java | 5 +++-- .../KubernetesDeployManifestConverter.java | 5 +++-- .../KubernetesDisableManifestConverter.java | 5 +++-- .../KubernetesEnableManifestConverter.java | 5 +++-- .../KubernetesPatchManifestConverter.java | 5 +++-- ...KubernetesPauseRolloutManifestConverter.java | 4 ++-- ...ubernetesResumeRolloutManifestConverter.java | 4 ++-- ...bernetesRollingRestartManifestConverter.java | 4 ++-- .../KubernetesScaleManifestConverter.java | 4 ++-- .../KubernetesUndoRolloutManifestConverter.java | 4 ++-- .../KubernetesResizeServerGroupConverter.java | 4 ++-- ...ubernetesAtomicOperationConverterHelper.java | 2 +- .../KubernetesDeleteManifestDescription.java | 3 +-- .../manifest/KubernetesManifest.java | 17 ++++++++++++++++- .../manifest/KubernetesSourceCapacity.java | 9 +++++++-- .../kubernetes/model/KubernetesV2JobStatus.java | 3 +-- .../KubernetesCleanupArtifactsOperation.java | 2 +- .../op/job/KubernetesRunJobOperation.java | 2 +- ...ubernetesEnableDisableManifestOperation.java | 2 +- .../KubernetesDeleteManifestOperation.java | 2 +- .../KubernetesDeployManifestOperation.java | 14 +++++++++++--- .../KubernetesPatchManifestOperation.java | 2 +- ...KubernetesPauseRolloutManifestOperation.java | 2 +- ...ubernetesResumeRolloutManifestOperation.java | 2 +- ...bernetesRollingRestartManifestOperation.java | 2 +- .../KubernetesScaleManifestOperation.java | 2 +- .../KubernetesUndoRolloutManifestOperation.java | 2 +- .../KubernetesResizeServerGroupOperation.java | 2 +- .../KubernetesNamedAccountCredentials.java | 14 ++++++++++++++ .../KubernetesArtifactCleanupValidator.java | 2 +- .../KubernetesDeleteManifestValidator.java | 2 +- .../KubernetesDeployManifestValidator.java | 2 +- .../KubernetesDisableManifestValidator.java | 2 +- .../KubernetesEnableManifestValidator.java | 2 +- .../KubernetesPatchManifestValidator.java | 2 +- ...KubernetesPauseRolloutManifestValidator.java | 2 +- ...ubernetesResumeRolloutManifestValidator.java | 2 +- ...bernetesRollingRestartManifestValidator.java | 2 +- .../KubernetesScaleManifestValidator.java | 2 +- .../KubernetesUndoRolloutManifestValidator.java | 2 +- .../KubernetesResizeServerGroupValidator.java | 2 +- 44 files changed, 108 insertions(+), 61 deletions(-) diff --git a/clouddriver-kubernetes/clouddriver-kubernetes.gradle b/clouddriver-kubernetes/clouddriver-kubernetes.gradle index 8c6fb5f73ce..2b1b1101712 100644 --- a/clouddriver-kubernetes/clouddriver-kubernetes.gradle +++ b/clouddriver-kubernetes/clouddriver-kubernetes.gradle @@ -21,7 +21,6 @@ tasks.withType(JavaCompile) { // Temporarily suppressed warnings. These are here only while we fix or // suppress the warnings in these categories. - '-Xlint:-deprecation', '-Xlint:-rawtypes', '-Xlint:-unchecked', ] diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/artifact/KubernetesCleanupArtifactsConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/artifact/KubernetesCleanupArtifactsConverter.java index 780d5737d5d..272576e604b 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/artifact/KubernetesCleanupArtifactsConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/artifact/KubernetesCleanupArtifactsConverter.java @@ -23,6 +23,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.caching.view.provider.ArtifactProvider; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.artifact.KubernetesCleanupArtifactsDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.artifact.KubernetesCleanupArtifactsOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -37,12 +38,12 @@ public class KubernetesCleanupArtifactsConverter @Autowired ArtifactProvider artifactProvider; @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesCleanupArtifactsOperation(convertDescription(input), artifactProvider); } @Override - public KubernetesCleanupArtifactsDescription convertDescription(Map input) { + public KubernetesCleanupArtifactsDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesCleanupArtifactsDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/job/KubernetesRunJobOperationConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/job/KubernetesRunJobOperationConverter.java index 3e2e99b9f0b..76a3d255662 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/job/KubernetesRunJobOperationConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/job/KubernetesRunJobOperationConverter.java @@ -23,6 +23,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.caching.view.provider.KubernetesV2ArtifactProvider; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.job.KubernetesRunJobOperationDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.job.KubernetesRunJobDeploymentResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.job.KubernetesRunJobOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -46,12 +47,13 @@ public KubernetesRunJobOperationConverter( } @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation( + Map input) { return new KubernetesRunJobOperation(convertDescription(input), artifactProvider, appendSuffix); } @Override - public KubernetesRunJobOperationDescription convertDescription(Map input) { + public KubernetesRunJobOperationDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesRunJobOperationDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeleteManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeleteManifestConverter.java index d44cc36df6d..d709ed960b6 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeleteManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeleteManifestConverter.java @@ -22,6 +22,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.KubernetesOperation; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesDeleteManifestDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.manifest.KubernetesDeleteManifestOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -32,12 +33,12 @@ @Component public class KubernetesDeleteManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesDeleteManifestOperation(convertDescription(input)); } @Override - public KubernetesDeleteManifestDescription convertDescription(Map input) { + public KubernetesDeleteManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesDeleteManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeployManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeployManifestConverter.java index fd0bb4de156..adfb87cce35 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeployManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDeployManifestConverter.java @@ -26,6 +26,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesDeployManifestDescription; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesManifest; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.manifest.KubernetesDeployManifestOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -58,12 +59,12 @@ public KubernetesDeployManifestConverter( } @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesDeployManifestOperation(convertDescription(input), artifactProvider); } @Override - public KubernetesDeployManifestDescription convertDescription(Map input) { + public KubernetesDeployManifestDescription convertDescription(Map input) { KubernetesDeployManifestDescription mainDescription = KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesDeployManifestDescription.class); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDisableManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDisableManifestConverter.java index 2b6b355555c..fc5f5e48c35 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDisableManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesDisableManifestConverter.java @@ -22,6 +22,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.KubernetesOperation; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesEnableDisableManifestDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.manifest.KubernetesDisableManifestOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -32,12 +33,12 @@ @Component public class KubernetesDisableManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesDisableManifestOperation(convertDescription(input)); } @Override - public KubernetesEnableDisableManifestDescription convertDescription(Map input) { + public KubernetesEnableDisableManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesEnableDisableManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesEnableManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesEnableManifestConverter.java index 8b899072a11..2ae172afaa5 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesEnableManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesEnableManifestConverter.java @@ -22,6 +22,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.KubernetesOperation; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesEnableDisableManifestDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.manifest.KubernetesEnableManifestOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -32,12 +33,12 @@ @Component public class KubernetesEnableManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesEnableManifestOperation(convertDescription(input)); } @Override - public KubernetesEnableDisableManifestDescription convertDescription(Map input) { + public KubernetesEnableDisableManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesEnableDisableManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPatchManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPatchManifestConverter.java index 6b213fe6663..fe865b28c6b 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPatchManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPatchManifestConverter.java @@ -22,6 +22,7 @@ import com.netflix.spinnaker.clouddriver.kubernetes.KubernetesOperation; import com.netflix.spinnaker.clouddriver.kubernetes.deploy.converters.KubernetesAtomicOperationConverterHelper; import com.netflix.spinnaker.clouddriver.kubernetes.description.manifest.KubernetesPatchManifestDescription; +import com.netflix.spinnaker.clouddriver.kubernetes.op.OperationResult; import com.netflix.spinnaker.clouddriver.kubernetes.op.manifest.KubernetesPatchManifestOperation; import com.netflix.spinnaker.clouddriver.orchestration.AtomicOperation; import com.netflix.spinnaker.clouddriver.security.AbstractAtomicOperationsCredentialsSupport; @@ -32,12 +33,12 @@ @KubernetesOperation(PATCH_MANIFEST) public class KubernetesPatchManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesPatchManifestOperation(convertDescription(input)); } @Override - public KubernetesPatchManifestDescription convertDescription(Map input) { + public KubernetesPatchManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesPatchManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPauseRolloutManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPauseRolloutManifestConverter.java index ec2746797ed..223c3a49dbf 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPauseRolloutManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesPauseRolloutManifestConverter.java @@ -33,12 +33,12 @@ public class KubernetesPauseRolloutManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesPauseRolloutManifestOperation(convertDescription(input)); } @Override - public KubernetesPauseRolloutManifestDescription convertDescription(Map input) { + public KubernetesPauseRolloutManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesPauseRolloutManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesResumeRolloutManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesResumeRolloutManifestConverter.java index f04aa8497cf..6d547eb5342 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesResumeRolloutManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesResumeRolloutManifestConverter.java @@ -33,12 +33,12 @@ public class KubernetesResumeRolloutManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesResumeRolloutManifestOperation(convertDescription(input)); } @Override - public KubernetesResumeRolloutManifestDescription convertDescription(Map input) { + public KubernetesResumeRolloutManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesResumeRolloutManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesRollingRestartManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesRollingRestartManifestConverter.java index 14a0e18a1ff..f7d8bf4ee5b 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesRollingRestartManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesRollingRestartManifestConverter.java @@ -33,12 +33,12 @@ public class KubernetesRollingRestartManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesRollingRestartManifestOperation(convertDescription(input)); } @Override - public KubernetesRollingRestartManifestDescription convertDescription(Map input) { + public KubernetesRollingRestartManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesRollingRestartManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesScaleManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesScaleManifestConverter.java index 8af04bb86f7..bdae2a933c2 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesScaleManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesScaleManifestConverter.java @@ -32,12 +32,12 @@ @Component public class KubernetesScaleManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesScaleManifestOperation(convertDescription(input)); } @Override - public KubernetesScaleManifestDescription convertDescription(Map input) { + public KubernetesScaleManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesScaleManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesUndoRolloutManifestConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesUndoRolloutManifestConverter.java index a341d014391..ae5a268cc74 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesUndoRolloutManifestConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/manifest/KubernetesUndoRolloutManifestConverter.java @@ -33,12 +33,12 @@ public class KubernetesUndoRolloutManifestConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesUndoRolloutManifestOperation(convertDescription(input)); } @Override - public KubernetesUndoRolloutManifestDescription convertDescription(Map input) { + public KubernetesUndoRolloutManifestDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesUndoRolloutManifestDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/servergroup/KubernetesResizeServerGroupConverter.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/servergroup/KubernetesResizeServerGroupConverter.java index d85c5695eec..0747bd04bde 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/servergroup/KubernetesResizeServerGroupConverter.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/converter/servergroup/KubernetesResizeServerGroupConverter.java @@ -34,12 +34,12 @@ public class KubernetesResizeServerGroupConverter extends AbstractAtomicOperationsCredentialsSupport { @Override - public AtomicOperation convertOperation(Map input) { + public AtomicOperation convertOperation(Map input) { return new KubernetesResizeServerGroupOperation(convertDescription(input)); } @Override - public KubernetesResizeServerGroupDescription convertDescription(Map input) { + public KubernetesResizeServerGroupDescription convertDescription(Map input) { return KubernetesAtomicOperationConverterHelper.convertDescription( input, this, KubernetesResizeServerGroupDescription.class); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/deploy/converters/KubernetesAtomicOperationConverterHelper.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/deploy/converters/KubernetesAtomicOperationConverterHelper.java index 6913854c1ae..f098cef120a 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/deploy/converters/KubernetesAtomicOperationConverterHelper.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/deploy/converters/KubernetesAtomicOperationConverterHelper.java @@ -25,7 +25,7 @@ public class KubernetesAtomicOperationConverterHelper { public static T convertDescription( - Map input, + Map input, AbstractAtomicOperationsCredentialsSupport credentialsSupport, Class targetDescriptionType) { String account = (String) input.get("account"); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesDeleteManifestDescription.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesDeleteManifestDescription.java index 3f6674a9415..60f423ad301 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesDeleteManifestDescription.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesDeleteManifestDescription.java @@ -32,7 +32,7 @@ @EqualsAndHashCode(callSuper = true) @Data public class KubernetesDeleteManifestDescription extends KubernetesAtomicOperationDescription { - V1DeleteOptions options; + private V1DeleteOptions options; private String manifestName; private String location; private List kinds = new ArrayList<>(); @@ -55,7 +55,6 @@ public List getAllCoordinates() { } @JsonIgnore - @Deprecated public KubernetesCoordinates getPointCoordinates() { return KubernetesCoordinates.builder() .namespace(location) diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesManifest.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesManifest.java index e4d8e6fad0f..8238827daab 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesManifest.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesManifest.java @@ -37,11 +37,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * Because this class maps the received Kubernetes manifest to an untyped map, it has no choice but + * to perform many unchecked casts when retrieving information. New logic should convert the + * manifest to an appropriate strongly-typed model object instead of adding more unchecked casts + * here. Methods that already perform unchecked casts are annotated to suppress them; please avoid + * adding more such methods if at all possible. + */ public class KubernetesManifest extends HashMap { private static final Logger log = LoggerFactory.getLogger(KubernetesManifest.class); private static final ObjectMapper mapper = new ObjectMapper(); - @Nullable private KubernetesKind computedKind; + @Nullable private transient KubernetesKind computedKind; @Override public KubernetesManifest clone() { @@ -98,6 +105,7 @@ public void setApiVersion(KubernetesApiVersion apiVersion) { } @JsonIgnore + @SuppressWarnings("unchecked") private Map getMetadata() { return Optional.ofNullable((Map) get("metadata")) .orElseThrow(() -> MalformedManifestException.missingField(this, "metadata")); @@ -172,6 +180,7 @@ public List getOwnerReferences() { } @JsonIgnore + @SuppressWarnings("unchecked") public KubernetesManifestSelector getManifestSelector() { if (!containsKey("spec")) { return null; @@ -192,6 +201,7 @@ public KubernetesManifestSelector getManifestSelector() { } @JsonIgnore + @SuppressWarnings("unchecked") public Map getLabels() { Map result = (Map) getMetadata().get("labels"); if (result == null) { @@ -203,6 +213,7 @@ public Map getLabels() { } @JsonIgnore + @SuppressWarnings("unchecked") public Map getAnnotations() { Map result = (Map) getMetadata().get("annotations"); if (result == null) { @@ -214,6 +225,7 @@ public Map getAnnotations() { } @JsonIgnore + @SuppressWarnings("unchecked") public Double getReplicas() { if (!containsKey("spec")) { return null; @@ -227,6 +239,7 @@ public Double getReplicas() { } @JsonIgnore + @SuppressWarnings("unchecked") public void setReplicas(Double replicas) { if (!containsKey("spec")) { return; @@ -240,6 +253,7 @@ public void setReplicas(Double replicas) { } @JsonIgnore + @SuppressWarnings("unchecked") public Optional> getSpecTemplateLabels() { if (!containsKey("spec")) { return Optional.empty(); @@ -274,6 +288,7 @@ public Optional> getSpecTemplateLabels() { } @JsonIgnore + @SuppressWarnings("unchecked") public Optional> getSpecTemplateAnnotations() { if (!containsKey("spec")) { return Optional.empty(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesSourceCapacity.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesSourceCapacity.java index c30e977153a..8190989f27f 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesSourceCapacity.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/description/manifest/KubernetesSourceCapacity.java @@ -17,14 +17,19 @@ package com.netflix.spinnaker.clouddriver.kubernetes.description.manifest; +import com.netflix.spinnaker.clouddriver.kubernetes.description.KubernetesCoordinates; import com.netflix.spinnaker.clouddriver.kubernetes.security.KubernetesCredentials; public class KubernetesSourceCapacity { - public static Double getSourceCapacity( KubernetesManifest manifest, KubernetesCredentials credentials) { KubernetesManifest currentManifest = - credentials.get(manifest.getKind(), manifest.getNamespace(), manifest.getName()); + credentials.get( + KubernetesCoordinates.builder() + .kind(manifest.getKind()) + .namespace(manifest.getNamespace()) + .name(manifest.getName()) + .build()); if (currentManifest != null) { return currentManifest.getReplicas(); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/model/KubernetesV2JobStatus.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/model/KubernetesV2JobStatus.java index b5c95bf3361..872e350115b 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/model/KubernetesV2JobStatus.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/model/KubernetesV2JobStatus.java @@ -28,12 +28,11 @@ import io.kubernetes.client.openapi.models.V1JobStatus; import io.kubernetes.client.openapi.models.V1Pod; import io.kubernetes.client.openapi.models.V1PodStatus; -import java.io.Serializable; import java.util.*; import lombok.Data; @Data -public class KubernetesV2JobStatus implements JobStatus, Serializable { +public class KubernetesV2JobStatus implements JobStatus { String name; String cluster; diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/artifact/KubernetesCleanupArtifactsOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/artifact/KubernetesCleanupArtifactsOperation.java index d3f8fcd16f8..6ff9c9868dc 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/artifact/KubernetesCleanupArtifactsOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/artifact/KubernetesCleanupArtifactsOperation.java @@ -64,7 +64,7 @@ private static Task getTask() { } @Override - public OperationResult operate(List priorOutputs) { + public OperationResult operate(List priorOutputs) { OperationResult result = new OperationResult(); List artifacts = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/job/KubernetesRunJobOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/job/KubernetesRunJobOperation.java index 73d8f5fca47..cd7e2885271 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/job/KubernetesRunJobOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/job/KubernetesRunJobOperation.java @@ -55,7 +55,7 @@ private static Task getTask() { return TaskRepository.threadLocalTask.get(); } - public KubernetesRunJobDeploymentResult operate(List _unused) { + public KubernetesRunJobDeploymentResult operate(List _unused) { getTask().updateStatus(OP_NAME, "Running Kubernetes job..."); KubernetesManifest jobSpec = this.description.getManifest(); KubernetesKind kind = jobSpec.getKind(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/AbstractKubernetesEnableDisableManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/AbstractKubernetesEnableDisableManifestOperation.java index 144f43addd2..14a83e2948b 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/AbstractKubernetesEnableDisableManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/AbstractKubernetesEnableDisableManifestOperation.java @@ -133,7 +133,7 @@ private void op(String loadBalancerName, KubernetesManifest target) { } @Override - public OperationResult operate(List priorOutputs) { + public OperationResult operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting " + getVerbName() + " operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); KubernetesManifest target = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeleteManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeleteManifestOperation.java index 60e309ec595..851473c5389 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeleteManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeleteManifestOperation.java @@ -43,7 +43,7 @@ private static Task getTask() { } @Override - public OperationResult operate(List priorOutputs) { + public OperationResult operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting delete operation..."); List coordinates; diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeployManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeployManifestOperation.java index 889a6350d80..14837675ade 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeployManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesDeployManifestOperation.java @@ -65,14 +65,22 @@ private static Task getTask() { } @Override - public OperationResult operate(List _unused) { + public OperationResult operate(List _unused) { getTask().updateStatus(OP_NAME, "Beginning deployment of manifest..."); List inputManifests = description.getManifests(); List deployManifests = new ArrayList<>(); if (inputManifests == null || inputManifests.isEmpty()) { - log.warn("Relying on deprecated single manifest input: " + description.getManifest()); - inputManifests = ImmutableList.of(description.getManifest()); + // The stage currently only supports using the `manifests` field but we need to continue to + // check `manifest` for backwards compatibility until all existing stages have been updated. + @SuppressWarnings("deprecation") + KubernetesManifest manifest = description.getManifest(); + log.warn( + "Relying on deprecated single manifest input (account: {}, kind: {}, name: {})", + accountName, + manifest.getKind(), + manifest.getName()); + inputManifests = ImmutableList.of(manifest); } inputManifests = inputManifests.stream().filter(Objects::nonNull).collect(Collectors.toList()); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPatchManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPatchManifestOperation.java index 38b05ee5a6a..9e6b4dd2656 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPatchManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPatchManifestOperation.java @@ -55,7 +55,7 @@ private static Task getTask() { } @Override - public OperationResult operate(List _unused) { + public OperationResult operate(List _unused) { updateStatus("Beginning patching of manifest"); KubernetesCoordinates objToPatch = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPauseRolloutManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPauseRolloutManifestOperation.java index 90f8d939859..8cc171521bc 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPauseRolloutManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesPauseRolloutManifestOperation.java @@ -43,7 +43,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting pause rollout operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesResumeRolloutManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesResumeRolloutManifestOperation.java index b25896544d6..7f784ed1025 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesResumeRolloutManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesResumeRolloutManifestOperation.java @@ -43,7 +43,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting resume rollout operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesRollingRestartManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesRollingRestartManifestOperation.java index 46e3def4475..d393da1ffe2 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesRollingRestartManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesRollingRestartManifestOperation.java @@ -43,7 +43,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting rolling restart operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesScaleManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesScaleManifestOperation.java index 8bf4ec24971..0d9e8370391 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesScaleManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesScaleManifestOperation.java @@ -42,7 +42,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting scale operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesUndoRolloutManifestOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesUndoRolloutManifestOperation.java index c86b18e86d1..6d74de04fe2 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesUndoRolloutManifestOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/manifest/KubernetesUndoRolloutManifestOperation.java @@ -43,7 +43,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting undo rollout operation..."); KubernetesCoordinates coordinates = description.getPointCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/servergroup/KubernetesResizeServerGroupOperation.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/servergroup/KubernetesResizeServerGroupOperation.java index 289250034c7..45dedb87bb2 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/servergroup/KubernetesResizeServerGroupOperation.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/op/servergroup/KubernetesResizeServerGroupOperation.java @@ -42,7 +42,7 @@ private static Task getTask() { } @Override - public Void operate(List priorOutputs) { + public Void operate(List priorOutputs) { getTask().updateStatus(OP_NAME, "Starting resize operation..."); KubernetesCoordinates coordinates = description.getCoordinates(); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/security/KubernetesNamedAccountCredentials.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/security/KubernetesNamedAccountCredentials.java index f4c75adbb9d..27e33882ed9 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/security/KubernetesNamedAccountCredentials.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/security/KubernetesNamedAccountCredentials.java @@ -75,6 +75,20 @@ public KubernetesNamedAccountCredentials( this.credentials = credentialFactory.build(managedAccount); } + /** + * This method is deprecated and users should instead supply {@link + * KubernetesNamedAccountCredentials#permissions}. In order to continue to support users who have + * `requiredGroupMembership` in their account config, we still need to override this method. We'll + * need to either communicate the backwards-incompatible change or translate the supplied + * `requiredGroupMembership` into {@link KubernetesNamedAccountCredentials#permissions} before + * removing this override. + */ + @Override + @SuppressWarnings("deprecation") + public List getRequiredGroupMembership() { + return requiredGroupMembership; + } + public List getNamespaces() { return credentials.getDeclaredNamespaces(); } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/artifact/KubernetesArtifactCleanupValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/artifact/KubernetesArtifactCleanupValidator.java index 0df64692a8c..16264b99a4e 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/artifact/KubernetesArtifactCleanupValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/artifact/KubernetesArtifactCleanupValidator.java @@ -36,7 +36,7 @@ public class KubernetesArtifactCleanupValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesCleanupArtifactsDescription description, ValidationErrors errors) {} } diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeleteManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeleteManifestValidator.java index 102661bcf24..28920d907e7 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeleteManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeleteManifestValidator.java @@ -39,7 +39,7 @@ public class KubernetesDeleteManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesDeleteManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeployManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeployManifestValidator.java index fa25af7627e..42ad890444c 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeployManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDeployManifestValidator.java @@ -38,7 +38,7 @@ public class KubernetesDeployManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesDeployManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDisableManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDisableManifestValidator.java index 574ac5c5bb7..18a29b37057 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDisableManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesDisableManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesDisableManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesEnableDisableManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesEnableManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesEnableManifestValidator.java index 470041228c6..65e2dbd72b5 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesEnableManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesEnableManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesEnableManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesEnableDisableManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPatchManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPatchManifestValidator.java index 8af983c7946..2359b75b94f 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPatchManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPatchManifestValidator.java @@ -38,7 +38,7 @@ public class KubernetesPatchManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesPatchManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = new KubernetesValidationUtil("patchKubernetesManifest", errors); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPauseRolloutManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPauseRolloutManifestValidator.java index 579d5b55623..05b5f7b7e45 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPauseRolloutManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesPauseRolloutManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesPauseRolloutManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesPauseRolloutManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesResumeRolloutManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesResumeRolloutManifestValidator.java index b33a9ee0a1d..d937c589580 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesResumeRolloutManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesResumeRolloutManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesResumeRolloutManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesResumeRolloutManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesRollingRestartManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesRollingRestartManifestValidator.java index 4941b7030be..99df672a8cf 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesRollingRestartManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesRollingRestartManifestValidator.java @@ -42,7 +42,7 @@ public KubernetesRollingRestartManifestValidator(AccountCredentialsProvider prov @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesRollingRestartManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesScaleManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesScaleManifestValidator.java index bc71a57096d..f358b14f1bb 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesScaleManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesScaleManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesScaleManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesScaleManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = new KubernetesValidationUtil("scaleKubernetesManifest", errors); diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesUndoRolloutManifestValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesUndoRolloutManifestValidator.java index 2c69eeb5407..98f0965a212 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesUndoRolloutManifestValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/manifest/KubernetesUndoRolloutManifestValidator.java @@ -37,7 +37,7 @@ public class KubernetesUndoRolloutManifestValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesUndoRolloutManifestDescription description, ValidationErrors errors) { KubernetesValidationUtil util = diff --git a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/servergroup/KubernetesResizeServerGroupValidator.java b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/servergroup/KubernetesResizeServerGroupValidator.java index be67defc645..e55ccfded71 100644 --- a/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/servergroup/KubernetesResizeServerGroupValidator.java +++ b/clouddriver-kubernetes/src/main/java/com/netflix/spinnaker/clouddriver/kubernetes/validator/servergroup/KubernetesResizeServerGroupValidator.java @@ -37,7 +37,7 @@ public class KubernetesResizeServerGroupValidator @Override public void validate( - List priorDescriptions, + List priorDescriptions, KubernetesResizeServerGroupDescription description, ValidationErrors errors) { KubernetesValidationUtil util =