diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-12-02 17:18:50 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2020-12-03 17:11:36 +0100 |
commit | 1cfd01b4ec24abff206c9fcdb7e20fea8a664c59 (patch) | |
tree | 3714d0d249ba10d23fbab9e316a530b522fa61d9 /node-repository | |
parent | 2d74fce845d4203708efde58a13f6a121c58751b (diff) |
Move definition of permanent flags to separate class
Diffstat (limited to 'node-repository')
6 files changed, 25 insertions, 25 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java index 119f0a69551..e271d5dcd11 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java @@ -13,9 +13,9 @@ import com.yahoo.jdisc.Metric; import com.yahoo.lang.MutableInteger; import com.yahoo.transaction.Mutex; import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.JacksonFlag; import com.yahoo.vespa.flags.ListFlag; +import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.flags.custom.ClusterCapacity; import com.yahoo.vespa.flags.custom.SharedHost; import com.yahoo.vespa.hosted.provision.LockedNodeList; @@ -70,8 +70,8 @@ public class DynamicProvisioningMaintainer extends NodeRepositoryMaintainer { Metric metric) { super(nodeRepository, interval, metric); this.hostProvisioner = hostProvisioner; - this.preprovisionCapacityFlag = Flags.PREPROVISION_CAPACITY.bindTo(flagSource); - this.sharedHostFlag = Flags.SHARED_HOST.bindTo(flagSource); + this.preprovisionCapacityFlag = PermanentFlags.PREPROVISION_CAPACITY.bindTo(flagSource); + this.sharedHostFlag = PermanentFlags.SHARED_HOST.bindTo(flagSource); } @Override diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java index 214872348a3..96d10415e63 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooter.java @@ -3,8 +3,8 @@ package com.yahoo.vespa.hosted.provision.maintenance; import com.yahoo.jdisc.Metric; import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.IntFlag; +import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.History; @@ -32,7 +32,7 @@ public class NodeRebooter extends NodeRepositoryMaintainer { NodeRebooter(NodeRepository nodeRepository, FlagSource flagSource, Metric metric) { super(nodeRepository, Duration.ofMinutes(25), metric); - this.rebootIntervalInDays = Flags.REBOOT_INTERVAL_IN_DAYS.bindTo(flagSource); + this.rebootIntervalInDays = PermanentFlags.REBOOT_INTERVAL_IN_DAYS.bindTo(flagSource); this.random = new Random(nodeRepository.clock().millis()); // seed with clock for test determinism } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java index 289d5a6742a..d20b06becaf 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainer.java @@ -7,7 +7,7 @@ import com.yahoo.jdisc.Metric; import com.yahoo.vespa.flags.BooleanFlag; import com.yahoo.vespa.flags.FetchVector; import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; +import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; @@ -70,7 +70,7 @@ public class PeriodicApplicationMaintainer extends ApplicationMaintainer { } private boolean shouldMaintain(ApplicationId id) { - BooleanFlag skipMaintenanceDeployment = Flags.SKIP_MAINTENANCE_DEPLOYMENT.bindTo(flagSource) + BooleanFlag skipMaintenanceDeployment = PermanentFlags.SKIP_MAINTENANCE_DEPLOYMENT.bindTo(flagSource) .with(FetchVector.Dimension.APPLICATION_ID, id.serializedForm()); return ! skipMaintenanceDeployment.value(); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/JobControlFlags.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/JobControlFlags.java index 2a2a45186f9..79f4403e534 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/JobControlFlags.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/persistence/JobControlFlags.java @@ -3,8 +3,8 @@ package com.yahoo.vespa.hosted.provision.persistence; import com.yahoo.concurrent.maintenance.JobControlState; import com.yahoo.transaction.Mutex; import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.ListFlag; +import com.yahoo.vespa.flags.PermanentFlags; import java.util.Set; @@ -20,7 +20,7 @@ public class JobControlFlags implements JobControlState { public JobControlFlags(CuratorDatabaseClient curator, FlagSource flagSource) { this.curator = curator; - this.inactiveJobsFlag = Flags.INACTIVE_MAINTENANCE_JOBS.bindTo(flagSource); + this.inactiveJobsFlag = PermanentFlags.INACTIVE_MAINTENANCE_JOBS.bindTo(flagSource); } @Override diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java index cc23f29dde6..c67f6657c7f 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java @@ -15,8 +15,8 @@ import com.yahoo.config.provision.NodeType; import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.SystemName; import com.yahoo.config.provision.Zone; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.InMemoryFlagSource; +import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.flags.custom.ClusterCapacity; import com.yahoo.vespa.flags.custom.SharedHost; import com.yahoo.vespa.hosted.provision.Node; @@ -105,7 +105,7 @@ public class DynamicProvisioningMaintainerTest { @Test public void does_not_deprovision_when_preprovisioning_enabled() { var tester = new DynamicProvisioningTester().addInitialNodes(); - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(1, 1, 3, 2, 1.0)), ClusterCapacity.class); + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(1, 1, 3, 2, 1.0)), ClusterCapacity.class); Optional<Node> failedHost = tester.nodeRepository.getNode("host2"); assertTrue(failedHost.isPresent()); @@ -117,7 +117,7 @@ public class DynamicProvisioningMaintainerTest { @Test public void provision_deficit_and_deprovision_excess() { var tester = new DynamicProvisioningTester().addInitialNodes(); - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, 48, 128, 1000, 10.0), new ClusterCapacity(1, 16, 24, 100, 1.0)), ClusterCapacity.class); @@ -149,7 +149,7 @@ public class DynamicProvisioningMaintainerTest { // Makes provisioned hosts 48-128-1000-10 tester.hostProvisioner.provisionSharedHost("host4"); - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, 1, 30, 20, 3.0)), ClusterCapacity.class); @@ -171,7 +171,7 @@ public class DynamicProvisioningMaintainerTest { // Add a second cluster equal to the first. It should fit on existing host3 and hostname100. - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, 1, 30, 20, 3.0), new ClusterCapacity(2, 1, 30, 20, 3.0)), ClusterCapacity.class); @@ -185,7 +185,7 @@ public class DynamicProvisioningMaintainerTest { // in this test, due to skew), so host3 will be deprovisioned when hostname101 is provisioned. // host3 is a 24-64-100-10 while hostname100 is 48-128-1000-10. - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, 1, 30, 20, 3.0), new ClusterCapacity(2, 24, 64, 100, 1.0)), ClusterCapacity.class); @@ -201,7 +201,7 @@ public class DynamicProvisioningMaintainerTest { // If the preprovision capacity is reduced, we should see shared hosts deprovisioned. - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(1, 1, 30, 20, 3.0)), ClusterCapacity.class); @@ -264,7 +264,7 @@ public class DynamicProvisioningMaintainerTest { var tester = new DynamicProvisioningTester().addInitialNodes(); tester.hostProvisioner.provisionSharedHost("host4"); - tester.flagSource.withJacksonFlag(Flags.SHARED_HOST.id(), new SharedHost(null, minCount), SharedHost.class); + tester.flagSource.withJacksonFlag(PermanentFlags.SHARED_HOST.id(), new SharedHost(null, minCount), SharedHost.class); tester.maintainer.maintain(); assertEquals(provisionCount, tester.hostProvisioner.provisionedHosts.size()); assertEquals(deprovisionCount, tester.hostProvisioner.deprovisionedHosts); @@ -289,7 +289,7 @@ public class DynamicProvisioningMaintainerTest { public void test_minimum_capacity() { var tester = new DynamicProvisioningTester(); NodeResources resources1 = new NodeResources(24, 64, 100, 10); - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, resources1.vcpu(), resources1.memoryGb(), resources1.diskGb(), resources1.bandwidthGbps())), ClusterCapacity.class); tester.maintainer.maintain(); @@ -309,7 +309,7 @@ public class DynamicProvisioningMaintainerTest { tester.assertNodesUnchanged(); // Must be able to allocate 2 nodes with "no resource requirement" - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(2, 0, 0, 0, 0.0)), ClusterCapacity.class); @@ -330,11 +330,11 @@ public class DynamicProvisioningMaintainerTest { tester.assertNodesUnchanged(); // Clearing flag does nothing - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), List.of(), ClusterCapacity.class); + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(), ClusterCapacity.class); tester.assertNodesUnchanged(); // Increasing the capacity provisions additional hosts - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(3, 0, 0, 0, 0.0)), ClusterCapacity.class); assertEquals(0, tester.provisionedHostsMatching(sharedHostNodeResources)); @@ -347,7 +347,7 @@ public class DynamicProvisioningMaintainerTest { tester.assertNodesUnchanged(); // Requiring >0 capacity does nothing as long as it fits on the 3 hosts - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(3, resources1.vcpu() - applicationNodeResources.vcpu(), resources1.memoryGb() - applicationNodeResources.memoryGb(), @@ -357,7 +357,7 @@ public class DynamicProvisioningMaintainerTest { tester.assertNodesUnchanged(); // But requiring a bit more in the cluster => provisioning of 2 shared hosts. - tester.flagSource.withListFlag(Flags.PREPROVISION_CAPACITY.id(), + tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(3, resources1.vcpu() - applicationNodeResources.vcpu() + 1, resources1.memoryGb() - applicationNodeResources.memoryGb() + 1, diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooterTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooterTest.java index 36d088a59df..2abe5ed7ebf 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooterTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeRebooterTest.java @@ -5,8 +5,8 @@ import com.yahoo.component.Version; import com.yahoo.config.provision.NodeResources; import com.yahoo.config.provision.NodeType; import com.yahoo.vespa.curator.mock.MockCurator; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.flags.InMemoryFlagSource; +import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.provisioning.ProvisioningTester; @@ -142,7 +142,7 @@ public class NodeRebooterTest { } private static ProvisioningTester createTester(Duration rebootInterval, InMemoryFlagSource flagSource) { - flagSource = flagSource.withIntFlag(Flags.REBOOT_INTERVAL_IN_DAYS.id(), (int) rebootInterval.toDays()); + flagSource = flagSource.withIntFlag(PermanentFlags.REBOOT_INTERVAL_IN_DAYS.id(), (int) rebootInterval.toDays()); ProvisioningTester tester = new ProvisioningTester.Builder().flagSource(flagSource).build(); tester.clock().setInstant(Instant.ofEpochMilli(1605522619000L)); // Use a fixed random seed ((MockCurator) tester.getCurator()).setZooKeeperEnsembleConnectionSpec("zk1.host:1,zk2.host:2,zk3.host:3"); |