summaryrefslogtreecommitdiffstats
path: root/flags
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-11-13 12:03:15 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-11-13 12:03:15 +0100
commit506cfee050f40cc29595f14c07a201193b9fcf89 (patch)
treeeb941d393bcd1d23fbd7fe331d3ebb63e8e09a55 /flags
parente4ed153087ce9760437dbdbee3f8a83cab46c912 (diff)
Make flag only for NodeRebooter, and remove fetching from environment
Diffstat (limited to 'flags')
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java7
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/custom/NodeMaintainerDurations.java35
-rw-r--r--flags/src/test/java/com/yahoo/vespa/flags/NodeMaintainerDurationsTest.java42
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"));
- }
-}