summaryrefslogtreecommitdiffstats
path: root/controller-server/src
diff options
context:
space:
mode:
authorMorten Tokle <morten.tokle@gmail.com>2017-10-18 11:39:11 +0200
committerGitHub <noreply@github.com>2017-10-18 11:39:11 +0200
commitaa5d354f2d8f3f2a44a71325436a6e17e21447d9 (patch)
treeac60e051292db9a7a1eac972213fe6bd1a06c96d /controller-server/src
parent0a35bb6fc1e07b3869e818c2e48d78454c134e22 (diff)
parent25e92db25ee2e7f3286007ffa839f9ed36666315 (diff)
Merge pull request #3787 from vespa-engine/bjorncs/athenz
Bjorncs/athenz
Diffstat (limited to 'controller-server/src')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java14
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/api/Tenant.java34
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzPrincipal.java8
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzService.java10
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzUtils.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/NToken.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZmsClient.java18
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZtsClient.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZmsClientImpl.java30
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZtsClientImpl.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzClientFactoryMock.java18
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzDbMock.java (renamed from controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthensDbMock.java)12
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZmsClientMock.java40
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZtsClientMock.java12
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiHandler.java14
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/Authorizer.java6
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/DeployAuthorizer.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java28
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/athenz/filter/NTokenValidatorTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java68
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MockAuthorizer.java4
24 files changed, 189 insertions, 189 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
index c293e00ae48..079eed2be38 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Controller.java
@@ -10,7 +10,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.identifiers.Property;
import com.yahoo.vespa.hosted.controller.api.identifiers.PropertyId;
@@ -140,7 +140,7 @@ public class Controller extends AbstractComponent {
/** Returns the instance controlling applications */
public ApplicationController applications() { return applicationController; }
- public List<AthensDomain> getDomainList(String prefix) {
+ public List<AthenzDomain> getDomainList(String prefix) {
return zmsClient.getDomainList(prefix);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
index 229c46f0a22..da4627c2183 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/TenantController.java
@@ -5,7 +5,7 @@ import com.yahoo.config.provision.TenantName;
import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.controller.api.Tenant;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.Property;
import com.yahoo.vespa.hosted.controller.api.identifiers.PropertyId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
@@ -66,7 +66,7 @@ public class TenantController {
public List<Tenant> asList(UserId user) {
Set<UserGroup> userGroups = entityService.getUserGroups(user);
- Set<AthensDomain> userDomains = new HashSet<>(athenzClientFactory.createZtsClientWithServicePrincipal()
+ Set<AthenzDomain> userDomains = new HashSet<>(athenzClientFactory.createZtsClientWithServicePrincipal()
.getTenantDomainsForUser(AthenzUtils.createPrincipal(user)));
Predicate<Tenant> hasUsersGroup = (tenant) -> tenant.getUserGroup().isPresent() && userGroups.contains(tenant.getUserGroup().get());
@@ -105,7 +105,7 @@ public class TenantController {
throw new IllegalArgumentException("Could not create " + tenant + ": No NToken provided");
if (tenant.isAthensTenant()) {
- AthensDomain domain = tenant.getAthensDomain().get();
+ AthenzDomain domain = tenant.getAthensDomain().get();
Optional<Tenant> existingTenantWithDomain = tenantHaving(domain);
if (existingTenantWithDomain.isPresent())
throw new IllegalArgumentException("Could not create " + tenant + ": The Athens domain '" + domain +
@@ -119,7 +119,7 @@ public class TenantController {
}
/** Returns the tenant having the given Athens domain, or empty if none */
- private Optional<Tenant> tenantHaving(AthensDomain domain) {
+ private Optional<Tenant> tenantHaving(AthenzDomain domain) {
return asList().stream().filter(Tenant::isAthensTenant)
.filter(t -> t.getAthensDomain().get().equals(domain))
.findAny();
@@ -152,8 +152,8 @@ public class TenantController {
Tenant existingTenant = tenant(updatedTenant.getId()).get();
if ( ! existingTenant.isAthensTenant()) return;
- AthensDomain existingDomain = existingTenant.getAthensDomain().get();
- AthensDomain newDomain = updatedTenant.getAthensDomain().get();
+ AthenzDomain existingDomain = existingTenant.getAthensDomain().get();
+ AthenzDomain newDomain = updatedTenant.getAthensDomain().get();
if (existingDomain.equals(newDomain)) return;
Optional<Tenant> existingTenantWithNewDomain = tenantHaving(newDomain);
if (existingTenantWithNewDomain.isPresent())
@@ -193,7 +193,7 @@ public class TenantController {
}
public Tenant migrateTenantToAthens(TenantId tenantId,
- AthensDomain tenantDomain,
+ AthenzDomain tenantDomain,
PropertyId propertyId,
Property property,
NToken nToken) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/api/Tenant.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/api/Tenant.java
index 325c40c24c8..4889f789819 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/api/Tenant.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/api/Tenant.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.api;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.TenantType;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.Property;
import com.yahoo.vespa.hosted.controller.api.identifiers.PropertyId;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
@@ -19,41 +19,41 @@ public class Tenant {
private final TenantId id;
private final Optional<UserGroup> userGroup;
private final Optional<Property> property;
- private final Optional<AthensDomain> athensDomain;
+ private final Optional<AthenzDomain> athenzDomain;
private final Optional<PropertyId> propertyId;
// TODO: Use factory methods. They're down at the bottom!
- public Tenant(TenantId id, Optional<UserGroup> userGroup, Optional<Property> property, Optional<AthensDomain> athensDomain) {
- this(id, userGroup, property, athensDomain, Optional.empty());
+ public Tenant(TenantId id, Optional<UserGroup> userGroup, Optional<Property> property, Optional<AthenzDomain> athenzDomain) {
+ this(id, userGroup, property, athenzDomain, Optional.empty());
}
- public Tenant(TenantId id, Optional<UserGroup> userGroup, Optional<Property> property, Optional<AthensDomain> athensDomain, Optional<PropertyId> propertyId) {
+ public Tenant(TenantId id, Optional<UserGroup> userGroup, Optional<Property> property, Optional<AthenzDomain> athenzDomain, Optional<PropertyId> propertyId) {
if (id.isUser()) {
require(!userGroup.isPresent(), "User tenant '%s' cannot have a user group.", id);
require(!property.isPresent(), "User tenant '%s' cannot have a property.", id);
require(!propertyId.isPresent(), "User tenant '%s' cannot have a property ID.", id);
- require(!athensDomain.isPresent(), "User tenant '%s' cannot have an athens domain.", id);
- } else if (athensDomain.isPresent()) {
+ require(!athenzDomain.isPresent(), "User tenant '%s' cannot have an athens domain.", id);
+ } else if (athenzDomain.isPresent()) {
require(property.isPresent(), "Athens tenant '%s' must have a property.", id);
require(!userGroup.isPresent(), "Athens tenant '%s' cannot have a user group.", id);
- require(athensDomain.isPresent(), "Athens tenant '%s' must have an athens domain.", id);
+ require(athenzDomain.isPresent(), "Athens tenant '%s' must have an athens domain.", id);
} else {
require(property.isPresent(), "OpsDB tenant '%s' must have a property.", id);
require(userGroup.isPresent(), "OpsDb tenant '%s' must have a user group.", id);
- require(!athensDomain.isPresent(), "OpsDb tenant '%s' cannot have an athens domain.", id);
+ require(!athenzDomain.isPresent(), "OpsDb tenant '%s' cannot have an athens domain.", id);
}
this.id = id;
this.userGroup = userGroup;
this.property = property;
- this.athensDomain = athensDomain;
+ this.athenzDomain = athenzDomain;
this.propertyId = propertyId; // TODO: Check validity after TODO@14. OpsDb tenants have this set in Sherpa, while athens tenants do not.
}
- public boolean isAthensTenant() { return athensDomain.isPresent(); }
+ public boolean isAthensTenant() { return athenzDomain.isPresent(); }
public boolean isOpsDbTenant() { return userGroup.isPresent();}
public TenantType tenantType() {
- if (athensDomain.isPresent()) {
+ if (athenzDomain.isPresent()) {
return TenantType.ATHENS;
} else if (id.isUser()) {
return TenantType.USER;
@@ -80,15 +80,15 @@ public class Tenant {
return propertyId;
}
- public Optional<AthensDomain> getAthensDomain() {
- return athensDomain;
+ public Optional<AthenzDomain> getAthensDomain() {
+ return athenzDomain;
}
private void require(boolean statement, String message, TenantId id) {
if (!statement) throw new IllegalArgumentException(String.format(message, id));
}
- public static Tenant createAthensTenant(TenantId id, AthensDomain athensDomain, Property property, Optional<PropertyId> propertyId) {
+ public static Tenant createAthensTenant(TenantId id, AthenzDomain athensDomain, Property property, Optional<PropertyId> propertyId) {
if (id.isUser()) {
throw new IllegalArgumentException("Invalid id for non-user tenant: " + id);
}
@@ -124,7 +124,7 @@ public class Tenant {
if (!id.equals(tenant.id)) return false;
if (!userGroup.equals(tenant.userGroup)) return false;
if (!property.equals(tenant.property)) return false;
- if (!athensDomain.equals(tenant.athensDomain)) return false;
+ if (!athenzDomain.equals(tenant.athenzDomain)) return false;
if (!propertyId.equals(tenant.propertyId)) return false;
return true;
}
@@ -134,7 +134,7 @@ public class Tenant {
int result = id.hashCode();
result = 31 * result + userGroup.hashCode();
result = 31 * result + property.hashCode();
- result = 31 * result + athensDomain.hashCode();
+ result = 31 * result + athenzDomain.hashCode();
result = 31 * result + propertyId.hashCode();
return result;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzPrincipal.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzPrincipal.java
index 03d9f60c6b0..1e4952a39c5 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzPrincipal.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzPrincipal.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import java.security.Principal;
@@ -12,10 +12,10 @@ import java.util.Objects;
*/
public class AthenzPrincipal implements Principal {
- private final AthensDomain domain;
+ private final AthenzDomain domain;
private final UserId userId;
- public AthenzPrincipal(AthensDomain domain, UserId userId) {
+ public AthenzPrincipal(AthenzDomain domain, UserId userId) {
this.domain = domain;
this.userId = userId;
}
@@ -24,7 +24,7 @@ public class AthenzPrincipal implements Principal {
return userId;
}
- public AthensDomain getDomain() {
+ public AthenzDomain getDomain() {
return domain;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzService.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzService.java
index 780a14e4446..37c6459b687 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzService.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzService.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import java.util.Objects;
@@ -10,23 +10,23 @@ import java.util.Objects;
*/
public class AthenzService {
- private final AthensDomain domain;
+ private final AthenzDomain domain;
private final String serviceName;
- public AthenzService(AthensDomain domain, String serviceName) {
+ public AthenzService(AthenzDomain domain, String serviceName) {
this.domain = domain;
this.serviceName = serviceName;
}
public AthenzService(String domain, String serviceName) {
- this(new AthensDomain(domain), serviceName);
+ this(new AthenzDomain(domain), serviceName);
}
public String toFullServiceName() {
return domain.id() + "." + serviceName;
}
- public AthensDomain getDomain() {
+ public AthenzDomain getDomain() {
return domain;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzUtils.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzUtils.java
index 0c0f4729100..664f67d9b11 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzUtils.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/AthenzUtils.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.ScrewdriverId;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
@@ -13,8 +13,8 @@ public class AthenzUtils {
private AthenzUtils() {}
// TODO Change to "user" as primary user principal domain. Also support "yby" for a limited time as per recent Athenz changes
- public static final AthensDomain USER_PRINCIPAL_DOMAIN = new AthensDomain("yby");
- public static final AthensDomain SCREWDRIVER_DOMAIN = new AthensDomain("cd.screwdriver.project");
+ public static final AthenzDomain USER_PRINCIPAL_DOMAIN = new AthenzDomain("yby");
+ public static final AthenzDomain SCREWDRIVER_DOMAIN = new AthenzDomain("cd.screwdriver.project");
public static final AthenzService ZMS_ATHENZ_SERVICE = new AthenzService("sys.auth", "zms");
public static AthenzPrincipal createPrincipal(UserId userId) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/NToken.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/NToken.java
index fec0523aaab..7e3abeb77d9 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/NToken.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/NToken.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.athenz;
import com.yahoo.athenz.auth.token.PrincipalToken;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import java.security.PrivateKey;
@@ -45,8 +45,8 @@ public class NToken {
return new UserId(token.getName());
}
- public AthensDomain getDomain() {
- return new AthensDomain(token.getDomain());
+ public AthenzDomain getDomain() {
+ return new AthenzDomain(token.getDomain());
}
public String getToken() {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZmsClient.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZmsClient.java
index 274a8fdf438..407bce05c6e 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZmsClient.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZmsClient.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.athenz;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import java.util.List;
@@ -11,22 +11,22 @@ import java.util.List;
*/
public interface ZmsClient {
- void createTenant(AthensDomain tenantDomain);
+ void createTenant(AthenzDomain tenantDomain);
- void deleteTenant(AthensDomain tenantDomain);
+ void deleteTenant(AthenzDomain tenantDomain);
- void addApplication(AthensDomain tenantDomain, ApplicationId applicationName);
+ void addApplication(AthenzDomain tenantDomain, ApplicationId applicationName);
- void deleteApplication(AthensDomain tenantDomain, ApplicationId applicationName);
+ void deleteApplication(AthenzDomain tenantDomain, ApplicationId applicationName);
- boolean hasApplicationAccess(AthenzPrincipal principal, ApplicationAction action, AthensDomain tenantDomain, ApplicationId applicationName);
+ boolean hasApplicationAccess(AthenzPrincipal principal, ApplicationAction action, AthenzDomain tenantDomain, ApplicationId applicationName);
- boolean hasTenantAdminAccess(AthenzPrincipal principal, AthensDomain tenantDomain);
+ boolean hasTenantAdminAccess(AthenzPrincipal principal, AthenzDomain tenantDomain);
// Used before vespa tenancy is established for the domain.
- boolean isDomainAdmin(AthenzPrincipal principal, AthensDomain domain);
+ boolean isDomainAdmin(AthenzPrincipal principal, AthenzDomain domain);
- List<AthensDomain> getDomainList(String prefix);
+ List<AthenzDomain> getDomainList(String prefix);
AthenzPublicKey getPublicKey(AthenzService service, String keyId);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZtsClient.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZtsClient.java
index a44f1af0d2a..f400ba2eb99 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZtsClient.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/ZtsClient.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import java.util.List;
@@ -10,6 +10,6 @@ import java.util.List;
*/
public interface ZtsClient {
- List<AthensDomain> getTenantDomainsForUser(AthenzPrincipal principal);
+ List<AthenzDomain> getTenantDomainsForUser(AthenzPrincipal principal);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZmsClientImpl.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZmsClientImpl.java
index 16c088abcf8..cf2f7c798c6 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZmsClientImpl.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZmsClientImpl.java
@@ -12,7 +12,7 @@ import com.yahoo.athenz.zms.ZMSClient;
import com.yahoo.athenz.zms.ZMSClientException;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.athenz.ApplicationAction;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPublicKey;
@@ -44,7 +44,7 @@ public class ZmsClientImpl implements ZmsClient {
}
@Override
- public void createTenant(AthensDomain tenantDomain) {
+ public void createTenant(AthenzDomain tenantDomain) {
log("putTenancy(tenantDomain=%s, service=%s)", tenantDomain, service);
runOrThrow(() -> {
Tenancy tenancy = new Tenancy()
@@ -56,13 +56,13 @@ public class ZmsClientImpl implements ZmsClient {
}
@Override
- public void deleteTenant(AthensDomain tenantDomain) {
+ public void deleteTenant(AthenzDomain tenantDomain) {
log("deleteTenancy(tenantDomain=%s, service=%s)", tenantDomain, service);
runOrThrow(() -> zmsClient.deleteTenancy(tenantDomain.id(), service.toFullServiceName(), /*auditref*/null));
}
@Override
- public void addApplication(AthensDomain tenantDomain, ApplicationId applicationName) {
+ public void addApplication(AthenzDomain tenantDomain, ApplicationId applicationName) {
List<TenantRoleAction> tenantRoleActions = createTenantRoleActions();
log("putProviderResourceGroupRoles(" +
"tenantDomain=%s, providerDomain=%s, service=%s, resourceGroup=%s, roleActions=%s)",
@@ -81,7 +81,7 @@ public class ZmsClientImpl implements ZmsClient {
}
@Override
- public void deleteApplication(AthensDomain tenantDomain, ApplicationId applicationName) {
+ public void deleteApplication(AthenzDomain tenantDomain, ApplicationId applicationName) {
log("deleteProviderResourceGroupRoles(tenantDomain=%s, providerDomain=%s, service=%s, resourceGroup=%s)",
tenantDomain, service.getDomain().id(), service.getServiceName(), applicationName);
runOrThrow(() -> {
@@ -92,29 +92,29 @@ public class ZmsClientImpl implements ZmsClient {
@Override
public boolean hasApplicationAccess(
- AthenzPrincipal principal, ApplicationAction action, AthensDomain tenantDomain, ApplicationId applicationName) {
+ AthenzPrincipal principal, ApplicationAction action, AthenzDomain tenantDomain, ApplicationId applicationName) {
return hasAccess(
action.name(), applicationResourceString(tenantDomain, applicationName), principal);
}
@Override
- public boolean hasTenantAdminAccess(AthenzPrincipal principal, AthensDomain tenantDomain) {
+ public boolean hasTenantAdminAccess(AthenzPrincipal principal, AthenzDomain tenantDomain) {
return hasAccess(TenantAction._modify_.name(), tenantResourceString(tenantDomain), principal);
}
/**
* Used when creating tenancies. As there are no tenancy policies at this point,
- * we cannot use {@link #hasTenantAdminAccess(AthenzPrincipal, AthensDomain)}
+ * we cannot use {@link #hasTenantAdminAccess(AthenzPrincipal, AthenzDomain)}
*/
@Override
- public boolean isDomainAdmin(AthenzPrincipal principal, AthensDomain domain) {
+ public boolean isDomainAdmin(AthenzPrincipal principal, AthenzDomain domain) {
log("getMembership(domain=%s, role=%s, principal=%s)", domain, "admin", principal);
return getOrThrow(
() -> zmsClient.getMembership(domain.id(), "admin", principal.toYRN()).getIsMember());
}
@Override
- public List<AthensDomain> getDomainList(String prefix) {
+ public List<AthenzDomain> getDomainList(String prefix) {
log.log(LogLevel.DEBUG, String.format("getDomainList(prefix=%s)", prefix));
return getOrThrow(
() -> {
@@ -153,8 +153,8 @@ public class ZmsClientImpl implements ZmsClient {
.collect(toList());
}
- private static List<AthensDomain> toAthensDomains(List<String> domains) {
- return domains.stream().map(AthensDomain::new).collect(toList());
+ private static List<AthenzDomain> toAthensDomains(List<String> domains) {
+ return domains.stream().map(AthenzDomain::new).collect(toList());
}
private static List<AthenzPublicKey> toAthensPublicKeys(List<PublicKeyEntry> publicKeys) {
@@ -195,16 +195,16 @@ public class ZmsClientImpl implements ZmsClient {
log.warning("Error from Athens: " + e.getMessage());
}
- private String resourceStringPrefix(AthensDomain tenantDomain) {
+ private String resourceStringPrefix(AthenzDomain tenantDomain) {
return String.format("%s:service.%s.tenant.%s",
service.getDomain().id(), service.getServiceName(), tenantDomain.id());
}
- private String tenantResourceString(AthensDomain tenantDomain) {
+ private String tenantResourceString(AthenzDomain tenantDomain) {
return resourceStringPrefix(tenantDomain) + ".wildcard";
}
- private String applicationResourceString(AthensDomain tenantDomain, ApplicationId applicationName) {
+ private String applicationResourceString(AthenzDomain tenantDomain, ApplicationId applicationName) {
return resourceStringPrefix(tenantDomain) + "." + "res_group" + "." + applicationName.id() + ".wildcard";
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZtsClientImpl.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZtsClientImpl.java
index 62b80b898b5..1111e56c742 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZtsClientImpl.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/impl/ZtsClientImpl.java
@@ -5,7 +5,7 @@ import com.yahoo.athenz.zts.TenantDomains;
import com.yahoo.athenz.zts.ZTSClient;
import com.yahoo.athenz.zts.ZTSClientException;
import com.yahoo.log.LogLevel;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.AthenzService;
import com.yahoo.vespa.hosted.controller.athenz.ZtsClient;
@@ -33,7 +33,7 @@ public class ZtsClientImpl implements ZtsClient {
}
@Override
- public List<AthensDomain> getTenantDomainsForUser(AthenzPrincipal principal) {
+ public List<AthenzDomain> getTenantDomainsForUser(AthenzPrincipal principal) {
log.log(LogLevel.DEBUG, String.format(
"getTenantDomains(domain=%s, username=%s, rolename=admin, service=%s)",
service.getDomain().id(), principal, service.getServiceName()));
@@ -41,7 +41,7 @@ public class ZtsClientImpl implements ZtsClient {
TenantDomains domains = ztsClient.getTenantDomains(
service.getDomain().id(), principal.toYRN(), "admin", service.getServiceName());
return domains.getTenantDomainNames().stream()
- .map(AthensDomain::new)
+ .map(AthenzDomain::new)
.collect(toList());
} catch (ZTSClientException e) {
throw new ZtsException(e);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzClientFactoryMock.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzClientFactoryMock.java
index 92c7ba5a007..0cd55fc685f 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzClientFactoryMock.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzClientFactoryMock.java
@@ -17,36 +17,36 @@ public class AthenzClientFactoryMock extends AbstractComponent implements Athenz
private static final Logger log = Logger.getLogger(AthenzClientFactoryMock.class.getName());
- private final AthensDbMock athens;
+ private final AthenzDbMock athenz;
public AthenzClientFactoryMock() {
- this(new AthensDbMock());
+ this(new AthenzDbMock());
}
- public AthenzClientFactoryMock(AthensDbMock athens) {
- this.athens = athens;
+ public AthenzClientFactoryMock(AthenzDbMock athenz) {
+ this.athenz = athenz;
}
- public AthensDbMock getSetup() {
- return athens;
+ public AthenzDbMock getSetup() {
+ return athenz;
}
@Override
public ZmsClient createZmsClientWithServicePrincipal() {
log("createZmsClientWithServicePrincipal()");
- return new ZmsClientMock(athens);
+ return new ZmsClientMock(athenz);
}
@Override
public ZtsClient createZtsClientWithServicePrincipal() {
log("createZtsClientWithServicePrincipal()");
- return new ZtsClientMock(athens);
+ return new ZtsClientMock(athenz);
}
@Override
public ZmsClient createZmsClientWithAuthorizedServiceToken(NToken authorizedServiceToken) {
log("createZmsClientWithAuthorizedServiceToken(authorizedServiceToken='%s')", authorizedServiceToken);
- return new ZmsClientMock(athens);
+ return new ZmsClientMock(athenz);
}
private static void log(String format, Object... args) {
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthensDbMock.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzDbMock.java
index 55fe435c9be..017e8c7be44 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthensDbMock.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/AthenzDbMock.java
@@ -2,7 +2,7 @@
package com.yahoo.vespa.hosted.controller.athenz.mock;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.athenz.ApplicationAction;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
@@ -14,24 +14,24 @@ import java.util.Set;
/**
* @author bjorncs
*/
-public class AthensDbMock {
+public class AthenzDbMock {
- public final Map<AthensDomain, Domain> domains = new HashMap<>();
+ public final Map<AthenzDomain, Domain> domains = new HashMap<>();
- public AthensDbMock addDomain(Domain domain) {
+ public AthenzDbMock addDomain(Domain domain) {
domains.put(domain.name, domain);
return this;
}
public static class Domain {
- public final AthensDomain name;
+ public final AthenzDomain name;
public final Set<AthenzPrincipal> admins = new HashSet<>();
public final Set<AthenzPrincipal> tenantAdmins = new HashSet<>();
public final Map<ApplicationId, Application> applications = new HashMap<>();
public boolean isVespaTenant = false;
- public Domain(AthensDomain name) {
+ public Domain(AthenzDomain name) {
this.name = name;
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZmsClientMock.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZmsClientMock.java
index bba7d410bf7..b2e657eae09 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZmsClientMock.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZmsClientMock.java
@@ -3,7 +3,7 @@ package com.yahoo.vespa.hosted.controller.athenz.mock;
import com.yahoo.athenz.zms.ZMSClientException;
import com.yahoo.vespa.hosted.controller.api.identifiers.ApplicationId;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.athenz.ApplicationAction;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPublicKey;
@@ -24,48 +24,48 @@ public class ZmsClientMock implements ZmsClient {
private static final Logger log = Logger.getLogger(ZmsClientMock.class.getName());
- private final AthensDbMock athens;
+ private final AthenzDbMock athenz;
- public ZmsClientMock(AthensDbMock athens) {
- this.athens = athens;
+ public ZmsClientMock(AthenzDbMock athenz) {
+ this.athenz = athenz;
}
@Override
- public void createTenant(AthensDomain tenantDomain) {
+ public void createTenant(AthenzDomain tenantDomain) {
log("createTenant(tenantDomain='%s')", tenantDomain);
getDomainOrThrow(tenantDomain, false).isVespaTenant = true;
}
@Override
- public void deleteTenant(AthensDomain tenantDomain) {
+ public void deleteTenant(AthenzDomain tenantDomain) {
log("deleteTenant(tenantDomain='%s')", tenantDomain);
- AthensDbMock.Domain domain = getDomainOrThrow(tenantDomain, false);
+ AthenzDbMock.Domain domain = getDomainOrThrow(tenantDomain, false);
domain.isVespaTenant = false;
domain.applications.clear();
domain.tenantAdmins.clear();
}
@Override
- public void addApplication(AthensDomain tenantDomain, ApplicationId applicationName) {
+ public void addApplication(AthenzDomain tenantDomain, ApplicationId applicationName) {
log("addApplication(tenantDomain='%s', applicationName='%s')", tenantDomain, applicationName);
- AthensDbMock.Domain domain = getDomainOrThrow(tenantDomain, true);
+ AthenzDbMock.Domain domain = getDomainOrThrow(tenantDomain, true);
if (!domain.applications.containsKey(applicationName)) {
- domain.applications.put(applicationName, new AthensDbMock.Application());
+ domain.applications.put(applicationName, new AthenzDbMock.Application());
}
}
@Override
- public void deleteApplication(AthensDomain tenantDomain, ApplicationId applicationName) {
+ public void deleteApplication(AthenzDomain tenantDomain, ApplicationId applicationName) {
log("addApplication(tenantDomain='%s', applicationName='%s')", tenantDomain, applicationName);
getDomainOrThrow(tenantDomain, true).applications.remove(applicationName);
}
@Override
- public boolean hasApplicationAccess(AthenzPrincipal principal, ApplicationAction action, AthensDomain tenantDomain, ApplicationId applicationName) {
+ public boolean hasApplicationAccess(AthenzPrincipal principal, ApplicationAction action, AthenzDomain tenantDomain, ApplicationId applicationName) {
log("hasApplicationAccess(principal='%s', action='%s', tenantDomain='%s', applicationName='%s')",
principal, action, tenantDomain, applicationName);
- AthensDbMock.Domain domain = getDomainOrThrow(tenantDomain, true);
- AthensDbMock.Application application = domain.applications.get(applicationName);
+ AthenzDbMock.Domain domain = getDomainOrThrow(tenantDomain, true);
+ AthenzDbMock.Application application = domain.applications.get(applicationName);
if (application == null) {
throw zmsException(400, "Application '%s' not found", applicationName);
}
@@ -73,22 +73,22 @@ public class ZmsClientMock implements ZmsClient {
}
@Override
- public boolean hasTenantAdminAccess(AthenzPrincipal principal, AthensDomain tenantDomain) {
+ public boolean hasTenantAdminAccess(AthenzPrincipal principal, AthenzDomain tenantDomain) {
log("hasTenantAdminAccess(principal='%s', tenantDomain='%s')", principal, tenantDomain);
return isDomainAdmin(principal, tenantDomain) ||
getDomainOrThrow(tenantDomain, true).tenantAdmins.contains(principal);
}
@Override
- public boolean isDomainAdmin(AthenzPrincipal principal, AthensDomain domain) {
+ public boolean isDomainAdmin(AthenzPrincipal principal, AthenzDomain domain) {
log("isDomainAdmin(principal='%s', domain='%s')", principal, domain);
return getDomainOrThrow(domain, false).admins.contains(principal);
}
@Override
- public List<AthensDomain> getDomainList(String prefix) {
+ public List<AthenzDomain> getDomainList(String prefix) {
log("getDomainList()");
- return new ArrayList<>(athens.domains.keySet());
+ return new ArrayList<>(athenz.domains.keySet());
}
@Override
@@ -101,8 +101,8 @@ public class ZmsClientMock implements ZmsClient {
throw new UnsupportedOperationException();
}
- private AthensDbMock.Domain getDomainOrThrow(AthensDomain domainName, boolean verifyVespaTenant) {
- AthensDbMock.Domain domain = Optional.ofNullable(athens.domains.get(domainName))
+ private AthenzDbMock.Domain getDomainOrThrow(AthenzDomain domainName, boolean verifyVespaTenant) {
+ AthenzDbMock.Domain domain = Optional.ofNullable(athenz.domains.get(domainName))
.orElseThrow(() -> zmsException(400, "Domain '%s' not found", domainName));
if (verifyVespaTenant && !domain.isVespaTenant) {
throw zmsException(400, "Domain not a Vespa tenant: '%s'", domainName);
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZtsClientMock.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZtsClientMock.java
index fa41dcc6446..f21bc011273 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZtsClientMock.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/athenz/mock/ZtsClientMock.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz.mock;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.ZtsClient;
@@ -17,16 +17,16 @@ import static java.util.stream.Collectors.toList;
public class ZtsClientMock implements ZtsClient {
private static final Logger log = Logger.getLogger(ZtsClientMock.class.getName());
- private final AthensDbMock athens;
+ private final AthenzDbMock athenz;
- public ZtsClientMock(AthensDbMock athens) {
- this.athens = athens;
+ public ZtsClientMock(AthenzDbMock athenz) {
+ this.athenz = athenz;
}
@Override
- public List<AthensDomain> getTenantDomainsForUser(AthenzPrincipal principal) {
+ public List<AthenzDomain> getTenantDomainsForUser(AthenzPrincipal principal) {
log.log(Level.INFO, "getTenantDomainsForUser(principal='%s')", principal);
- return athens.domains.values().stream()
+ return athenz.domains.values().stream()
.filter(domain -> domain.tenantAdmins.contains(principal) || domain.admins.contains(principal))
.map(domain -> domain.name)
.collect(toList());
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 ac041a992ca..99530557981 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
@@ -38,7 +38,7 @@ import com.yahoo.vespa.hosted.controller.api.application.v4.model.ScrewdriverBui
import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.RefeedAction;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.RestartAction;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbindings.ServiceInfo;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitBranch;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitCommit;
@@ -273,7 +273,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
Slime slime = new Slime();
Cursor response = slime.setObject();
Cursor array = response.setArray("data");
- for (AthensDomain athensDomain : controller.getDomainList(request.getProperty("prefix"))) {
+ for (AthenzDomain athensDomain : controller.getDomainList(request.getProperty("prefix"))) {
array.addString(athensDomain.id());
}
return new SlimeJsonResponse(slime);
@@ -611,7 +611,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
if (requestData.field("userGroup").valid())
throw new BadRequestException("Cannot set OpsDB user group to Athens tenant");
updatedTenant = Tenant.createAthensTenant(new TenantId(tenantName),
- new AthensDomain(mandatory("athensDomain", requestData).asString()),
+ new AthenzDomain(mandatory("athensDomain", requestData).asString()),
new Property(mandatory("property", requestData).asString()),
optional("propertyId", requestData).map(PropertyId::new));
controller.tenants().updateTenant(updatedTenant, authorizer.getNToken(request));
@@ -633,12 +633,12 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
Tenant tenant = new Tenant(new TenantId(tenantName),
optional("userGroup", requestData).map(UserGroup::new),
optional("property", requestData).map(Property::new),
- optional("athensDomain", requestData).map(AthensDomain::new),
+ optional("athensDomain", requestData).map(AthenzDomain::new),
optional("propertyId", requestData).map(PropertyId::new));
if (tenant.isOpsDbTenant())
throwIfNotSuperUserOrPartOfOpsDbGroup(new UserGroup(mandatory("userGroup", requestData).asString()), request);
if (tenant.isAthensTenant())
- throwIfNotAthensDomainAdmin(new AthensDomain(mandatory("athensDomain", requestData).asString()), request);
+ throwIfNotAthensDomainAdmin(new AthenzDomain(mandatory("athensDomain", requestData).asString()), request);
controller.tenants().addTenant(tenant, authorizer.getNToken(request));
return new SlimeJsonResponse(toSlime(tenant, request, true));
@@ -647,7 +647,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
private HttpResponse migrateTenant(String tenantName, HttpRequest request) {
TenantId tenantid = new TenantId(tenantName);
Inspector requestData = toSlime(request.getData()).get();
- AthensDomain tenantDomain = new AthensDomain(mandatory("athensDomain", requestData).asString());
+ AthenzDomain tenantDomain = new AthenzDomain(mandatory("athensDomain", requestData).asString());
Property property = new Property(mandatory("property", requestData).asString());
PropertyId propertyId = new PropertyId(mandatory("propertyId", requestData).asString());
@@ -959,7 +959,7 @@ public class ApplicationApiHandler extends LoggingRequestHandler {
}
}
- private void throwIfNotAthensDomainAdmin(AthensDomain tenantDomain, HttpRequest request) {
+ private void throwIfNotAthensDomainAdmin(AthenzDomain tenantDomain, HttpRequest request) {
UserId userId = authorizer.getUserId(request);
if ( ! authorizer.isAthensDomainAdmin(userId, tenantDomain)) {
throw new ForbiddenException(
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/Authorizer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/Authorizer.java
index 84e731ec994..cbd39b201c1 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/Authorizer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/Authorizer.java
@@ -6,7 +6,7 @@ import com.yahoo.config.provision.Environment;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.api.Tenant;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserGroup;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
@@ -123,12 +123,12 @@ public class Authorizer {
throw new IllegalArgumentException("Unknown tenant type: " + tenant.tenantType());
}
- private boolean isAthensTenantAdmin(UserId userId, AthensDomain tenantDomain) {
+ private boolean isAthensTenantAdmin(UserId userId, AthenzDomain tenantDomain) {
return athenzClientFactory.createZmsClientWithServicePrincipal()
.hasTenantAdminAccess(AthenzUtils.createPrincipal(userId), tenantDomain);
}
- public boolean isAthensDomainAdmin(UserId userId, AthensDomain tenantDomain) {
+ public boolean isAthensDomainAdmin(UserId userId, AthenzDomain tenantDomain) {
return athenzClientFactory.createZmsClientWithServicePrincipal()
.isDomainAdmin(AthenzUtils.createPrincipal(userId), tenantDomain);
}
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/DeployAuthorizer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/DeployAuthorizer.java
index fa82c9239df..209f17464a7 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/DeployAuthorizer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/DeployAuthorizer.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.restapi.application;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
import com.yahoo.vespa.hosted.controller.api.Tenant;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.ScrewdriverId;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import com.yahoo.vespa.hosted.controller.api.integration.zone.ZoneRegistry;
@@ -62,7 +62,7 @@ public class DeployAuthorizer {
// TODO: inline when deployment via ssh is removed
private void checkAthensCredentials(Principal principal, Tenant tenant, ApplicationId applicationId) {
- AthensDomain domain = tenant.getAthensDomain().get();
+ AthenzDomain domain = tenant.getAthensDomain().get();
if (! (principal instanceof AthenzPrincipal))
throw loggedForbiddenException("Principal '%s' is not authenticated.", principal.getName());
@@ -101,7 +101,7 @@ public class DeployAuthorizer {
}
}
- private boolean hasDeployAccessToAthensApplication(AthenzPrincipal principal, AthensDomain domain, ApplicationId applicationId) {
+ private boolean hasDeployAccessToAthensApplication(AthenzPrincipal principal, AthenzDomain domain, ApplicationId applicationId) {
try {
return athenzClientFactory.createZmsClientWithServicePrincipal()
.hasApplicationAccess(
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
index 408be6a49c2..d39f72ec1b8 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
@@ -17,7 +17,7 @@ import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.controller.api.Tenant;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.EndpointStatus;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.identifiers.Property;
import com.yahoo.vespa.hosted.controller.api.identifiers.PropertyId;
@@ -34,7 +34,7 @@ import com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobReport;
import com.yahoo.vespa.hosted.controller.application.DeploymentJobs.JobType;
import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.athenz.NToken;
-import com.yahoo.vespa.hosted.controller.athenz.mock.AthensDbMock;
+import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzDbMock;
import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder;
import com.yahoo.vespa.hosted.controller.deployment.BuildSystem;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
@@ -357,13 +357,13 @@ public class ControllerTest {
}
@Test
- public void testMigratingTenantToAthensWillModifyAthensDomainsCorrectly() {
+ public void testMigratingTenantToAthenzWillModifyAthenzDomainsCorrectly() {
ControllerTester tester = new ControllerTester();
// Create Athens domain mock
- AthensDomain athensDomain = new AthensDomain("vespa.john");
- AthensDbMock.Domain mockDomain = new AthensDbMock.Domain(athensDomain);
- tester.athensDb().addDomain(mockDomain);
+ AthenzDomain athensDomain = new AthenzDomain("vespa.john");
+ AthenzDbMock.Domain mockDomain = new AthenzDbMock.Domain(athensDomain);
+ tester.athenzDb().addDomain(mockDomain);
// Create OpsDb tenant
TenantId tenantId = new TenantId("mytenant");
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
index 8e1234b7e96..b49d55aeb3b 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTester.java
@@ -13,7 +13,7 @@ import com.yahoo.vespa.hosted.controller.api.Tenant;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.GitRevision;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.ScrewdriverBuildJob;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitBranch;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitCommit;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitRepository;
@@ -28,7 +28,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.github.GitHubMock;
import com.yahoo.vespa.hosted.controller.api.integration.jira.JiraMock;
import com.yahoo.vespa.hosted.controller.api.integration.routing.MemoryGlobalRoutingService;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
-import com.yahoo.vespa.hosted.controller.athenz.mock.AthensDbMock;
+import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzDbMock;
import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzClientFactoryMock;
import com.yahoo.vespa.hosted.controller.integration.MockMetricsService;
import com.yahoo.vespa.hosted.controller.persistence.ControllerDb;
@@ -53,7 +53,7 @@ import static org.junit.Assert.assertTrue;
public final class ControllerTester {
private final ControllerDb db;
- private final AthensDbMock athensDb;
+ private final AthenzDbMock athenzDb;
private final ManualClock clock;
private final ConfigServerClientMock configServer;
private final ZoneRegistryMock zoneRegistry;
@@ -64,20 +64,20 @@ public final class ControllerTester {
private Controller controller;
public ControllerTester() {
- this(new MemoryControllerDb(), new AthensDbMock(), new ManualClock(), new ConfigServerClientMock(),
+ this(new MemoryControllerDb(), new AthenzDbMock(), new ManualClock(), new ConfigServerClientMock(),
new ZoneRegistryMock(), new GitHubMock(), new MockCuratorDb(), new MemoryNameService());
}
public ControllerTester(ManualClock clock) {
- this(new MemoryControllerDb(), new AthensDbMock(), clock, new ConfigServerClientMock(),
+ this(new MemoryControllerDb(), new AthenzDbMock(), clock, new ConfigServerClientMock(),
new ZoneRegistryMock(), new GitHubMock(), new MockCuratorDb(), new MemoryNameService());
}
- private ControllerTester(ControllerDb db, AthensDbMock athensDb, ManualClock clock,
+ private ControllerTester(ControllerDb db, AthenzDbMock athenzDb, ManualClock clock,
ConfigServerClientMock configServer, ZoneRegistryMock zoneRegistry,
GitHubMock gitHub, CuratorDb curator, MemoryNameService nameService) {
this.db = db;
- this.athensDb = athensDb;
+ this.athenzDb = athenzDb;
this.clock = clock;
this.configServer = configServer;
this.zoneRegistry = zoneRegistry;
@@ -85,7 +85,7 @@ public final class ControllerTester {
this.curator = curator;
this.nameService = nameService;
this.controller = createController(db, curator, configServer, clock, gitHub, zoneRegistry,
- athensDb, nameService);
+ athenzDb, nameService);
}
public Controller controller() { return controller; }
@@ -94,7 +94,7 @@ public final class ControllerTester {
public ManualClock clock() { return clock; }
- public AthensDbMock athensDb() { return athensDb; }
+ public AthenzDbMock athenzDb() { return athenzDb; }
public MemoryNameService nameService() { return nameService; }
@@ -106,7 +106,7 @@ public final class ControllerTester {
/** Create a new controller instance. Useful to verify that controller state is rebuilt from persistence */
public final void createNewController() {
- controller = createController(db, curator, configServer, clock, gitHub, zoneRegistry, athensDb, nameService);
+ controller = createController(db, curator, configServer, clock, gitHub, zoneRegistry, athenzDb, nameService);
}
/** Creates the given tenant and application and deploys it */
@@ -147,9 +147,9 @@ public final class ControllerTester {
}
}
- public AthensDomain createDomain(String domainName) {
- AthensDomain domain = new AthensDomain(domainName);
- athensDb.addDomain(new AthensDbMock.Domain(domain));
+ public AthenzDomain createDomain(String domainName) {
+ AthenzDomain domain = new AthenzDomain(domainName);
+ athenzDb.addDomain(new AthenzDbMock.Domain(domain));
return domain;
}
@@ -199,7 +199,7 @@ public final class ControllerTester {
private static Controller createController(ControllerDb db, CuratorDb curator,
ConfigServerClientMock configServerClientMock, ManualClock clock,
GitHubMock gitHubClientMock, ZoneRegistryMock zoneRegistryMock,
- AthensDbMock athensDb, MemoryNameService nameService) {
+ AthenzDbMock athensDb, MemoryNameService nameService) {
Controller controller = new Controller(db,
curator,
new MemoryRotationRepository(),
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/athenz/filter/NTokenValidatorTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/athenz/filter/NTokenValidatorTest.java
index e269f2842e2..69b4daf7aba 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/athenz/filter/NTokenValidatorTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/athenz/filter/NTokenValidatorTest.java
@@ -1,7 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.controller.athenz.filter;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.InvalidTokenException;
@@ -25,7 +25,7 @@ public class NTokenValidatorTest {
private static final KeyPair TRUSTED_KEY = AthenzTestUtils.generateRsaKeypair();
private static final KeyPair UNKNOWN_KEY = AthenzTestUtils.generateRsaKeypair();
- private static final AthenzPrincipal PRINCIPAL = new AthenzPrincipal(new AthensDomain("yby"), new UserId("user"));
+ private static final AthenzPrincipal PRINCIPAL = new AthenzPrincipal(new AthenzDomain("yby"), new UserId("user"));
@Rule
public ExpectedException exceptionRule = ExpectedException.none();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
index 99381d538d5..45a8972eafe 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ContainerControllerTester.java
@@ -12,7 +12,7 @@ import com.yahoo.vespa.hosted.controller.api.Tenant;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.DeployOptions;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.GitRevision;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.ScrewdriverBuildJob;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitBranch;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitCommit;
import com.yahoo.vespa.hosted.controller.api.identifiers.GitRepository;
@@ -24,7 +24,7 @@ import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.DeploymentJobs;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
-import com.yahoo.vespa.hosted.controller.athenz.mock.AthensDbMock;
+import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzDbMock;
import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzClientFactoryMock;
import com.yahoo.vespa.hosted.controller.maintenance.JobControl;
import com.yahoo.vespa.hosted.controller.maintenance.Upgrader;
@@ -68,7 +68,7 @@ public class ContainerControllerTester {
}
public Application createApplication(String athensDomain, String tenant, String application) {
- AthensDomain domain1 = addTenantAthensDomain(athensDomain, "mytenant");
+ AthenzDomain domain1 = addTenantAthenzDomain(athensDomain, "mytenant");
controller.tenants().addTenant(Tenant.createAthensTenant(new TenantId(tenant), domain1,
new Property("property1"),
Optional.of(new PropertyId("1234"))),
@@ -94,13 +94,13 @@ public class ContainerControllerTester {
));
}
- public AthensDomain addTenantAthensDomain(String domainName, String userName) {
+ public AthenzDomain addTenantAthenzDomain(String domainName, String userName) {
AthenzClientFactoryMock mock = (AthenzClientFactoryMock) containerTester.container().components()
.getComponent(AthenzClientFactoryMock.class.getName());
- AthensDomain athensDomain = new AthensDomain(domainName);
- AthensDbMock.Domain domain = new AthensDbMock.Domain(athensDomain);
+ AthenzDomain athensDomain = new AthenzDomain(domainName);
+ AthenzDbMock.Domain domain = new AthenzDbMock.Domain(athensDomain);
domain.markAsVespaTenant();
- domain.admin(new AthenzPrincipal(new AthensDomain("domain"), new UserId(userName)));
+ domain.admin(new AthenzPrincipal(new AthenzDomain("domain"), new UserId(userName)));
mock.getSetup().addDomain(domain);
return athensDomain;
}
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 0c9ebedc09b..ef8a3809b25 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
@@ -8,7 +8,7 @@ import com.yahoo.config.provision.Environment;
import com.yahoo.vespa.curator.Lock;
import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.ConfigServerClientMock;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServerException;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
@@ -19,7 +19,7 @@ import com.yahoo.vespa.hosted.controller.application.DeploymentJobs;
import com.yahoo.vespa.hosted.controller.application.DeploymentMetrics;
import com.yahoo.vespa.hosted.controller.athenz.AthenzPrincipal;
import com.yahoo.vespa.hosted.controller.athenz.AthenzUtils;
-import com.yahoo.vespa.hosted.controller.athenz.mock.AthensDbMock;
+import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzDbMock;
import com.yahoo.vespa.hosted.controller.athenz.mock.AthenzClientFactoryMock;
import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder;
import com.yahoo.vespa.hosted.controller.restapi.ContainerControllerTester;
@@ -53,8 +53,8 @@ public class ApplicationApiTest extends ControllerContainerTest {
.environment(Environment.prod)
.region("corp-us-east-1")
.build();
- private static final String athensUserDomain = "domain1";
- private static final String athensScrewdriverDomain = AthenzUtils.SCREWDRIVER_DOMAIN.id();
+ private static final String athenzUserDomain = "domain1";
+ private static final String athenzScrewdriverDomain = AthenzUtils.SCREWDRIVER_DOMAIN.id();
@Test
@@ -63,7 +63,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
ContainerTester tester = controllerTester.containerTester();
tester.updateSystemVersion();
- addTenantAthensDomain(athensUserDomain, "mytenant"); // (Necessary but not provided in this API)
+ addTenantAthenzDomain(athenzUserDomain, "mytenant"); // (Necessary but not provided in this API)
// GET API root
tester.assertResponse(request("/application/v4/", "", Request.Method.GET),
@@ -121,7 +121,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/dev/region/us-west-1/instance/default/deploy",
entity,
Request.Method.POST,
- athensUserDomain, "mytenant"),
+ athenzUserDomain, "mytenant"),
new File("deploy-result.json"));
// POST (deploy) an application to a zone. This simulates calls done by our tenant pipeline.
@@ -138,7 +138,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/test/region/us-east-1/instance/default/",
createApplicationDeployData(applicationPackage, Optional.of(screwdriverProjectId)),
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/test/region/us-east-1/instance/default",
"",
@@ -150,7 +150,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/staging/region/us-east-3/instance/default/",
createApplicationDeployData(applicationPackage, Optional.of(screwdriverProjectId)),
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/staging/region/us-east-3/instance/default",
"",
@@ -162,7 +162,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/corp-us-east-1/instance/default/",
createApplicationDeployData(applicationPackage, Optional.of(screwdriverProjectId)),
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
controllerTester.notifyJobCompletion(id, screwdriverProjectId, false, DeploymentJobs.JobType.productionCorpUsEast1);
@@ -228,14 +228,14 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/user?user=newuser&domain=by",
new byte[0],
Request.Method.PUT,
- athensUserDomain, "newuser", "application/json"),
+ athenzUserDomain, "newuser", "application/json"),
new File("create-user-response.json"));
// OPTIONS return 200 OK
tester.assertResponse(request("/application/v4/", "", Request.Method.OPTIONS),
"");
// Add another Athens domain, so we can try to create more tenants
- addTenantAthensDomain("domain2", "mytenant"); // New domain to test tenant w/property ID
+ addTenantAthenzDomain("domain2", "mytenant"); // New domain to test tenant w/property ID
// POST (add) a tenant with property ID
tester.assertResponse(request("/application/v4/tenant/tenant2",
"{\"athensDomain\":\"domain2\", \"property\":\"property2\", \"propertyId\":\"1234\"}",
@@ -292,7 +292,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
ContainerControllerTester controllerTester = new ContainerControllerTester(container, responseFiles);
ContainerTester tester = controllerTester.containerTester();
tester.updateSystemVersion();
- addTenantAthensDomain(athensUserDomain, "mytenant");
+ addTenantAthenzDomain(athenzUserDomain, "mytenant");
addScrewdriverUserToDomain("screwdriveruser1", "domain1");
// Create tenant
@@ -312,7 +312,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/corp-us-east-1/instance/default/deploy",
entity,
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
}
@@ -322,7 +322,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
ContainerControllerTester controllerTester = new ContainerControllerTester(container, responseFiles);
ContainerTester tester = controllerTester.containerTester();
tester.updateSystemVersion();
- addTenantAthensDomain(athensUserDomain, "mytenant");
+ addTenantAthenzDomain(athenzUserDomain, "mytenant");
addScrewdriverUserToDomain("screwdriveruser1", "domain1");
// Create tenant
@@ -351,7 +351,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-east-3/instance/default/deploy",
deployData,
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
controllerTester.notifyJobCompletion(id, projectId, true, DeploymentJobs.JobType.productionUsEast3);
@@ -368,7 +368,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-west-1/instance/default/deploy",
deployData,
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
controllerTester.notifyJobCompletion(id, projectId, true, DeploymentJobs.JobType.productionUsWest1);
@@ -376,7 +376,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-east-3/instance/default/deploy",
deployData,
Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
controllerTester.notifyJobCompletion(id, projectId, true, DeploymentJobs.JobType.productionUsEast3);
@@ -388,7 +388,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
public void testErrorResponses() throws Exception {
ContainerTester tester = new ContainerTester(container, responseFiles);
tester.updateSystemVersion();
- addTenantAthensDomain("domain1", "mytenant");
+ addTenantAthenzDomain("domain1", "mytenant");
// PUT (update) non-existing tenant
tester.assertResponse(request("/application/v4/tenant/tenant1",
@@ -459,7 +459,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/dev/region/us-west-1/instance/default/deploy",
entity,
Request.Method.POST,
- athensUserDomain, "mytenant"),
+ athenzUserDomain, "mytenant"),
new File("deploy-failure.json"), 400);
// POST (deploy) an application without available capacity
@@ -467,7 +467,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/dev/region/us-west-1/instance/default/deploy",
entity,
Request.Method.POST,
- athensUserDomain, "mytenant"),
+ athenzUserDomain, "mytenant"),
new File("deploy-out-of-capacity.json"), 400);
// DELETE tenant which has an application
@@ -522,7 +522,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
"[]",
200);
- addTenantAthensDomain("domain1", "mytenant");
+ addTenantAthenzDomain("domain1", "mytenant");
// Creating a tenant for an Athens domain the user is not admin for is disallowed
tester.assertResponse(request("/application/v4/tenant/tenant1",
@@ -561,7 +561,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
tester.assertResponse(request("/application/v4/tenant/tenant1/application/application1/environment/prod/region/us-west-1/instance/default/deploy",
entity,
Request.Method.POST,
- athensUserDomain, "mytenant"),
+ athenzUserDomain, "mytenant"),
"{\"error-code\":\"FORBIDDEN\",\"message\":\"Principal 'mytenant' is not a screwdriver principal, and does not have deploy access to application 'tenant1.application1'\"}",
403);
@@ -590,7 +590,7 @@ public class ApplicationApiTest extends ControllerContainerTest {
403);
// Change Athens domain
- addTenantAthensDomain("domain2", "mytenant");
+ addTenantAthenzDomain("domain2", "mytenant");
tester.assertResponse(request("/application/v4/tenant/tenant1",
"{\"athensDomain\":\"domain2\", \"property\":\"property1\"}",
Request.Method.PUT,
@@ -670,11 +670,11 @@ public class ApplicationApiTest extends ControllerContainerTest {
* In production this happens outside hosted Vespa, so there is no API for it and we need to reach down into the
* mock setup to replicate the action.
*/
- private AthensDomain addTenantAthensDomain(String domainName, String userName) {
+ private AthenzDomain addTenantAthenzDomain(String domainName, String userName) {
AthenzClientFactoryMock mock = (AthenzClientFactoryMock) container.components()
.getComponent(AthenzClientFactoryMock.class.getName());
- AthensDomain athensDomain = new AthensDomain(domainName);
- AthensDbMock.Domain domain = new AthensDbMock.Domain(athensDomain);
+ AthenzDomain athensDomain = new AthenzDomain(domainName);
+ AthenzDbMock.Domain domain = new AthenzDbMock.Domain(athensDomain);
domain.markAsVespaTenant();
domain.admin(AthenzUtils.createPrincipal(new UserId(userName)));
mock.getSetup().addDomain(domain);
@@ -688,8 +688,8 @@ public class ApplicationApiTest extends ControllerContainerTest {
private void addScrewdriverUserToDomain(String screwdriverUserId, String domainName) {
AthenzClientFactoryMock mock = (AthenzClientFactoryMock) container.components()
.getComponent(AthenzClientFactoryMock.class.getName());
- AthensDbMock.Domain domain = mock.getSetup().domains.get(new AthensDomain(domainName));
- domain.admin(new AthenzPrincipal(new AthensDomain(athensScrewdriverDomain), new UserId(screwdriverUserId)));
+ AthenzDbMock.Domain domain = mock.getSetup().domains.get(new AthenzDomain(domainName));
+ domain.admin(new AthenzPrincipal(new AthenzDomain(athenzScrewdriverDomain), new UserId(screwdriverUserId)));
}
private void startAndTestChange(ContainerControllerTester controllerTester, ApplicationId application, long projectId,
@@ -703,9 +703,9 @@ public class ApplicationApiTest extends ControllerContainerTest {
String testPath = String.format("/application/v4/tenant/%s/application/%s/environment/test/region/us-east-1/instance/default",
application.tenant().value(), application.application().value());
tester.assertResponse(request(testPath,
- deployData,
- Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ deployData,
+ Request.Method.POST,
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
tester.assertResponse(request(testPath,
"",
@@ -717,9 +717,9 @@ public class ApplicationApiTest extends ControllerContainerTest {
String stagingPath = String.format("/application/v4/tenant/%s/application/%s/environment/staging/region/us-east-3/instance/default",
application.tenant().value(), application.application().value());
tester.assertResponse(request(stagingPath,
- deployData,
- Request.Method.POST,
- athensScrewdriverDomain, "screwdriveruser1"),
+ deployData,
+ Request.Method.POST,
+ athenzScrewdriverDomain, "screwdriveruser1"),
new File("deploy-result.json"));
tester.assertResponse(request(stagingPath,
"",
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MockAuthorizer.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MockAuthorizer.java
index 6f8dfc681ac..e5898b7a593 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MockAuthorizer.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/MockAuthorizer.java
@@ -4,7 +4,7 @@ package com.yahoo.vespa.hosted.controller.restapi.application;
import com.yahoo.container.jdisc.HttpRequest;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.TestIdentities;
-import com.yahoo.vespa.hosted.controller.api.identifiers.AthensDomain;
+import com.yahoo.vespa.hosted.controller.api.identifiers.AthenzDomain;
import com.yahoo.vespa.hosted.controller.api.identifiers.UserId;
import com.yahoo.vespa.hosted.controller.api.integration.entity.EntityService;
import com.yahoo.vespa.hosted.controller.athenz.AthenzClientFactory;
@@ -32,7 +32,7 @@ public class MockAuthorizer extends Authorizer {
@Override
public Optional<Principal> getPrincipalIfAny(HttpRequest request) {
if (request.getProperty("user") == null) return Optional.empty();
- return Optional.of(new AthenzPrincipal(new AthensDomain(request.getProperty("domain")),
+ return Optional.of(new AthenzPrincipal(new AthenzDomain(request.getProperty("domain")),
new UserId(request.getProperty("user"))));
}