Skip to content

Commit

Permalink
refactor(kubernetes): Remove liveManifestCalls flag (#4904)
Browse files Browse the repository at this point in the history
The performance improvements of the past few months have ultimately
led to this flag no longer being read anywhere. Spinnaker now decides
whether to read from the cache or to make a live call based on the
context of the call rather than based on a flag.

From a practical perspective this means that:
* Users who had liveManifestCalls enabled will see the same fast
deploys as always; bugs and race conditions with dynamic target
selection have now been fixed.
* Users who had liveManifestCalls disabled will notice significantly
faster deployments.
  • Loading branch information
ezimanyi committed Sep 17, 2020
1 parent 5ccc108 commit c761925
Show file tree
Hide file tree
Showing 5 changed files with 0 additions and 8 deletions.
Expand Up @@ -22,7 +22,6 @@ kubernetes:
omitKinds: []
customResources: []
cachingPolicies: []
liveManifestCalls: false
oauthScopes: []
oAuthScopes: []
onlySpinnakerManaged: true
Expand All @@ -43,7 +42,6 @@ kubernetes:
omitKinds: []
customResources: []
cachingPolicies: []
liveManifestCalls: false
oauthScopes: []
oAuthScopes: []
onlySpinnakerManaged: true
Expand Down
Expand Up @@ -54,7 +54,6 @@ public static class ManagedAccount {
private List<String> kinds = new ArrayList<>();
private List<String> omitKinds = new ArrayList<>();
private boolean onlySpinnakerManaged = false;
private boolean liveManifestCalls = false;
private Long cacheIntervalSeconds;

public void validate() {
Expand Down
Expand Up @@ -109,8 +109,6 @@ public class KubernetesCredentials {

@Include @Getter private final boolean onlySpinnakerManaged;

@Include @Getter private final boolean liveManifestCalls;

@Include private final boolean checkPermissionsOnStartup;

@Include @Getter private final List<KubernetesCachingPolicy> cachingPolicies;
Expand Down Expand Up @@ -185,7 +183,6 @@ private KubernetesCredentials(
this.context = managedAccount.getContext();

this.onlySpinnakerManaged = managedAccount.isOnlySpinnakerManaged();
this.liveManifestCalls = managedAccount.isLiveManifestCalls();
this.checkPermissionsOnStartup = managedAccount.isCheckPermissionsOnStartup();
this.cachingPolicies = managedAccount.getCachingPolicies();

Expand Down
Expand Up @@ -146,7 +146,6 @@ class KubernetesProviderSynchronizableSpec extends Specification {
accountCredentials.isOnlySpinnakerManaged() == false
accountCredentials.isDebug() == false
accountCredentials.isMetricsEnabled() == true
accountCredentials.isLiveManifestCalls() == false

kubernetesProvider.agents.size() == 2
kubernetesProvider.agents.find { it.agentType == "test-account/KubernetesCoreCachingAgent[1/1]" } != null
Expand Down
Expand Up @@ -118,7 +118,6 @@ private static KubernetesManifest storageClassManifest() {
/** Returns a mock KubernetesCredentials object */
private static KubernetesCredentials mockKubernetesCredentials() {
KubernetesCredentials credentials = mock(KubernetesCredentials.class);
when(credentials.isLiveManifestCalls()).thenReturn(false);
when(credentials.getGlobalKinds()).thenReturn(kindProperties.keySet().asList());
when(credentials.getKindProperties(any(KubernetesKind.class)))
.thenAnswer(invocation -> kindProperties.get(invocation.getArgument(0)));
Expand Down

0 comments on commit c761925

Please sign in to comment.