You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2017/09/13 15:51:26 UTC
[1/3] brooklyn-server git commit: use type registry when confirming
catalog on startup
Repository: brooklyn-server
Updated Branches:
refs/heads/master 4795aac1b -> 459e892af
use type registry when confirming catalog on startup
prevents errors trying to check legacy catalog items
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/19410218
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/19410218
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/19410218
Branch: refs/heads/master
Commit: 19410218fa694f5dac270bcbf514034224f80384
Parents: 4795aac
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Sep 13 16:22:06 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Sep 13 16:31:59 2017 +0100
----------------------------------------------------------------------
.../catalog/internal/CatalogInitialization.java | 1 +
.../main/java/org/apache/brooklyn/cli/Main.java | 28 +++++++++++++++-----
2 files changed, 23 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/19410218/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
index f906344..ac5698d 100644
--- a/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
+++ b/core/src/main/java/org/apache/brooklyn/core/catalog/internal/CatalogInitialization.java
@@ -401,6 +401,7 @@ public class CatalogInitialization implements ManagementContextInjectable {
}
}
PropagatedRuntimeException wrap = new PropagatedRuntimeException("Error loading catalog item "+details, throwable);
+ log.warn(Exceptions.collapseText(wrap));
log.debug("Trace for: "+wrap, wrap);
((ManagementContextInternal)getManagementContext()).errors().add(wrap);
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/19410218/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
----------------------------------------------------------------------
diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
index 606a2a1..ebaa024 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/Main.java
@@ -23,7 +23,6 @@ import static com.google.common.base.Preconditions.checkNotNull;
import java.io.Console;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.Arrays;
import java.util.Collection;
@@ -43,6 +42,8 @@ import org.apache.brooklyn.api.internal.AbstractBrooklynObjectSpec;
import org.apache.brooklyn.api.mgmt.ManagementContext;
import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.api.mgmt.ha.HighAvailabilityMode;
+import org.apache.brooklyn.api.typereg.BrooklynTypeRegistry.RegisteredTypeKind;
+import org.apache.brooklyn.api.typereg.RegisteredType;
import org.apache.brooklyn.cli.CloudExplorer.BlobstoreGetBlobCommand;
import org.apache.brooklyn.cli.CloudExplorer.BlobstoreListContainerCommand;
import org.apache.brooklyn.cli.CloudExplorer.BlobstoreListContainersCommand;
@@ -55,10 +56,7 @@ import org.apache.brooklyn.cli.CloudExplorer.ComputeTerminateInstancesCommand;
import org.apache.brooklyn.cli.ItemLister.ListAllCommand;
import org.apache.brooklyn.core.BrooklynVersion;
import org.apache.brooklyn.core.catalog.internal.CatalogInitialization;
-import org.apache.brooklyn.core.entity.AbstractApplication;
-import org.apache.brooklyn.core.entity.AbstractEntity;
import org.apache.brooklyn.core.entity.Entities;
-import org.apache.brooklyn.core.entity.StartableApplication;
import org.apache.brooklyn.core.entity.trait.Startable;
import org.apache.brooklyn.core.mgmt.ShutdownHandler;
import org.apache.brooklyn.core.mgmt.ha.OsgiManager;
@@ -66,6 +64,7 @@ import org.apache.brooklyn.core.mgmt.persist.BrooklynPersistenceUtils;
import org.apache.brooklyn.core.mgmt.persist.PersistMode;
import org.apache.brooklyn.core.mgmt.rebind.transformer.CompoundTransformer;
import org.apache.brooklyn.core.objs.BrooklynTypes;
+import org.apache.brooklyn.core.typereg.RegisteredTypes;
import org.apache.brooklyn.entity.stock.BasicApplication;
import org.apache.brooklyn.launcher.BrooklynLauncher;
import org.apache.brooklyn.launcher.BrooklynServerDetails;
@@ -639,8 +638,24 @@ public class Main extends AbstractMain {
protected void confirmCatalog(CatalogInitialization catInit) {
// Force load of catalog (so web console is up to date)
Stopwatch time = Stopwatch.createStarted();
+ Iterable<RegisteredType> all = catInit.getManagementContext().getTypeRegistry().getAll();
+ int errors = 0;
+ for (RegisteredType rt: all) {
+ if (RegisteredTypes.isTemplate(rt)) {
+ // skip validation of templates, they might contain instructions,
+ // and additionally they might contain multiple items in which case
+ // the validation below won't work anyway (you need to go via a deployment plan)
+ } else {
+ if (rt.getKind()==RegisteredTypeKind.UNRESOLVED) {
+ errors++;
+ catInit.handleException(new UserFacingException("Unresolved type in catalog"), rt);
+ }
+ }
+ }
+
+ // and force resolution of legacy items
BrooklynCatalog catalog = catInit.getManagementContext().getCatalog();
- Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItems();
+ Iterable<CatalogItem<Object, Object>> items = catalog.getCatalogItemsLegacy();
for (CatalogItem<Object, Object> item: items) {
try {
if (item.getCatalogItemType()==CatalogItemType.TEMPLATE) {
@@ -658,7 +673,8 @@ public class Main extends AbstractMain {
catInit.handleException(throwable, item);
}
}
- log.debug("Catalog (size "+Iterables.size(items)+") confirmed in "+Duration.of(time));
+
+ log.debug("Catalog (size "+Iterables.size(all)+", of which "+Iterables.size(items)+" legacy) confirmed in "+Duration.of(time)+(errors>0 ? ", errors found ("+errors+")" : ""));
// nothing else added here
}
[2/3] brooklyn-server git commit: only search in legacy catalog items
in a couple other places
Posted by he...@apache.org.
only search in legacy catalog items in a couple other places
and disable by default a feature that searches in all catalog bundles when rebinding
(as persistence should now include bundles)
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/cc597770
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/cc597770
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/cc597770
Branch: refs/heads/master
Commit: cc597770823a4c8dbe659eaed1e310bfe90dd0a5
Parents: 1941021
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Sep 13 16:39:04 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Sep 13 16:39:04 2017 +0100
----------------------------------------------------------------------
.../org/apache/brooklyn/core/BrooklynFeatureEnablement.java | 2 +-
.../brooklyn/core/mgmt/persist/BrooklynPersistenceUtils.java | 2 +-
.../org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java | 5 +++--
3 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/cc597770/core/src/main/java/org/apache/brooklyn/core/BrooklynFeatureEnablement.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/BrooklynFeatureEnablement.java b/core/src/main/java/org/apache/brooklyn/core/BrooklynFeatureEnablement.java
index 8bbe2a4..55d6af0 100644
--- a/core/src/main/java/org/apache/brooklyn/core/BrooklynFeatureEnablement.java
+++ b/core/src/main/java/org/apache/brooklyn/core/BrooklynFeatureEnablement.java
@@ -146,7 +146,7 @@ public class BrooklynFeatureEnablement {
setDefault(FEATURE_DEFAULT_STANDBY_IS_HOT_PROPERTY, false);
setDefault(FEATURE_RENAME_THREADS, false);
setDefault(FEATURE_JITTER_THREADS, false);
- setDefault(FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND, true);
+ setDefault(FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND, false);
setDefault(FEATURE_AUTO_FIX_CATALOG_REF_ON_REBIND, false);
setDefault(FEATURE_SSH_ASYNC_EXEC, false);
setDefault(FEATURE_VALIDATE_LOCATION_SSH_KEYS, true);
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/cc597770/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 ca63cce..4c424b4 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
@@ -189,7 +189,7 @@ public class BrooklynPersistenceUtils {
result.policy(instanceAdjunct.getId(), serializer.toString(newObjectMemento(instanceAdjunct)));
}
}
- for (CatalogItem<?,?> instance: mgmt.getCatalog().getCatalogItems()) {
+ for (CatalogItem<?,?> instance: mgmt.getCatalog().getCatalogItemsLegacy()) {
result.catalogItem(instance.getId(), serializer.toString(newObjectMemento(instance)));
}
OsgiManager osgi = ((LocalManagementContext)mgmt).getOsgiManager().orNull();
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/cc597770/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
index 76a4d31..36f4275 100644
--- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
+++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java
@@ -1122,12 +1122,13 @@ public abstract class RebindIteration {
throw new IllegalStateException("Unable to load "+jType+" for catalog item " + catalogItemId + " for " + contextSuchAsId);
} else if (BrooklynFeatureEnablement.isEnabled(FEATURE_BACKWARDS_COMPATIBILITY_INFER_CATALOG_ITEM_ON_REBIND)) {
- //Try loading from whichever catalog bundle succeeds.
+ //Try loading from whichever catalog bundle succeeds (legacy CI items only; also disabling this, as no longer needed 2017-09)
BrooklynCatalog catalog = managementContext.getCatalog();
- for (CatalogItem<?, ?> item : catalog.getCatalogItems()) {
+ for (CatalogItem<?, ?> item : catalog.getCatalogItemsLegacy()) {
BrooklynClassLoadingContext catalogLoader = CatalogUtils.newClassLoadingContext(managementContext, item);
Maybe<Class<?>> catalogClass = catalogLoader.tryLoadClass(jType);
if (catalogClass.isPresent()) {
+ LOG.warn("Found "+jType+" only by scanning catalog item search paths");
return new LoadedClass<T>((Class<? extends T>) catalogClass.get(), catalogItemId, reboundSearchPath);
}
}
[3/3] brooklyn-server git commit: This closes #820
Posted by he...@apache.org.
This closes #820
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/459e892a
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/459e892a
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/459e892a
Branch: refs/heads/master
Commit: 459e892af6860c57afe221ff6de3196961c7b20a
Parents: 4795aac cc59777
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Sep 13 16:51:14 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Sep 13 16:51:14 2017 +0100
----------------------------------------------------------------------
.../core/BrooklynFeatureEnablement.java | 2 +-
.../catalog/internal/CatalogInitialization.java | 1 +
.../mgmt/persist/BrooklynPersistenceUtils.java | 2 +-
.../core/mgmt/rebind/RebindIteration.java | 5 ++--
.../main/java/org/apache/brooklyn/cli/Main.java | 28 +++++++++++++++-----
5 files changed, 28 insertions(+), 10 deletions(-)
----------------------------------------------------------------------