On Saturday 03 March 2018 16:31:53 Serge Huber wrote:
> Hello,

Hi Serge,

> I'm struggling getting Apache Unomi tests to work since I migrated from
> Karaf 3 to Karaf 4.
> 
> Here is the error I am getting in the logs:
> 
> *2018-03-02T17:01:54,018 | ERROR | pool-1-thread-2  |
> BootFeaturesInstaller            | 10 - org.apache.karaf.features.core -
> 4.1.5 | Error installing boot features*
> 
> *org.apache.karaf.features.internal.util.MultiException: Error:*
> 
> *        Error downloading
> wrap:file:/Users/loom/.m2/repository/org/apache/kafka/kafka-clients/0.10.1.0
> /kafka-clients-0.10.1.0.jar <http://0.10.1.0/kafka-clients-0.10.1.0.jar>*
> 
> *        Error downloading
> wrap:file:/Users/loom/.m2/repository/org/apache/kafka/kafka-clients/0.10.1.0
> /kafka-clients-0.10.1.0.jar <http://0.10.1.0/kafka-clients-0.10.1.0.jar>*
> 
> *        at
> org.apache.karaf.features.internal.download.impl.MavenDownloadManager$MavenD
> ownloader.<init>(MavenDownloadManager.java:84) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.download.impl.MavenDownloadManager.create
> Downloader(MavenDownloadManager.java:72) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsyste
> m.java:375) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.region.Subsystem.downloadBundles(Subsyste
> m.java:372) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(Subsyste
> mResolver.java:187) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:291
> ) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(F
> eaturesServiceImpl.java:1248) ~[?:?]*
> 
> *        at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProv
> isionInThread$1(FeaturesServiceImpl.java:1147) ~[?:?]*
> 
> *        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]*
> 
> *        at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
> 42) [?:?]*
> 
> *        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
> 17) [?:?]*
> 
> *        at java.lang.Thread.run(Thread.java:745) [?:?]*
> 
> *        Suppressed: java.io.IOException: Error downloading
> wrap:file:/Users/loom/.m2/repository/org/apache/kafka/kafka-clients/0.10.1.0
> /kafka-clients-0.10.1.0.jar <http://0.10.1.0/kafka-clients-0.10.1.0.jar>*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTa
> sk.run(AbstractRetryableDownloadTask.java:77)
> [10:org.apache.karaf.features.core:4.1.5]*
> 
> *                at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> [?:?]*
> 
> *                at
> java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]*
> 
> *                at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$
> 201(ScheduledThreadPoolExecutor.java:180) [?:?]*
> 
> *                at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Sch
> eduledThreadPoolExecutor.java:293) [?:?]*
> 
> *                at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11
> 42) [?:?]*
> 
> *                at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
> 17) [?:?]*
> 
> *                at java.lang.Thread.run(Thread.java:745) [?:?]*
> 
> *        Caused by: java.io.IOException: Could not download
> [wrap:file:/Users/loom/.m2/repository/org/apache/kafka/kafka-clients/0.10.1.
> 0/kafka-clients-0.10.1.0.jar <http://0.10.1.0/kafka-clients-0.10.1.0.jar>]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download
> (SimpleDownloadTask.java:90) ~[?:?]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTa
> sk.run(AbstractRetryableDownloadTask.java:60) ~[?:?]*
> 
> *                ... 7 more*
> 
> *        Caused by: java.net.MalformedURLException: Unknown protocol: wrap*
> 
> *                at java.net.URL.<init>(URL.java:627) ~[?:?]*
> 
> *                at java.net.URL.<init>(URL.java:490) ~[?:?]*
> 
> *                at java.net.URL.<init>(URL.java:439) ~[?:?]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download
> (SimpleDownloadTask.java:62) ~[?:?]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTa
> sk.run(AbstractRetryableDownloadTask.java:60) ~[?:?]*
> 
> *                ... 7 more*
> 
> *        Caused by: java.lang.IllegalStateException: Unknown protocol: wrap*
> 
> *                at
> org.apache.felix.framework.URLHandlersStreamHandlerProxy.parseURL(URLHandler
> sStreamHandlerProxy.java:373) ~[?:?]*
> 
> *                at java.net.URL.<init>(URL.java:622) ~[?:?]*
> 
> *                at java.net.URL.<init>(URL.java:490) ~[?:?]*
> 
> *                at java.net.URL.<init>(URL.java:439) ~[?:?]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.SimpleDownloadTask.download
> (SimpleDownloadTask.java:62) ~[?:?]*
> 
> *                at
> org.apache.karaf.features.internal.download.impl.AbstractRetryableDownloadTa
> sk.run(AbstractRetryableDownloadTask.java:60) ~[?:?]*
> 
> *                ... 7 more*
> 
> Here is the setup for the Test case:
> 
>     protected static final String HTTP_PORT = "8181";
> 
>     protected static final String URL = "http://localhost:"; + HTTP_PORT;
> 
>     protected static final String KARAF_DIR = "target/exam";
> 
>     @Configuration
>     public Option[] config() {
>         MavenArtifactUrlReference karafUrl = maven()
>                 .groupId("org.apache.karaf")
>                 .artifactId("apache-karaf")
>                 .version("4.1.5")
>                 .type("tar.gz");
> 
>         MavenUrlReference karafStandardRepo = maven()
>                 .groupId("org.apache.karaf.features")
>                 .artifactId("standard")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
>         MavenUrlReference karafCellarRepo = maven()
>                 .groupId("org.apache.karaf.cellar")
>                 .artifactId("apache-karaf-cellar")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
>         MavenUrlReference karafPaxWebRepo = maven()
>                 .groupId("org.ops4j.pax.web")
>                 .artifactId("pax-web-features")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
>         MavenUrlReference karafCxfRepo = maven()
>                 .groupId("org.apache.cxf.karaf")
>                 .artifactId("apache-cxf")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
>         MavenUrlReference contextServerRepo = maven()
>                 .groupId("org.apache.unomi")
>                 .artifactId("unomi-kar")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
>         MavenUrlReference routerRepo = maven()
>                 .groupId("org.apache.unomi")
>                 .artifactId("unomi-router-karaf-feature")
>                 .classifier("features")
>                 .type("xml")
>                 .versionAsInProject();
> 
>         return new Option[]{
>                 debugConfiguration("5005", false),
>                 karafDistributionConfiguration()
>                         .frameworkUrl(karafUrl)
>                         .unpackDirectory(new File(KARAF_DIR))
>                         .useDeployFolder(true),
> 
> replaceConfigurationFile("etc/org.apache.unomi.router.cfg", new File(
>                         "src/test/resources/org.apache.unomi.router.cfg")),
> 
> replaceConfigurationFile("data/tmp/recurrent_import/2-surfers-test.csv",
> new File(
>                         "src/test/resources/2-surfers-test.csv")),
> 
> replaceConfigurationFile("data/tmp/recurrent_import/3-surfers-overwrite-test
> .csv", new File(
>                         "src/test/resources/3-surfers-overwrite-test.csv")),
> 
> replaceConfigurationFile("data/tmp/recurrent_import/4-surfers-delete-test.cs
> v", new File(
>                         "src/test/resources/4-surfers-delete-test.csv")),
> 
> replaceConfigurationFile("data/tmp/recurrent_import/5-ranking-test.csv",
> new File(
>                         "src/test/resources/5-ranking-test.csv")),
> 
> replaceConfigurationFile("data/tmp/recurrent_import/6-actors-test.csv",
> new File(
>                         "src/test/resources/6-actors-test.csv")),
>                 keepRuntimeFolder(),
>                 configureConsole().ignoreLocalConsole(),
>                 logLevel(LogLevel.INFO),
> //
> editConfigurationFilePut("etc/org.ops4j.pax.web.cfg",
> "org.osgi.service.http.port", HTTP_PORT),
> //               
> systemProperty("org.osgi.service.http.port").value(HTTP_PORT),
> systemProperty("org.ops4j.pax.exam.rbc.rmi.port").value("1199"),
> 
> systemProperty("org.apache.unomi.itests.elasticsearch.transport.port").value
> ("9500"),
> 
> systemProperty("org.apache.unomi.itests.elasticsearch.cluster.name").value("
> contextElasticSearchITests"),
> 
> systemProperty("org.apache.unomi.itests.elasticsearch.http.port").value("940
> 0"),
> 
> systemProperty("org.apache.unomi.itests.elasticsearch.bootstrap.seccomp").va
> lue("false"), systemProperty("unomi.autoStart").value("true"),
>                 features(karafPaxWebRepo, "shell"),
>                 features(karafStandardRepo, "wrap"),
>                 features(karafPaxWebRepo, "war"),
>                 features(karafCxfRepo, "cxf"),
>                 features(karafCellarRepo, "cellar"),
>                 features(contextServerRepo, "unomi-kar"),
>                 features(routerRepo, "unomi-router-karaf-feature"),
>                 // we need to wrap the HttpComponents libraries
> ourselves since the OSGi bundles provided by the project are incorrect
>                 wrappedBundle(mavenBundle("org.apache.httpcomponents",
>                         "httpcore").versionAsInProject()),
>                 wrappedBundle(mavenBundle("org.apache.httpcomponents",
>                         "httpmime").versionAsInProject()),
>                 wrappedBundle(mavenBundle("org.apache.httpcomponents",
>                         "httpclient").versionAsInProject())
>         };
> 
> It seems the problem is that the "unomi-router-karaf-feature" uses the wrap
> protocol but the resolver can't use it because it's also being deployed as
> a feature. It seems I need to specifiy it as a startup feature but I don't
> know how to achieve that.
> 
> If you prefer to have a look at the repository, you can find the full
> integration test here :
> 
> https://github.com/apache/incubator-unomi/tree/feature-UNOMI-5-KARAF4-1/ites
> ts
> 
> I'm quite stuck with this, so any help would be greatly appreciated !

you may find some hints in SLING-4412:

https://issues.apache.org/jira/browse/SLING-4412

HTH,
O.

> cheers,
>   Serge...
> 
> Serge Huber
> CTO & Co-Founder
> T +41 22 361 3424
> 9 route des Jeunes | 1227 Acacias | Switzerland
> jahia.com <http://www.jahia.com/>
> SKYPE | LINKEDIN <https://www.linkedin.com/in/sergehuber> | TWITTER
> <https://twitter.com/sergehuber> | VCARD
> <http://www.jahia.com/vcard/HuberSerge.vcf>
> 
> > JOIN OUR COMMUNITY <http://www.jahia.com/> to evaluate, get trained and
> 
> to discover why Jahia is a leading User Experience Platform (UXP) for
> Digital Transformation.

Reply via email to