Repository: brooklyn-server Updated Branches: refs/heads/master 2dbfe7cdb -> 6e5c2c252
Adds /v1/server/planeid Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/7bf13ae7 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/7bf13ae7 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/7bf13ae7 Branch: refs/heads/master Commit: 7bf13ae7e09a953561d75bbdb561192e7605153c Parents: 2dbfe7c Author: Aled Sage <[email protected]> Authored: Mon Jul 17 13:21:55 2017 +0100 Committer: Aled Sage <[email protected]> Committed: Mon Jul 17 13:21:55 2017 +0100 ---------------------------------------------------------------------- .../main/java/org/apache/brooklyn/rest/api/ServerApi.java | 5 +++++ .../apache/brooklyn/rest/resources/ServerResource.java | 10 ++++++++++ .../brooklyn/rest/resources/ServerResourceTest.java | 6 ++++++ .../apache/brooklyn/rest/testing/BrooklynRestApiTest.java | 2 ++ 4 files changed, 23 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7bf13ae7/rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java ---------------------------------------------------------------------- diff --git a/rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java b/rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java index 12e2c1c..766dcca 100644 --- a/rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java +++ b/rest/rest-api/src/main/java/org/apache/brooklyn/rest/api/ServerApi.java @@ -85,6 +85,11 @@ public interface ServerApi { public VersionSummary getVersion(); @GET + @Path("/planeid") + @ApiOperation(value = "Return the plane id (an identifier that is stable across restarts and HA failovers)") + public String getPlaneId(); + + @GET @Path("/up") @ApiOperation(value = "Returns whether this server is up - fully started, and not stopping, though it may have errors") public boolean isUp(); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7bf13ae7/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java ---------------------------------------------------------------------- diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java index 20a371a..d1215bc 100644 --- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java +++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/ServerResource.java @@ -346,6 +346,16 @@ public class ServerResource extends AbstractBrooklynRestResource implements Serv } @Override + public String getPlaneId() { + if (!Entitlements.isEntitled(mgmt().getEntitlementManager(), Entitlements.SERVER_STATUS, null)) + throw WebResourceUtils.forbidden("User '%s' is not authorized for this operation", Entitlements.getEntitlementContext().user()); + + Maybe<ManagementContext> mm = mgmtMaybe(); + Maybe<String> result = (mm.isPresent()) ? mm.get().getManagementPlaneIdMaybe() : Maybe.absent(); + return result.isPresent() ? result.get() : ""; + } + + @Override public boolean isUp() { if (!Entitlements.isEntitled(mgmt().getEntitlementManager(), Entitlements.SERVER_STATUS, null)) throw WebResourceUtils.forbidden("User '%s' is not authorized for this operation", Entitlements.getEntitlementContext().user()); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7bf13ae7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java ---------------------------------------------------------------------- diff --git a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java index e423951..3087186 100644 --- a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java +++ b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/ServerResourceTest.java @@ -59,6 +59,12 @@ public class ServerResourceTest extends BrooklynRestResourceTest { } @Test + public void testGetPlaneId() throws Exception { + String planeId = client().path("/server/planeid").get(String.class); + assertEquals(planeId, manager.getManagementPlaneIdMaybe().get()); + } + + @Test public void testGetStatus() throws Exception { ManagementNodeState nodeState = client().path("/server/ha/state").get(ManagementNodeState.class); assertEquals(nodeState.name(), "MASTER"); http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/7bf13ae7/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java ---------------------------------------------------------------------- diff --git a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java index 6c0b747..0d38eaa 100644 --- a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java +++ b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/testing/BrooklynRestApiTest.java @@ -146,6 +146,8 @@ public abstract class BrooklynRestApiTest { manager = new LocalManagementContextForTests(); } manager.getHighAvailabilityManager().disabled(); + ((LocalManagementContext)manager).generateManagementPlaneId(); + BasicLocationRegistry.addNamedLocationLocalhost(manager); new BrooklynCampPlatformLauncherNoServer()
