X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-it-base%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fit%2Fbase%2FAbstractConfigTestBase.java;h=84dcd65e48ce25f66a8a4fe5070f4b8fa78f6a09;hp=a61867b3018c6255c2e0ef49e6125dbf77942d0e;hb=436d614020a2cbc5b375e6aa0fdf1ed588995f19;hpb=4f6f89b4a6714d64a37a15a60c8a067f07a791f7 diff --git a/opendaylight/config/config-it-base/src/main/java/org/opendaylight/controller/config/it/base/AbstractConfigTestBase.java b/opendaylight/config/config-it-base/src/main/java/org/opendaylight/controller/config/it/base/AbstractConfigTestBase.java index a61867b301..84dcd65e48 100644 --- a/opendaylight/config/config-it-base/src/main/java/org/opendaylight/controller/config/it/base/AbstractConfigTestBase.java +++ b/opendaylight/config/config-it-base/src/main/java/org/opendaylight/controller/config/it/base/AbstractConfigTestBase.java @@ -9,23 +9,20 @@ package org.opendaylight.controller.config.it.base; import static org.ops4j.pax.exam.CoreOptions.maven; +import static org.ops4j.pax.exam.CoreOptions.mavenBundle; import static org.ops4j.pax.exam.CoreOptions.when; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.features; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.karafDistributionConfiguration; import static org.ops4j.pax.exam.karaf.options.KarafDistributionOption.keepRuntimeFolder; - import com.google.common.base.Stopwatch; - import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.management.ManagementFactory; import java.util.Properties; import java.util.concurrent.TimeUnit; - import javax.management.ObjectName; - import org.junit.Before; import org.junit.Rule; import org.junit.internal.AssumptionViolatedException; @@ -36,6 +33,7 @@ import org.opendaylight.controller.config.api.ConfigRegistry; import org.opendaylight.controller.config.util.ConfigRegistryJMXClient; import org.ops4j.pax.exam.Configuration; import org.ops4j.pax.exam.Option; +import org.ops4j.pax.exam.OptionUtils; import org.ops4j.pax.exam.karaf.options.KarafDistributionOption; import org.ops4j.pax.exam.karaf.options.LogLevelOption.LogLevel; import org.ops4j.pax.exam.options.MavenArtifactUrlReference; @@ -44,6 +42,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public abstract class AbstractConfigTestBase { + private static final String MAVEN_REPO_LOCAL = "maven.repo.local"; + private static final String ORG_OPS4J_PAX_URL_MVN_LOCAL_REPOSITORY = "org.ops4j.pax.url.mvn.localRepository"; + private static final String ETC_ORG_OPS4J_PAX_URL_MVN_CFG = "etc/org.ops4j.pax.url.mvn.cfg"; + private static final String ETC_ORG_OPS4J_PAX_LOGGING_CFG = "etc/org.ops4j.pax.logging.cfg"; private static final String PAX_EXAM_UNPACK_DIRECTORY = "target/exam"; private static final String KARAF_DEBUG_PORT = "5005"; @@ -56,8 +58,8 @@ public abstract class AbstractConfigTestBase { * Default values for karaf distro type, groupId, and artifactId */ private static final String KARAF_DISTRO_TYPE = "zip"; - private static final String KARAF_DISTRO_ARTIFACTID = "apache-karaf"; - private static final String KARAF_DISTRO_GROUPID = "org.apache.karaf"; + private static final String KARAF_DISTRO_ARTIFACTID = "opendaylight-karaf-empty"; + private static final String KARAF_DISTRO_GROUPID = "org.opendaylight.odlparent"; /* * Property names to override defaults for karaf distro artifactId, groupId, version, and type @@ -77,9 +79,25 @@ public abstract class AbstractConfigTestBase { */ private static final int MODULE_TIMEOUT_MILLIS = 60000; - public abstract String getModuleName(); + /** + * This method need only be overridden if using the config system. + * + * @return the config module name + */ + @Deprecated + public String getModuleName() { + return null; + } - public abstract String getInstanceName(); + /** + * This method need only be overridden if using the config system. + * + * @return the config module instance name + */ + @Deprecated + public String getInstanceName() { + return null; + } public abstract MavenUrlReference getFeatureRepo(); @@ -92,7 +110,16 @@ public abstract class AbstractConfigTestBase { return option; } - public String logConfiguration(Class klazz) { + /** + * Override this method to provide more options to config + * + * @return An array of additional config options + */ + protected Option[] getAdditionalOptions() { + return null; + } + + public String logConfiguration(final Class klazz) { return "log4j.logger." + klazz.getPackage().getName(); } @@ -108,7 +135,7 @@ public abstract class AbstractConfigTestBase { try (InputStream abstractConfigTestBaseInputStream = Thread.currentThread().getContextClassLoader() .getResourceAsStream(PROPERTIES_FILENAME)) { abstractConfigTestBaseProps.load(abstractConfigTestBaseInputStream); - } catch (IOException e) { + } catch (final IOException e) { LOG.error("Unable to load {} to determine the Karaf version", PROPERTIES_FILENAME, e); } version = abstractConfigTestBaseProps.getProperty(KARAF_DISTRO_VERSION_PROP); @@ -121,6 +148,13 @@ public abstract class AbstractConfigTestBase { return karafUrl.getURL(); } + protected Option mvnLocalRepoOption() { + String mvnRepoLocal = System.getProperty(MAVEN_REPO_LOCAL, ""); + LOG.info("mvnLocalRepo \"{}\"", mvnRepoLocal); + return editConfigurationFilePut(ETC_ORG_OPS4J_PAX_URL_MVN_CFG, ORG_OPS4J_PAX_URL_MVN_LOCAL_REPOSITORY, + mvnRepoLocal); + } + @Configuration public Option[] config() { Option[] options = new Option[] { @@ -131,25 +165,34 @@ public abstract class AbstractConfigTestBase { .useDeployFolder(false), when(Boolean.getBoolean(KEEP_UNPACK_DIRECTORY_PROP)).useOptions(keepRuntimeFolder()), features(getFeatureRepo(), getFeatureName()), - getLoggingOption()}; - return options; + mavenBundle("org.apache.aries.quiesce", "org.apache.aries.quiesce.api", "1.0.0"), + getLoggingOption(), + mvnLocalRepoOption(), + editConfigurationFilePut(ETC_ORG_OPS4J_PAX_LOGGING_CFG, "log4j.rootLogger", "INFO, stdout, osgi:*")}; + return OptionUtils.combine(options, getAdditionalOptions()); } @Before public void setup() throws Exception { + String moduleName = getModuleName(); + String instanceName = getInstanceName(); + if(moduleName == null || instanceName == null) { + return; + } + LOG.info("Module: {} Instance: {} attempting to configure.", - getModuleName(),getInstanceName()); + moduleName, instanceName); Stopwatch stopWatch = Stopwatch.createStarted(); ObjectName objectName = null; for(int i = 0;i