You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by du...@apache.org on 2018/06/21 14:08:52 UTC

[1/3] brooklyn-server git commit: Add test of REST /v1/server/ha/persist/export

Repository: brooklyn-server
Updated Branches:
  refs/heads/master e040f074f -> 7807a3e34


Add test of REST /v1/server/ha/persist/export


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/36136d63
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/36136d63
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/36136d63

Branch: refs/heads/master
Commit: 36136d63af8256c9e824db1f63b8b0dab1250f70
Parents: e040f07
Author: Aled Sage <al...@gmail.com>
Authored: Wed Jun 20 15:17:13 2018 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Jun 20 15:17:13 2018 +0100

----------------------------------------------------------------------
 .../brooklyn/rest/resources/ServerResource.java |  2 +-
 .../rest/resources/ServerResourceTest.java      | 39 +++++++++++++++++++-
 2 files changed, 38 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/36136d63/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 3c59624..9c117bd 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
@@ -483,7 +483,7 @@ public class ServerResource extends AbstractBrooklynRestResource implements Serv
             dir = ((FileBasedObjectStore)targetStore).getBaseDir();
             // only register the parent dir because that will prevent leaks for the random ID
             Os.deleteOnExitEmptyParentsUpTo(dir.getParentFile(), dir.getParentFile());
-            BrooklynPersistenceUtils.writeMemento(mgmt(), targetStore, preferredOrigin);            
+            BrooklynPersistenceUtils.writeMemento(mgmt(), targetStore, preferredOrigin);
             
             ByteArrayOutputStream baos = new ByteArrayOutputStream();
             ArchiveBuilder.zip().addDirContentsAt( ((FileBasedObjectStore)targetStore).getBaseDir(), ((FileBasedObjectStore)targetStore).getBaseDir().getName() ).stream(baos);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/36136d63/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 e1ca759..786f8db 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
@@ -20,11 +20,22 @@ package org.apache.brooklyn.rest.resources;
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
 
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
 
+import javax.ws.rs.core.Response;
+
+import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.entity.ImplementedBy;
+import org.apache.brooklyn.api.location.Location;
+import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.api.mgmt.ManagementContext;
 import org.apache.brooklyn.api.mgmt.ha.ManagementNodeState;
 import org.apache.brooklyn.core.BrooklynVersion;
@@ -33,17 +44,20 @@ import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcess;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcessDriver;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcessImpl;
+import org.apache.brooklyn.entity.stock.BasicApplication;
+import org.apache.brooklyn.location.ssh.SshMachineLocation;
 import org.apache.brooklyn.rest.domain.HighAvailabilitySummary;
 import org.apache.brooklyn.rest.domain.VersionSummary;
 import org.apache.brooklyn.rest.testing.BrooklynRestResourceTest;
 import org.apache.brooklyn.util.exceptions.Exceptions;
