diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-11-13 12:03:15 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2019-11-13 12:03:15 +0100 |
commit | 506cfee050f40cc29595f14c07a201193b9fcf89 (patch) | |
tree | eb941d393bcd1d23fbd7fe331d3ebb63e8e09a55 /flags/src | |
parent | e4ed153087ce9760437dbdbee3f8a83cab46c912 (diff) |
Make flag only for NodeRebooter, and remove fetching from environment
Diffstat (limited to 'flags/src')
3 files changed, 3 insertions, 81 deletions
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java index bce487f7eb1..78aec5285cf 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -3,7 +3,6 @@ package com.yahoo.vespa.flags; import com.yahoo.component.Vtag; import com.yahoo.vespa.defaults.Defaults; -import com.yahoo.vespa.flags.custom.NodeMaintainerDurations; import com.yahoo.vespa.flags.custom.PreprovisionCapacity; import java.util.List; @@ -112,9 +111,9 @@ public class Flags { "Takes effect at redeployment", APPLICATION_ID); - public static final UnboundJacksonFlag<NodeMaintainerDurations> NODE_MAINTAINER_DURATIONS = defineJacksonFlag( - "node-maintainer-durations", new NodeMaintainerDurations(), NodeMaintainerDurations.class, - "Provides overrides for durations in NodeRepositoryMaintenance", + public static final UnboundIntFlag REBOOT_INTERVAL_IN_DAYS = defineIntFlag( + "reboot-interval-in-days", 30, + "The reboot interval in days.", "Takes effect on start of config server / controller"); public static final UnboundBooleanFlag ENABLE_DYNAMIC_PROVISIONING = defineFeatureFlag( diff --git a/flags/src/main/java/com/yahoo/vespa/flags/custom/NodeMaintainerDurations.java b/flags/src/main/java/com/yahoo/vespa/flags/custom/NodeMaintainerDurations.java deleted file mode 100644 index 18a041c33d4..00000000000 --- a/flags/src/main/java/com/yahoo/vespa/flags/custom/NodeMaintainerDurations.java +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.flags.custom; - -import com.fasterxml.jackson.annotation.JsonAnyGetter; -import com.fasterxml.jackson.annotation.JsonAnySetter; -import com.fasterxml.jackson.annotation.JsonCreator; - -import java.time.Duration; -import java.util.HashMap; -import java.util.Map; -import java.util.Optional; - -/** - * {@code NodeRepositoryMaintenance} depends on various durations, e.g. the reboot interval. This class - * defines a serialization format for specifying such durations as a JSON object with keys matching - * the name (reboot_interval) and with the value being the duration in second as an integer. - * - * @author hakonhall - */ -public class NodeMaintainerDurations { - @JsonAnySetter - private final Map<String, Long> durations = new HashMap<>(); - - @JsonCreator - public NodeMaintainerDurations() {} - - public NodeMaintainerDurations(Map<String, Long> durations) { this.durations.putAll(durations); } - - @JsonAnyGetter - private Map<String, Long> getDurations() { return durations; } - - public Optional<Duration> getDuration(String durationName) { - return Optional.ofNullable(durations.get(durationName)).map(Duration::ofSeconds); - } -} diff --git a/flags/src/test/java/com/yahoo/vespa/flags/NodeMaintainerDurationsTest.java b/flags/src/test/java/com/yahoo/vespa/flags/NodeMaintainerDurationsTest.java deleted file mode 100644 index d9a2a6fa017..00000000000 --- a/flags/src/test/java/com/yahoo/vespa/flags/NodeMaintainerDurationsTest.java +++ /dev/null @@ -1,42 +0,0 @@ -// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -package com.yahoo.vespa.flags; - -import com.yahoo.test.json.JsonTestHelper; -import com.yahoo.vespa.flags.custom.NodeMaintainerDurations; -import org.junit.Test; - -import java.time.Duration; -import java.util.Map; -import java.util.Optional; - -import static org.junit.Assert.assertEquals; - -/** - * @author hakonhall - */ -public class NodeMaintainerDurationsTest { - @Test - public void testSerialization() { - String flagValueJson = "{ \"reboot_interval\": 3, \"fail_grace\": 7}"; - var rawFlag = JsonNodeRawFlag.fromJson(flagValueJson); - var serializer = new JacksonSerializer<>(NodeMaintainerDurations.class); - var durations = serializer.deserialize(rawFlag); - assertEquals(Optional.of(Duration.ofSeconds(3)), durations.getDuration("reboot_interval")); - assertEquals(Optional.of(Duration.ofSeconds(7)), durations.getDuration("fail_grace")); - assertEquals(Optional.empty(), durations.getDuration("non-existing")); - - RawFlag serializedRawFlag = serializer.serialize(durations); - JsonTestHelper.assertJsonEquals(flagValueJson, serializedRawFlag.asJson()); - } - - @Test - public void testFlag() { - InMemoryFlagSource flagSource = new InMemoryFlagSource(); - var durations = new NodeMaintainerDurations(Map.of("reboot_interval", 3L, "fail_grace", 7L)); - flagSource.withJacksonFlag(Flags.NODE_MAINTAINER_DURATIONS.id(), durations, NodeMaintainerDurations.class); - NodeMaintainerDurations resolvedDurations = Flags.NODE_MAINTAINER_DURATIONS.bindTo(flagSource).value(); - assertEquals(Optional.of(Duration.ofSeconds(3)), resolvedDurations.getDuration("reboot_interval")); - assertEquals(Optional.of(Duration.ofSeconds(7)), resolvedDurations.getDuration("fail_grace")); - assertEquals(Optional.empty(), resolvedDurations.getDuration("non-existing")); - } -} |