summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-11-05 15:14:09 +0100
committerMartin Polden <mpolden@mpolden.no>2021-11-08 10:44:19 +0100
commitfd25b2ebd97a8f2b5f608ef3f0c5e884b55ac4cc (patch)
treedb765b2a368be589f663a932abf9a7d6001680b7 /controller-server
parentd4e336a38d8a6222053dc68447b707b172d7ef79 (diff)
Rename GlobalRouting -> RoutingStatus
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java20
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java52
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java20
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingStatus.java (renamed from controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/GlobalRouting.java)39
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/Status.java22
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/ZoneRoutingPolicy.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java8
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ZoneRoutingPolicySerializerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java88
13 files changed, 151 insertions, 150 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
index 652f85a7508..e10dcfd3b3b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/CuratorDb.java
@@ -29,7 +29,7 @@ import com.yahoo.vespa.hosted.controller.deployment.Step;
import com.yahoo.vespa.hosted.controller.dns.NameServiceQueue;
import com.yahoo.vespa.hosted.controller.api.integration.vcmr.VespaChangeRequest;
import com.yahoo.vespa.hosted.controller.notification.Notification;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicyId;
import com.yahoo.vespa.hosted.controller.routing.ZoneRoutingPolicy;
@@ -535,7 +535,7 @@ public class CuratorDb {
public ZoneRoutingPolicy readZoneRoutingPolicy(ZoneId zone) {
return readSlime(zoneRoutingPolicyPath(zone)).map(data -> zoneRoutingPolicySerializer.fromSlime(zone, data))
- .orElse(new ZoneRoutingPolicy(zone, GlobalRouting.DEFAULT_STATUS));
+ .orElse(new ZoneRoutingPolicy(zone, RoutingStatus.DEFAULT));
}
// -------------- Application endpoint certificates ----------------------------
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
index d707b769f29..e80ee283aee 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializer.java
@@ -11,7 +11,7 @@ import com.yahoo.slime.Inspector;
import com.yahoo.slime.Slime;
import com.yahoo.slime.SlimeUtils;
import com.yahoo.vespa.hosted.controller.application.EndpointId;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicyId;
import com.yahoo.vespa.hosted.controller.routing.Status;
@@ -66,7 +66,7 @@ public class RoutingPolicySerializer {
var applicationEndpointsArray = policyObject.setArray(applicationEndpointsField);
policy.applicationEndpoints().forEach(endpointId -> applicationEndpointsArray.addString(endpointId.id()));
policyObject.setBool(loadBalancerActiveField, policy.status().isActive());
- globalRoutingToSlime(policy.status().globalRouting(), policyObject.setObject(globalRoutingField));
+ globalRoutingToSlime(policy.status().routingStatus(), policyObject.setObject(globalRoutingField));
});
return slime;
}
@@ -94,17 +94,17 @@ public class RoutingPolicySerializer {
return Collections.unmodifiableMap(policies);
}
- public void globalRoutingToSlime(GlobalRouting globalRouting, Cursor object) {
- object.setString(statusField, globalRouting.status().name());
- object.setString(agentField, globalRouting.agent().name());
- object.setLong(changedAtField, globalRouting.changedAt().toEpochMilli());
+ public void globalRoutingToSlime(RoutingStatus routingStatus, Cursor object) {
+ object.setString(statusField, routingStatus.value().name());
+ object.setString(agentField, routingStatus.agent().name());
+ object.setLong(changedAtField, routingStatus.changedAt().toEpochMilli());
}
- public GlobalRouting globalRoutingFromSlime(Inspector object) {
- var status = GlobalRouting.Status.valueOf(object.field(statusField).asString());
- var agent = GlobalRouting.Agent.valueOf(object.field(agentField).asString());
+ public RoutingStatus globalRoutingFromSlime(Inspector object) {
+ var status = RoutingStatus.Value.valueOf(object.field(statusField).asString());
+ var agent = RoutingStatus.Agent.valueOf(object.field(agentField).asString());
var changedAt = SlimeUtils.optionalInstant(object.field(changedAtField)).orElse(Instant.EPOCH);
- return new GlobalRouting(status, agent, changedAt);
+ return new RoutingStatus(status, agent, changedAt);
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
index 17b15230458..ba565a63996 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java
@@ -100,7 +100,7 @@ import com.yahoo.vespa.hosted.controller.persistence.SupportAccessSerializer;
import com.yahoo.vespa.hosted.controller.rotation.RotationId;
import com.yahoo.vespa.hosted.controller.rotation.RotationState;
import com.yahoo.vespa.hosted.controller.rotation.RotationStatus;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.security.AccessControlRequests;
import com.yahoo.vespa.hosted.controller.security.Credentials;
import com.yahoo.vespa.hosted.controller.support.access.SupportAccess;
@@ -1561,8 +1561,8 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
/** Set the global endpoint status for given deployment. This only applies to global endpoints backed by a cloud service */
private void setGlobalEndpointStatus(DeploymentId deployment, boolean inService, HttpRequest request) {
- var agent = isOperator(request) ? GlobalRouting.Agent.operator : GlobalRouting.Agent.tenant;
- var status = inService ? GlobalRouting.Status.in : GlobalRouting.Status.out;
+ var agent = isOperator(request) ? RoutingStatus.Agent.operator : RoutingStatus.Agent.tenant;
+ var status = inService ? RoutingStatus.Value.in : RoutingStatus.Value.out;
controller.routing().policies().setRoutingStatus(deployment, status, agent);
}
@@ -1570,7 +1570,7 @@ public class ApplicationApiHandler extends AuditLoggingRequestHandler {
private void setGlobalRotationStatus(DeploymentId deployment, boolean inService, HttpRequest request) {
var requestData = toSlime(request.getData()).get();
var reason = mandatory("reason", requestData).asString();
- var agent = isOperator(request) ? GlobalRouting.Agent.operator : GlobalRouting.Agent.tenant;
+ var agent = isOperator(request) ? RoutingStatus.Agent.operator : RoutingStatus.Agent.tenant;
long timestamp = controller.clock().instant().getEpochSecond();
var status = inService ? EndpointStatus.Status.in : EndpointStatus.Status.out;
var endpointStatus = new EndpointStatus(status, reason, agent.name(), timestamp);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java
index 334ab0b9f73..e47dd45e4d7 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/routing/RoutingApiHandler.java
@@ -24,7 +24,7 @@ import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.application.Endpoint;
import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
import com.yahoo.vespa.hosted.controller.auditlog.AuditLoggingRequestHandler;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.yolean.Exceptions;
import java.net.URI;
@@ -210,7 +210,7 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
private HttpResponse setZoneStatus(Path path, boolean in) {
var zone = zoneFrom(path);
if (controller.zoneRegistry().zones().directlyRouted().ids().contains(zone)) {
- var status = in ? GlobalRouting.Status.in : GlobalRouting.Status.out;
+ var status = in ? RoutingStatus.Value.in : RoutingStatus.Value.out;
controller.routing().policies().setRoutingStatus(zone, status);
} else {
controller.serviceRegistry().configServer().setGlobalRotationStatus(zone, in);
@@ -234,8 +234,8 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
} else {
// Rotation status per zone only exposes in/out status, no agent or time of change.
var in = controller.serviceRegistry().configServer().getGlobalRotationStatus(zone);
- var globalRouting = new GlobalRouting(in ? GlobalRouting.Status.in : GlobalRouting.Status.out,
- GlobalRouting.Agent.operator, Instant.EPOCH);
+ var globalRouting = new RoutingStatus(in ? RoutingStatus.Value.in : RoutingStatus.Value.out,
+ RoutingStatus.Agent.operator, Instant.EPOCH);
zoneStatusToSlime(zoneObject, zone, globalRouting, RoutingMethod.shared);
}
}
@@ -243,8 +243,8 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
private HttpResponse setDeploymentStatus(Path path, boolean in) {
var deployment = deploymentFrom(path);
var instance = controller.applications().requireInstance(deployment.applicationId());
- var status = in ? GlobalRouting.Status.in : GlobalRouting.Status.out;
- var agent = GlobalRouting.Agent.operator; // Always operator as this is an operator API
+ var status = in ? RoutingStatus.Value.in : RoutingStatus.Value.out;
+ var agent = RoutingStatus.Agent.operator; // Always operator as this is an operator API
requireDeployment(deployment, instance);
// Set rotation status, if rotations can route to this zone
@@ -297,33 +297,33 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
}
- private Optional<GlobalRouting> sharedGlobalRoutingStatus(DeploymentId deploymentId) {
+ private Optional<RoutingStatus> sharedGlobalRoutingStatus(DeploymentId deploymentId) {
if (rotationCanRouteTo(deploymentId.zoneId())) {
var rotationStatus = controller.routing().globalRotationStatus(deploymentId);
// Status is equal across all global endpoints, as the status is per deployment, not per endpoint.
var endpointStatus = rotationStatus.values().stream().findFirst();
if (endpointStatus.isPresent()) {
var changedAt = Instant.ofEpochSecond(endpointStatus.get().getEpoch());
- GlobalRouting.Agent agent;
+ RoutingStatus.Agent agent;
try {
- agent = GlobalRouting.Agent.valueOf(endpointStatus.get().getAgent());
+ agent = RoutingStatus.Agent.valueOf(endpointStatus.get().getAgent());
} catch (IllegalArgumentException e) {
- agent = GlobalRouting.Agent.unknown;
+ agent = RoutingStatus.Agent.unknown;
}
var status = endpointStatus.get().getStatus() == EndpointStatus.Status.in
- ? GlobalRouting.Status.in
- : GlobalRouting.Status.out;
- return Optional.of(new GlobalRouting(status, agent, changedAt));
+ ? RoutingStatus.Value.in
+ : RoutingStatus.Value.out;
+ return Optional.of(new RoutingStatus(status, agent, changedAt));
}
}
return Optional.empty();
}
- private List<GlobalRouting> directGlobalRoutingStatus(DeploymentId deploymentId) {
+ private List<RoutingStatus> directGlobalRoutingStatus(DeploymentId deploymentId) {
return controller.routing().policies().get(deploymentId).values().stream()
.filter(p -> ! p.instanceEndpoints().isEmpty()) // This policy does not apply to a global endpoint
.filter(p -> controller.zoneRegistry().routingMethods(p.id().zone()).contains(RoutingMethod.exclusive))
- .map(p -> p.status().globalRouting())
+ .map(p -> p.status().routingStatus())
.collect(Collectors.toList());
}
@@ -335,23 +335,23 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
return controller.zoneRegistry().routingMethods(zone).stream().anyMatch(RoutingMethod::isShared);
}
- private static void zoneStatusToSlime(Cursor object, ZoneId zone, GlobalRouting globalRouting, RoutingMethod method) {
+ private static void zoneStatusToSlime(Cursor object, ZoneId zone, RoutingStatus routingStatus, RoutingMethod method) {
object.setString("routingMethod", asString(method));
object.setString("environment", zone.environment().value());
object.setString("region", zone.region().value());
- object.setString("status", asString(globalRouting.status()));
- object.setString("agent", asString(globalRouting.agent()));
- object.setLong("changedAt", globalRouting.changedAt().toEpochMilli());
+ object.setString("status", asString(routingStatus.value()));
+ object.setString("agent", asString(routingStatus.agent()));
+ object.setLong("changedAt", routingStatus.changedAt().toEpochMilli());
}
- private static void deploymentStatusToSlime(Cursor object, DeploymentId deployment, GlobalRouting globalRouting, RoutingMethod method) {
+ private static void deploymentStatusToSlime(Cursor object, DeploymentId deployment, RoutingStatus routingStatus, RoutingMethod method) {
object.setString("routingMethod", asString(method));
object.setString("instance", deployment.applicationId().serializedForm());
object.setString("environment", deployment.zoneId().environment().value());
object.setString("region", deployment.zoneId().region().value());
- object.setString("status", asString(globalRouting.status()));
- object.setString("agent", asString(globalRouting.agent()));
- object.setLong("changedAt", globalRouting.changedAt().toEpochMilli());
+ object.setString("status", asString(routingStatus.value()));
+ object.setString("agent", asString(routingStatus.agent()));
+ object.setLong("changedAt", routingStatus.changedAt().toEpochMilli());
}
private static void endpointToSlime(Cursor object, Endpoint endpoint) {
@@ -401,15 +401,15 @@ public class RoutingApiHandler extends AuditLoggingRequestHandler {
return "true".equals(request.getProperty("recursive"));
}
- private static String asString(GlobalRouting.Status status) {
- switch (status) {
+ private static String asString(RoutingStatus.Value value) {
+ switch (value) {
case in: return "in";
case out: return "out";
default: return "unknown";
}
}
- private static String asString(GlobalRouting.Agent agent) {
+ private static String asString(RoutingStatus.Agent agent) {
switch (agent) {
case operator: return "operator";
case system: return "system";
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
index fdfb224b8ca..b86e3637fdb 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingPolicies.java
@@ -100,9 +100,9 @@ public class RoutingPolicies {
}
/** Set the status of all global endpoints in given zone */
- public void setRoutingStatus(ZoneId zone, GlobalRouting.Status status) {
+ public void setRoutingStatus(ZoneId zone, RoutingStatus.Value value) {
try (var lock = db.lockRoutingPolicies()) {
- db.writeZoneRoutingPolicy(new ZoneRoutingPolicy(zone, GlobalRouting.status(status, GlobalRouting.Agent.operator,
+ db.writeZoneRoutingPolicy(new ZoneRoutingPolicy(zone, RoutingStatus.create(value, RoutingStatus.Agent.operator,
controller.clock().instant())));
Map<ApplicationId, Map<RoutingPolicyId, RoutingPolicy>> allPolicies = db.readRoutingPolicies();
for (var applicationPolicies : allPolicies.values()) {
@@ -112,13 +112,13 @@ public class RoutingPolicies {
}
/** Set the status of all global endpoints for given deployment */
- public void setRoutingStatus(DeploymentId deployment, GlobalRouting.Status status, GlobalRouting.Agent agent) {
+ public void setRoutingStatus(DeploymentId deployment, RoutingStatus.Value value, RoutingStatus.Agent agent) {
try (var lock = db.lockRoutingPolicies()) {
var policies = get(deployment.applicationId());
var newPolicies = new LinkedHashMap<>(policies);
for (var policy : policies.values()) {
if (!policy.appliesTo(deployment)) continue;
- var newPolicy = policy.with(policy.status().with(GlobalRouting.status(status, agent,
+ var newPolicy = policy.with(policy.status().with(RoutingStatus.create(value, agent,
controller.clock().instant())));
newPolicies.put(policy.id(), newPolicy);
}
@@ -248,10 +248,10 @@ public class RoutingPolicies {
var newPolicy = new RoutingPolicy(policyId, loadBalancer.hostname().get(), loadBalancer.dnsZone(),
allocation.instanceEndpointsOf(loadBalancer),
allocation.applicationEndpointsOf(loadBalancer),
- new Status(isActive(loadBalancer), GlobalRouting.DEFAULT_STATUS));
+ new Status(isActive(loadBalancer), RoutingStatus.DEFAULT));
// Preserve global routing status for existing policy
if (existingPolicy != null) {
- newPolicy = newPolicy.with(newPolicy.status().with(existingPolicy.status().globalRouting()));
+ newPolicy = newPolicy.with(newPolicy.status().with(existingPolicy.status().routingStatus()));
}
updateZoneDnsOf(newPolicy);
policies.put(newPolicy.id(), newPolicy);
@@ -374,12 +374,12 @@ public class RoutingPolicies {
return Collections.unmodifiableMap(routingTable);
}
- /** Returns whether the endpoints of given policy are globally configured {@link GlobalRouting.Status#out} */
+ /** Returns whether the endpoints of given policy are globally configured {@link RoutingStatus.Value#out} */
private static boolean isConfiguredOut(ZoneRoutingPolicy zonePolicy, RoutingPolicy policy, Set<ZoneId> inactiveZones) {
return isConfiguredOut(policy, Optional.of(zonePolicy), inactiveZones);
}
- /** Returns whether the endpoints of given policy are configured {@link GlobalRouting.Status#out} */
+ /** Returns whether the endpoints of given policy are configured {@link RoutingStatus.Value#out} */
private static boolean isConfiguredOut(RoutingPolicy policy, Set<ZoneId> inactiveZones) {
return isConfiguredOut(policy, Optional.empty(), inactiveZones);
}
@@ -389,8 +389,8 @@ public class RoutingPolicies {
// - zone level (ZoneRoutingPolicy, only applies to global endpoints)
// - deployment level (RoutingPolicy)
// - application package level (deployment.xml)
- return (zonePolicy.isPresent() && zonePolicy.get().globalRouting().status() == GlobalRouting.Status.out) ||
- policy.status().globalRouting().status() == GlobalRouting.Status.out ||
+ return (zonePolicy.isPresent() && zonePolicy.get().globalRouting().value() == RoutingStatus.Value.out) ||
+ policy.status().routingStatus().value() == RoutingStatus.Value.out ||
inactiveZones.contains(policy.id().zone());
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/GlobalRouting.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingStatus.java
index 1b97397b7c2..58f0005d488 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/GlobalRouting.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/RoutingStatus.java
@@ -5,34 +5,35 @@ import java.time.Instant;
import java.util.Objects;
/**
- * Represents the global routing status of a {@link RoutingPolicy} or {@link ZoneRoutingPolicy}. This contains the
- * time global routing status was last changed and who changed it.
+ * Represents the routing status of a {@link RoutingPolicy} or {@link ZoneRoutingPolicy}.
+ *
+ * This describes which agent last changed the routing status and at which time.
*
* This is immutable.
*
* @author mpolden
*/
-public class GlobalRouting {
+public class RoutingStatus {
- public static final GlobalRouting DEFAULT_STATUS = new GlobalRouting(Status.in, Agent.system, Instant.EPOCH);
+ public static final RoutingStatus DEFAULT = new RoutingStatus(Value.in, Agent.system, Instant.EPOCH);
- private final Status status;
+ private final Value value;
private final Agent agent;
private final Instant changedAt;
/** DO NOT USE. Public for serialization purposes */
- public GlobalRouting(Status status, Agent agent, Instant changedAt) {
- this.status = Objects.requireNonNull(status, "status must be non-null");
+ public RoutingStatus(Value value, Agent agent, Instant changedAt) {
+ this.value = Objects.requireNonNull(value, "value must be non-null");
this.agent = Objects.requireNonNull(agent, "agent must be non-null");
this.changedAt = Objects.requireNonNull(changedAt, "changedAt must be non-null");
}
/**
- * The wanted status of this. The system will try to set this status, but there are constraints that may lead to
- * the effective status not matching this. See {@link RoutingPolicies}.
+ * The wanted value of this. The system will try to set this value, but there are constraints that may lead to
+ * the effective value not matching this. See {@link RoutingPolicies}.
*/
- public Status status() {
- return status;
+ public Value value() {
+ return value;
}
/** The agent who last changed this */
@@ -49,28 +50,28 @@ public class GlobalRouting {
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- GlobalRouting that = (GlobalRouting) o;
- return status == that.status &&
+ RoutingStatus that = (RoutingStatus) o;
+ return value == that.value &&
agent == that.agent &&
changedAt.equals(that.changedAt);
}
@Override
public int hashCode() {
- return Objects.hash(status, agent, changedAt);
+ return Objects.hash(value, agent, changedAt);
}
@Override
public String toString() {
- return "status " + status + ", changed by " + agent + " @ " + changedAt;
+ return "status " + value + ", changed by " + agent + " @ " + changedAt;
}
- public static GlobalRouting status(Status status, Agent agent, Instant instant) {
- return new GlobalRouting(status, agent, instant);
+ public static RoutingStatus create(Value value, Agent agent, Instant instant) {
+ return new RoutingStatus(value, agent, instant);
}
// Used in serialization. Do not change.
- public enum Status {
+ public enum Value {
/** Status is determined by health checks **/
in,
@@ -83,7 +84,7 @@ public class GlobalRouting {
operator,
tenant,
system,
- unknown, // For compatibility old values from /routing/v1 on config server, which may contain a specific user name.
+ unknown, // For compatibility old values from /routing/v1 on config server, which may contain a specific username.
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/Status.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/Status.java
index c0918a7cbb4..28ca6b7e1ac 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/Status.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/Status.java
@@ -13,12 +13,12 @@ import java.util.Objects;
public class Status {
private final boolean active;
- private final GlobalRouting globalRouting;
+ private final RoutingStatus routingStatus;
/** DO NOT USE. Public for serialization purposes */
- public Status(boolean active, GlobalRouting globalRouting) {
+ public Status(boolean active, RoutingStatus routingStatus) {
this.active = active;
- this.globalRouting = Objects.requireNonNull(globalRouting, "globalRouting must be non-null");
+ this.routingStatus = Objects.requireNonNull(routingStatus, "globalRouting must be non-null");
}
/** Returns whether this is considered active according to the load balancer status */
@@ -26,14 +26,14 @@ public class Status {
return active;
}
- /** Return status of global routing */
- public GlobalRouting globalRouting() {
- return globalRouting;
+ /** Return status of routing */
+ public RoutingStatus routingStatus() {
+ return routingStatus;
}
- /** Returns a copy of this with global routing changed */
- public Status with(GlobalRouting globalRouting) {
- return new Status(active, globalRouting);
+ /** Returns a copy of this with routing status changed */
+ public Status with(RoutingStatus routingStatus) {
+ return new Status(active, routingStatus);
}
@Override
@@ -42,12 +42,12 @@ public class Status {
if (o == null || getClass() != o.getClass()) return false;
Status status = (Status) o;
return active == status.active &&
- globalRouting.equals(status.globalRouting);
+ routingStatus.equals(status.routingStatus);
}
@Override
public int hashCode() {
- return Objects.hash(active, globalRouting);
+ return Objects.hash(active, routingStatus);
}
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/ZoneRoutingPolicy.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/ZoneRoutingPolicy.java
index 8d7d17e9736..4a45d4e411a 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/ZoneRoutingPolicy.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/routing/ZoneRoutingPolicy.java
@@ -15,11 +15,11 @@ import java.util.Objects;
public class ZoneRoutingPolicy {
private final ZoneId zone;
- private final GlobalRouting globalRouting;
+ private final RoutingStatus routingStatus;
- public ZoneRoutingPolicy(ZoneId zone, GlobalRouting globalRouting) {
+ public ZoneRoutingPolicy(ZoneId zone, RoutingStatus routingStatus) {
this.zone = Objects.requireNonNull(zone, "zone must be non-null");
- this.globalRouting = Objects.requireNonNull(globalRouting, "globalRouting must be non-null");
+ this.routingStatus = Objects.requireNonNull(routingStatus, "globalRouting must be non-null");
}
/** The zone this applies to */
@@ -28,8 +28,8 @@ public class ZoneRoutingPolicy {
}
/** The status of global routing */
- public GlobalRouting globalRouting() {
- return globalRouting;
+ public RoutingStatus globalRouting() {
+ return routingStatus;
}
@Override
@@ -38,12 +38,12 @@ public class ZoneRoutingPolicy {
if (o == null || getClass() != o.getClass()) return false;
ZoneRoutingPolicy that = (ZoneRoutingPolicy) o;
return zone.equals(that.zone) &&
- globalRouting.equals(that.globalRouting);
+ routingStatus.equals(that.routingStatus);
}
@Override
public int hashCode() {
- return Objects.hash(zone, globalRouting);
+ return Objects.hash(zone, routingStatus);
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
index f5173b7bdf4..7cb245bd82a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
@@ -35,7 +35,7 @@ import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
import com.yahoo.vespa.hosted.controller.integration.ConfigServerMock;
import com.yahoo.vespa.hosted.controller.maintenance.JobRunner;
import com.yahoo.vespa.hosted.controller.maintenance.NameServiceDispatcher;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicyId;
import com.yahoo.vespa.hosted.controller.routing.Status;
@@ -245,7 +245,7 @@ public class DeploymentContext {
Optional.empty(),
Set.of(EndpointId.of("default")),
Set.of(),
- new Status(false, GlobalRouting.DEFAULT_STATUS)));
+ new Status(false, RoutingStatus.DEFAULT)));
tester.controller().curator().writeRoutingPolicies(instanceId, policies);
return this;
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
index f4475038b17..b867e7639e2 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/RoutingPolicySerializerTest.java
@@ -7,7 +7,7 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.HostName;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.application.EndpointId;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicy;
import com.yahoo.vespa.hosted.controller.routing.RoutingPolicyId;
import com.yahoo.vespa.hosted.controller.routing.Status;
@@ -43,15 +43,15 @@ public class RoutingPolicySerializerTest {
Optional.of("zone1"),
instanceEndpoints,
applicationEndpoints,
- new Status(true, GlobalRouting.DEFAULT_STATUS)),
+ new Status(true, RoutingStatus.DEFAULT)),
id2, new RoutingPolicy(id2,
HostName.from("long-and-ugly-name-2"),
Optional.empty(),
instanceEndpoints,
Set.of(),
new Status(false,
- new GlobalRouting(GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant,
+ new RoutingStatus(RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant,
Instant.ofEpochSecond(123)))));
var serialized = serializer.fromSlime(owner, serializer.toSlime(policies));
assertEquals(policies.size(), serialized.size());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ZoneRoutingPolicySerializerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ZoneRoutingPolicySerializerTest.java
index 4cc6bd93d01..234de233571 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ZoneRoutingPolicySerializerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/persistence/ZoneRoutingPolicySerializerTest.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.persistence;
import com.yahoo.config.provision.zone.ZoneId;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.routing.ZoneRoutingPolicy;
import org.junit.Test;
@@ -20,8 +20,8 @@ public class ZoneRoutingPolicySerializerTest {
var serializer = new ZoneRoutingPolicySerializer(new RoutingPolicySerializer());
var zone = ZoneId.from("prod", "us-north-1");
var policy = new ZoneRoutingPolicy(zone,
- GlobalRouting.status(GlobalRouting.Status.out, GlobalRouting.Agent.operator,
- Instant.ofEpochMilli(123)));
+ RoutingStatus.create(RoutingStatus.Value.out, RoutingStatus.Agent.operator,
+ Instant.ofEpochMilli(123)));
var serialized = serializer.fromSlime(zone, serializer.toSlime(policy));
assertEquals(policy, serialized);
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
index e204a8f820d..e322205f064 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java
@@ -67,7 +67,7 @@ import com.yahoo.vespa.hosted.controller.notification.Notification;
import com.yahoo.vespa.hosted.controller.notification.NotificationSource;
import com.yahoo.vespa.hosted.controller.restapi.ContainerTester;
import com.yahoo.vespa.hosted.controller.restapi.ControllerContainerTest;
-import com.yahoo.vespa.hosted.controller.routing.GlobalRouting;
+import com.yahoo.vespa.hosted.controller.routing.RoutingStatus;
import com.yahoo.vespa.hosted.controller.security.AthenzCredentials;
import com.yahoo.vespa.hosted.controller.security.AthenzTenantSpec;
import com.yahoo.vespa.hosted.controller.support.access.SupportAccessGrant;
@@ -957,14 +957,14 @@ public class ApplicationApiTest extends ControllerContainerTest {
new File("global-rotation-put.json"));
// Status of routing policy is changed
- assertGlobalRouting(app.deploymentIdIn(westZone), GlobalRouting.Status.out, GlobalRouting.Agent.tenant);
+ assertGlobalRouting(app.deploymentIdIn(westZone), RoutingStatus.Value.out, RoutingStatus.Agent.tenant);
// DELETE global rotation override status
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/instance/instance1/environment/prod/region/us-west-1/global-rotation/override", DELETE)
.userIdentity(USER_ID)
.data("{\"reason\":\"unit-test\"}"),
new File("global-rotation-delete.json"));
- assertGlobalRouting(app.deploymentIdIn(westZone), GlobalRouting.Status.in, GlobalRouting.Agent.tenant);
+ assertGlobalRouting(app.deploymentIdIn(westZone), RoutingStatus.Value.in, RoutingStatus.Agent.tenant);
// SET global rotation override status by operator
addUserToHostedOperatorRole(HostedAthenzIdentities.from(HOSTED_VESPA_OPERATOR));
@@ -972,7 +972,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
.userIdentity(HOSTED_VESPA_OPERATOR)
.data("{\"reason\":\"unit-test\"}"),
new File("global-rotation-put.json"));
- assertGlobalRouting(app.deploymentIdIn(westZone), GlobalRouting.Status.out, GlobalRouting.Agent.operator);
+ assertGlobalRouting(app.deploymentIdIn(westZone), RoutingStatus.Value.out, RoutingStatus.Agent.operator);
}
@Test
@@ -1865,14 +1865,14 @@ public class ApplicationApiTest extends ControllerContainerTest {
"Failed to deploy: Out of capacity");
}
- private void assertGlobalRouting(DeploymentId deployment, GlobalRouting.Status status, GlobalRouting.Agent agent) {
+ private void assertGlobalRouting(DeploymentId deployment, RoutingStatus.Value value, RoutingStatus.Agent agent) {
var changedAt = tester.controller().clock().instant();
var westPolicies = tester.controller().routing().policies().get(deployment);
assertEquals(1, westPolicies.size());
var westPolicy = westPolicies.values().iterator().next();
- assertEquals(status, westPolicy.status().globalRouting().status());
- assertEquals(agent, westPolicy.status().globalRouting().agent());
- assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), westPolicy.status().globalRouting().changedAt());
+ assertEquals(value, westPolicy.status().routingStatus().value());
+ assertEquals(agent, westPolicy.status().routingStatus().agent());
+ assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), westPolicy.status().routingStatus().changedAt());
}
private static class RequestBuilder implements Supplier<Request> {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
index 5fffa640811..943dd89efa7 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/routing/RoutingPoliciesTest.java
@@ -166,8 +166,8 @@ public class RoutingPoliciesTest {
tester.policiesOf(context.instance().id()).size());
// A zone in shared region is set out
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone4), GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone4), RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
// Weight of inactive zone is set to zero
@@ -177,16 +177,16 @@ public class RoutingPoliciesTest {
// Other zone in shared region is set out. Entire record group for the region is removed as all zones in the
// region are out (weight sum = 0)
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone3), GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone3), RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, ImmutableMap.of(zone1, 1L));
// Everything is set back in
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone3), GlobalRouting.Status.in,
- GlobalRouting.Agent.tenant);
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone4), GlobalRouting.Status.in,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone3), RoutingStatus.Value.in,
+ RoutingStatus.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone4), RoutingStatus.Value.in,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, ImmutableMap.of(zone1, 1L,
zone3, 1L,
@@ -481,8 +481,8 @@ public class RoutingPoliciesTest {
// Global routing status is overridden in one zone
var changedAt = tester.controllerTester().clock().instant();
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
// Inactive zone is removed from global DNS record
@@ -491,15 +491,15 @@ public class RoutingPoliciesTest {
// Status details is stored in policy
var policy1 = tester.routingPolicies().get(context.deploymentIdIn(zone1)).values().iterator().next();
- assertEquals(GlobalRouting.Status.out, policy1.status().globalRouting().status());
- assertEquals(GlobalRouting.Agent.tenant, policy1.status().globalRouting().agent());
- assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), policy1.status().globalRouting().changedAt());
+ assertEquals(RoutingStatus.Value.out, policy1.status().routingStatus().value());
+ assertEquals(RoutingStatus.Agent.tenant, policy1.status().routingStatus().agent());
+ assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), policy1.status().routingStatus().changedAt());
// Other zone remains in
var policy2 = tester.routingPolicies().get(context.deploymentIdIn(zone2)).values().iterator().next();
- assertEquals(GlobalRouting.Status.in, policy2.status().globalRouting().status());
- assertEquals(GlobalRouting.Agent.system, policy2.status().globalRouting().agent());
- assertEquals(Instant.EPOCH, policy2.status().globalRouting().changedAt());
+ assertEquals(RoutingStatus.Value.in, policy2.status().routingStatus().value());
+ assertEquals(RoutingStatus.Agent.system, policy2.status().routingStatus().agent());
+ assertEquals(Instant.EPOCH, policy2.status().routingStatus().changedAt());
// Next deployment does not affect status
context.submit(applicationPackage).deferLoadBalancerProvisioningIn(Environment.prod).deploy();
@@ -510,15 +510,15 @@ public class RoutingPoliciesTest {
// Deployment is set back in
tester.controllerTester().clock().advance(Duration.ofHours(1));
changedAt = tester.controllerTester().clock().instant();
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), GlobalRouting.Status.in, GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), RoutingStatus.Value.in, RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone1, zone2);
tester.assertTargets(context.instanceId(), EndpointId.of("r1"), 0, zone1, zone2);
policy1 = tester.routingPolicies().get(context.deploymentIdIn(zone1)).values().iterator().next();
- assertEquals(GlobalRouting.Status.in, policy1.status().globalRouting().status());
- assertEquals(GlobalRouting.Agent.tenant, policy1.status().globalRouting().agent());
- assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), policy1.status().globalRouting().changedAt());
+ assertEquals(RoutingStatus.Value.in, policy1.status().routingStatus().value());
+ assertEquals(RoutingStatus.Agent.tenant, policy1.status().routingStatus().agent());
+ assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), policy1.status().routingStatus().changedAt());
// Deployment is set out through a new deployment.xml
var applicationPackage2 = applicationPackageBuilder()
@@ -563,37 +563,37 @@ public class RoutingPoliciesTest {
}
// Set zone out
- tester.routingPolicies().setRoutingStatus(zone2, GlobalRouting.Status.out);
+ tester.routingPolicies().setRoutingStatus(zone2, RoutingStatus.Value.out);
context1.flushDnsUpdates();
tester.assertTargets(context1.instanceId(), EndpointId.defaultId(), 0, zone1);
tester.assertTargets(context2.instanceId(), EndpointId.defaultId(), 0, zone1);
for (var context : contexts) {
var policies = tester.routingPolicies().get(context.instanceId());
- assertTrue("Global routing status for policy remains " + GlobalRouting.Status.in,
+ assertTrue("Global routing status for policy remains " + RoutingStatus.Value.in,
policies.values().stream()
.map(RoutingPolicy::status)
- .map(Status::globalRouting)
- .map(GlobalRouting::status)
- .allMatch(status -> status == GlobalRouting.Status.in));
+ .map(Status::routingStatus)
+ .map(RoutingStatus::value)
+ .allMatch(status -> status == RoutingStatus.Value.in));
}
var changedAt = tester.controllerTester().clock().instant();
var zonePolicy = tester.controllerTester().controller().curator().readZoneRoutingPolicy(zone2);
- assertEquals(GlobalRouting.Status.out, zonePolicy.globalRouting().status());
- assertEquals(GlobalRouting.Agent.operator, zonePolicy.globalRouting().agent());
+ assertEquals(RoutingStatus.Value.out, zonePolicy.globalRouting().value());
+ assertEquals(RoutingStatus.Agent.operator, zonePolicy.globalRouting().agent());
assertEquals(changedAt.truncatedTo(ChronoUnit.MILLIS), zonePolicy.globalRouting().changedAt());
// Setting status per deployment does not affect status as entire zone is out
- tester.routingPolicies().setRoutingStatus(context1.deploymentIdIn(zone2), GlobalRouting.Status.in, GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context1.deploymentIdIn(zone2), RoutingStatus.Value.in, RoutingStatus.Agent.tenant);
context1.flushDnsUpdates();
tester.assertTargets(context1.instanceId(), EndpointId.defaultId(), 0, zone1);
tester.assertTargets(context2.instanceId(), EndpointId.defaultId(), 0, zone1);
// Set single deployment out
- tester.routingPolicies().setRoutingStatus(context1.deploymentIdIn(zone2), GlobalRouting.Status.out, GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context1.deploymentIdIn(zone2), RoutingStatus.Value.out, RoutingStatus.Agent.tenant);
context1.flushDnsUpdates();
// Set zone back in. Deployment set explicitly out, remains out, the rest are in
- tester.routingPolicies().setRoutingStatus(zone2, GlobalRouting.Status.in);
+ tester.routingPolicies().setRoutingStatus(zone2, RoutingStatus.Value.in);
context1.flushDnsUpdates();
tester.assertTargets(context1.instanceId(), EndpointId.defaultId(), 0, zone1);
tester.assertTargets(context2.instanceId(), EndpointId.defaultId(), 0, zone1, zone2);
@@ -647,41 +647,41 @@ public class RoutingPoliciesTest {
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone1, zone2);
// Global routing status is overridden for one deployment
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone2);
// Setting other deployment out implicitly sets all deployments in. Weight is set to zero, but that has no
// impact on routing decisions when the weight sum is zero
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone2), GlobalRouting.Status.out,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone2), RoutingStatus.Value.out,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, ImmutableMap.of(zone1, 0L, zone2, 0L));
// One inactive deployment is put back in. Global DNS record now points to the only active deployment
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), GlobalRouting.Status.in,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone1), RoutingStatus.Value.in,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone1);
// Setting zone (containing active deployment) out puts all deployments in
- tester.routingPolicies().setRoutingStatus(zone1, GlobalRouting.Status.out);
+ tester.routingPolicies().setRoutingStatus(zone1, RoutingStatus.Value.out);
context.flushDnsUpdates();
- assertEquals(GlobalRouting.Status.out, tester.routingPolicies().get(zone1).globalRouting().status());
+ assertEquals(RoutingStatus.Value.out, tester.routingPolicies().get(zone1).globalRouting().value());
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, ImmutableMap.of(zone1, 0L, zone2, 0L));
// Setting zone back in removes the currently inactive deployment
- tester.routingPolicies().setRoutingStatus(zone1, GlobalRouting.Status.in);
+ tester.routingPolicies().setRoutingStatus(zone1, RoutingStatus.Value.in);
context.flushDnsUpdates();
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone1);
// Inactive deployment is set in
- tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone2), GlobalRouting.Status.in,
- GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(context.deploymentIdIn(zone2), RoutingStatus.Value.in,
+ RoutingStatus.Agent.tenant);
context.flushDnsUpdates();
for (var policy : tester.routingPolicies().get(context.instanceId()).values()) {
- assertSame(GlobalRouting.Status.in, policy.status().globalRouting().status());
+ assertSame(RoutingStatus.Value.in, policy.status().routingStatus().value());
}
tester.assertTargets(context.instanceId(), EndpointId.of("r0"), 0, zone1, zone2);
}
@@ -763,12 +763,12 @@ public class RoutingPoliciesTest {
mainZone2, 9));
// Changing routing status updates weight
- tester.routingPolicies().setRoutingStatus(mainZone2, GlobalRouting.Status.out, RoutingStatus.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(mainZone2, RoutingStatus.Value.out, RoutingStatus.Agent.tenant);
betaContext.flushDnsUpdates();
tester.assertTargets(application, EndpointId.of("a1"), ClusterSpec.Id.from("c1"), 1,
Map.of(betaZone2, 1,
mainZone2, 0));
- tester.routingPolicies().setRoutingStatus(mainZone2, GlobalRouting.Status.in, GlobalRouting.Agent.tenant);
+ tester.routingPolicies().setRoutingStatus(mainZone2, RoutingStatus.Value.in, RoutingStatus.Agent.tenant);
betaContext.flushDnsUpdates();
tester.assertTargets(application, EndpointId.of("a1"), ClusterSpec.Id.from("c1"), 1,
Map.of(betaZone2, 1,