+import org.apache.brooklyn.util.text.StringPredicates;
+import org.apache.cxf.jaxrs.client.WebClient;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableSet;
-import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.client.WebClient;
+import com.google.common.collect.Iterables;
 
 @Test(singleThreaded = true,
         // by using a different suite name we disallow interleaving other tests between the methods of this test class, which wrecks the test fixtures
@@ -71,6 +85,27 @@ public class ServerResourceTest extends BrooklynRestResourceTest {
     }
 
     @Test
+    public void testExportPersistedState() throws Exception {
+        BasicApplication app = manager.getEntityManager().createEntity(EntitySpec.create(BasicApplication.class));
+        Location loc = manager.getLocationManager().createLocation(LocationSpec.create(SshMachineLocation.class));
+        byte[] zip = client().path("/server/ha/persist/export").get(byte[].class);
+        
+        List<String> entryNames = listEntryNames(zip);
+        assertTrue(Iterables.tryFind(entryNames, StringPredicates.containsLiteral(app.getId())).isPresent(), "entries="+entryNames);
+        assertTrue(Iterables.tryFind(entryNames, StringPredicates.containsLiteral(loc.getId())).isPresent(), "entries="+entryNames);
+    }
+
+    private List<String> listEntryNames(byte[] zip) throws Exception {
+        List<String> result = new ArrayList<>();
+        ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(zip));
+        ZipEntry entry;
+        while ((entry = zipInputStream.getNextEntry()) != null) {
+            result.add(entry.getName());
+        }
+        return result;
+    }
+    
+    @Test
     public void testGetHighAvailability() throws Exception {
         // Note by default management context from super is started without HA enabled.
         // Therefore can only assert a minimal amount of stuff.


[2/3] brooklyn-server git commit: BROOKLYN-594: fix /v1/server/ha/persist/export in karaf

Posted by du...@apache.org.
BROOKLYN-594: fix /v1/server/ha/persist/export in karaf


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/f6bb2080
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/f6bb2080
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/f6bb2080

Branch: refs/heads/master
Commit: f6bb208017c198660caf5cae41a7f9b29e2e1357
Parents: 36136d6
Author: Aled Sage <al...@gmail.com>
Authored: Wed Jun 20 15:17:46 2018 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Jun 20 15:17:46 2018 +0100

----------------------------------------------------------------------
 .../brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/f6bb2080/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
index 4c424b4..925b3f3 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java
@@ -43,7 +43,7 @@ import org.apache.brooklyn.core.entity.EntityInternal;
 import org.apache.brooklyn.core.mgmt.ha.ManagementPlaneSyncRecordPersisterToObjectStore;
 import org.apache.brooklyn.core.mgmt.ha.OsgiManager;
 import org.apache.brooklyn.core.mgmt.internal.LocalLocationManager;
-import org.apache.brooklyn.core.mgmt.internal.LocalManagementContext;
+import org.apache.brooklyn.core.mgmt.internal.ManagementContextInternal;
 import org.apache.brooklyn.core.mgmt.rebind.PersistenceExceptionHandlerImpl;
 import org.apache.brooklyn.core.mgmt.rebind.transformer.CompoundTransformer;
 import org.apache.brooklyn.core.mgmt.rebind.transformer.CompoundTransformerLoader;
@@ -192,7 +192,7 @@ public class BrooklynPersistenceUtils {
         for (CatalogItem<?,?> instance: mgmt.getCatalog().getCatalogItemsLegacy()) {
             result.catalogItem(instance.getId(), serializer.toString(newObjectMemento(instance)));
         }
-        OsgiManager osgi = ((LocalManagementContext)mgmt).getOsgiManager().orNull();
+        OsgiManager osgi = ((ManagementContextInternal)mgmt).getOsgiManager().orNull();
         if (osgi!=null) {
             for (ManagedBundle instance: osgi.getManagedBundles().values()) {
                 result.bundle(instance.getId(), serializer.toString(newObjectMemento(instance)));


[3/3] brooklyn-server git commit: Closes #972

Posted by du...@apache.org.
Closes #972

BROOKLYN-594: fix REST api /v1/server/ha/persist/export

Fixes https://issues.apache.org/jira/browse/BROOKLYN-594


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/7807a3e3
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/7807a3e3
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/7807a3e3

Branch: refs/heads/master
Commit: 7807a3e347806e757be4ecf3c9a2cb9ec7fd2c26
Parents: e040f07 f6bb208
Author: Duncan Grant <du...@cloudsoftcorp.com>
Authored: Thu Jun 21 15:08:23 2018 +0100
Committer: Duncan Grant <du...@cloudsoftcorp.com>
Committed: Thu Jun 21 15:08:34 2018 +0100

----------------------------------------------------------------------
 .../mgmt/persist/BrooklynPersistenceUtils.java  |  4 +-
 .../brooklyn/rest/resources/ServerResource.java |  2 +-
 .../rest/resources/ServerResourceTest.java      | 39 +++++++++++++++++++-
 3 files changed, 40 insertions(+), 5 deletions(-)
----------------------------------------------------------------------