You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by dr...@apache.org on 2017/07/17 14:57:18 UTC
[1/3] brooklyn-server git commit: Adds /v1/server/planeid
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 <al...@gmail.com>
Authored: Mon Jul 17 13:21:55 2017 +0100
Committer: Aled Sage <al...@gmail.com>
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()
[3/3] brooklyn-server git commit: This closes #765
Posted by dr...@apache.org.
This closes #765
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/6e5c2c25
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/6e5c2c25
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/6e5c2c25
Branch: refs/heads/master
Commit: 6e5c2c25230861fe2ccc002f8cd8830aca08e906
Parents: 2dbfe7c 498dff0
Author: Duncan Godwin <dr...@googlemail.com>
Authored: Mon Jul 17 15:57:12 2017 +0100
Committer: Duncan Godwin <dr...@googlemail.com>
Committed: Mon Jul 17 15:57:12 2017 +0100
----------------------------------------------------------------------
.../main/java/org/apache/brooklyn/rest/api/ServerApi.java | 5 +++++
.../brooklyn/rest/domain/HighAvailabilitySummary.java | 10 +++++++++-
.../apache/brooklyn/rest/resources/ServerResource.java | 10 ++++++++++
.../rest/transform/HighAvailabilityTransformer.java | 2 +-
.../brooklyn/rest/resources/ServerResourceTest.java | 8 ++++++++
.../apache/brooklyn/rest/testing/BrooklynRestApiTest.java | 2 ++
6 files changed, 35 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
[2/3] brooklyn-server git commit: Adds plane-id to result of
/v1/server/ha/states
Posted by dr...@apache.org.
Adds plane-id to result of /v1/server/ha/states
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/498dff05
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/498dff05
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/498dff05
Branch: refs/heads/master
Commit: 498dff0550e3e439a476d2ee7b5fa9a794585d3c
Parents: 7bf13ae
Author: Aled Sage <al...@gmail.com>
Authored: Mon Jul 17 13:22:22 2017 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Mon Jul 17 13:22:22 2017 +0100
----------------------------------------------------------------------
.../brooklyn/rest/domain/HighAvailabilitySummary.java | 10 +++++++++-
.../rest/transform/HighAvailabilityTransformer.java | 2 +-
.../brooklyn/rest/resources/ServerResourceTest.java | 2 ++
3 files changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/498dff05/rest/rest-api/src/main/java/org/apache/brooklyn/rest/domain/HighAvailabilitySummary.java
----------------------------------------------------------------------
diff --git a/rest/rest-api/src/main/java/org/apache/brooklyn/rest/domain/HighAvailabilitySummary.java b/rest/rest-api/src/main/java/org/apache/brooklyn/rest/domain/HighAvailabilitySummary.java
index 037c08e..70752da 100644
--- a/rest/rest-api/src/main/java/org/apache/brooklyn/rest/domain/HighAvailabilitySummary.java
+++ b/rest/rest-api/src/main/java/org/apache/brooklyn/rest/domain/HighAvailabilitySummary.java
@@ -101,22 +101,29 @@ public class HighAvailabilitySummary implements Serializable {
}
}
+ private final String planeId;
private final String ownId;
private final String masterId;
private final Map<String, HaNodeSummary> nodes;
private final Map<String, URI> links;
public HighAvailabilitySummary(
+ @JsonProperty("planeId") String planeId,
@JsonProperty("ownId") String ownId,
@JsonProperty("masterId") String masterId,
@JsonProperty("nodes") Map<String, HaNodeSummary> nodes,
@JsonProperty("links") Map<String, URI> links) {
+ this.planeId = planeId;
this.ownId = ownId;
this.masterId = masterId;
this.nodes = (nodes == null) ? ImmutableMap.<String, HaNodeSummary>of() : nodes;
this.links = (links == null) ? ImmutableMap.<String, URI>of() : ImmutableMap.copyOf(links);
}
+ public String getPlaneId() {
+ return planeId;
+ }
+
public String getOwnId() {
return ownId;
}
@@ -138,7 +145,8 @@ public class HighAvailabilitySummary implements Serializable {
if (this == o) return true;
if (!(o instanceof HighAvailabilitySummary)) return false;
HighAvailabilitySummary that = (HighAvailabilitySummary) o;
- return Objects.equals(ownId, that.ownId) &&
+ return Objects.equals(planeId, that.planeId) &&
+ Objects.equals(ownId, that.ownId) &&
Objects.equals(masterId, that.masterId) &&
Objects.equals(nodes, that.nodes) &&
Objects.equals(links, that.links);
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/498dff05/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/HighAvailabilityTransformer.java
----------------------------------------------------------------------
diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/HighAvailabilityTransformer.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/HighAvailabilityTransformer.java
index 41b0f22..98909c8 100644
--- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/HighAvailabilityTransformer.java
+++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/transform/HighAvailabilityTransformer.java
@@ -40,7 +40,7 @@ public class HighAvailabilityTransformer {
// TODO What links?
ImmutableMap.Builder<String, URI> lb = ImmutableMap.<String, URI>builder();
- return new HighAvailabilitySummary(ownNodeId, memento.getMasterNodeId(), nodes, lb.build());
+ return new HighAvailabilitySummary(memento.getPlaneId(), ownNodeId, memento.getMasterNodeId(), nodes, lb.build());
}
public static HaNodeSummary haNodeSummary(ManagementNodeSyncRecord memento) {
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/498dff05/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 3087186..e1ca759 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
@@ -77,7 +77,9 @@ public class ServerResourceTest extends BrooklynRestResourceTest {
HighAvailabilitySummary summary = client().path("/server/ha/states").get(HighAvailabilitySummary.class);
log.info("HA summary is: "+summary);
+ String planeId = getManagementContext().getManagementPlaneIdMaybe().get();
String ownNodeId = getManagementContext().getManagementNodeId();
+ assertEquals(summary.getPlaneId(), planeId);
assertEquals(summary.getOwnId(), ownNodeId);
assertEquals(summary.getMasterId(), ownNodeId);
assertEquals(summary.getNodes().keySet(), ImmutableSet.of(ownNodeId));