Help migrating jclouds/Karaf integration to Java 8

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Help migrating jclouds/Karaf integration to Java 8

Ignasi Barrera
This thread is cross-posted to the jclouds-dev list.

We (jclouds) are trying to move our codebase to Java 8 and are stuck with an issue we've found in our Karaf integration that we are not able to understand.

We have our codebase compiled with Java 8, and our Karaf integration (built with Java 8 too) updated to use Karaf 4.2.0. We are able to add the generated jclouds features repo to a vanilla Karaf distribution, but after installing a feature for the first time, all subsequent attempts to install a feature, or even to uninstall a just installed one (?!), we get an error similar to the following one. Here is a complete example with a just downloaded Karaf 4.2.0:

karaf@root()> feature:repo-add mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
Adding feature url mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features

karaf@root()> feature:repo-list 
Repository                        │ URL
──────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────
enterprise-4.2.0                  │ mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
pax-transx-0.2.0                  │ mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
jclouds-2.2.0-SNAPSHOT            │ mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
framework-4.2.0                   │ mvn:org.apache.karaf.features/framework/4.2.0/xml/features
org.ops4j.pax.web-7.0.0           │ mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
hibernate-validator-osgi-features │ mvn:org.hibernate.validator/hibernate-validator-osgi-karaf-features/6.0.9.Final/xml/features
hibernate-osgi                    │ mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
pax-jms-0.3.0                     │ mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
org.ops4j.pax.cdi-1.0.0           │ mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
standard-4.2.0                    │ mvn:org.apache.karaf.features/standard/4.2.0/xml/features
spring-4.2.0                      │ mvn:org.apache.karaf.features/spring/4.2.0/xml/features
org.ops4j.pax.jdbc-1.2.0          │ mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
aries-jpa-2.6.1                   │ mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features

karaf@root()> feature:install jclouds-digitalocean2

karaf@root()> feature:list | grep jclouds | grep Started
jclouds-guice                            │ 2.2.0.SNAPSHOT   │          │ Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google Guice
jclouds                                  │ 2.2.0.SNAPSHOT   │          │ Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
jclouds-compute                          │ 2.2.0.SNAPSHOT   │          │ Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - compute
jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │          │ Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - scriptbuilder
jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │          │ Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - API - OAuth
jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x        │ Started     │ jclouds-2.2.0-SNAPSHOT            │ Components to access DigitalOcean v2

karaf@root()> feature:uninstall jclouds-digitalocean2                                                                                                     
org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=jaas; type=karaf.feature; version="[4.2.0,4.2.0]"; filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" [caused by: Unable to resolve jaas/4.2.0: missing requirement [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules; type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package; filter:="(osgi.wiring.package=javax.net)"]]
at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Error executing command: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=jaas; type=karaf.feature; version="[4.2.0,4.2.0]"; filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" [caused by: Unable to resolve jaas/4.2.0: missing requirement [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules; type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package; filter:="(osgi.wiring.package=javax.net)"]]

karaf@root()> feature:install jclouds-aws-ec2
org.osgi.service.resolver.ResolutionException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature; version="[4.2.0,4.2.0]"; filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" [caused by: Unable to resolve diagnostic/4.2.0: missing requirement [diagnostic/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package; filter:="(osgi.wiring.package=javax.management)"]]
at org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Error executing command: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature; version="[4.2.0,4.2.0]"; filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))" [caused by: Unable to resolve diagnostic/4.2.0: missing requirement [diagnostic/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package; filter:="(osgi.wiring.package=javax.management)"]]

At this point, it fails to install/uninstall any feature.

The relevant changes to the jclouds-karaf project are here:
Could the OSGi filter introduced in that PR be the cause of the issue? If it is could be part of the issue, why can are we able to install the feature initially?


If you want to reproduce the issue locally you can build the following branches with "mvn clean install -DskipTests":

After these three repos have been built everything should be in place to install the local jclouds feature repo and reproduce the issue.




Your help would be highly appreciated,


I.
Reply | Threaded
Open this post in threaded view
|

Re: Help migrating jclouds/Karaf integration to Java 8

jbonofre
Hi,

I'm gonna help on this one, as I also need this in a personal project ;)

I'm starting a "fixing" branch.

Regards
JB

On 11/06/2018 16:30, Ignasi Barrera wrote:

> This thread is cross-posted to the jclouds-dev list.
>
> We (jclouds) are trying to move our codebase to Java 8 and are stuck
> with an issue we've found in our Karaf integration that we are not able
> to understand.
>
> We have our codebase compiled with Java 8, and our Karaf
> integration (built with Java 8 too) updated to use Karaf 4.2.0. We are
> able to add the generated jclouds features repo to a vanilla Karaf
> distribution, but after installing a feature for the first time, all
> subsequent attempts to install a feature, or even to uninstall a just
> installed one (?!), we get an error similar to the following one. Here
> is a complete example with a just downloaded Karaf 4.2.0:
>
> karaf@root()> feature:repo-add
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> Adding feature url
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
>
> karaf@root()> feature:repo-list 
> Repository                        │ URL
> ──────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────
> enterprise-4.2.0                  │
> mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
> pax-transx-0.2.0                  │
> mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
> jclouds-2.2.0-SNAPSHOT            │
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> framework-4.2.0                   │
> mvn:org.apache.karaf.features/framework/4.2.0/xml/features
> org.ops4j.pax.web-7.0.0           │
> mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
> hibernate-validator-osgi-features │
> mvn:org.hibernate.validator/hibernate-validator-osgi-karaf-features/6.0.9.Final/xml/features
> hibernate-osgi                    │
> mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
> pax-jms-0.3.0                     │
> mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
> org.ops4j.pax.cdi-1.0.0           │
> mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
> standard-4.2.0                    │
> mvn:org.apache.karaf.features/standard/4.2.0/xml/features
> spring-4.2.0                      │
> mvn:org.apache.karaf.features/spring/4.2.0/xml/features
> org.ops4j.pax.jdbc-1.2.0          │
> mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
> aries-jpa-2.6.1                   │
> mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features
>
> karaf@root()> feature:install jclouds-digitalocean2
>
> karaf@root()> feature:list | grep jclouds | grep Started
> jclouds-guice                            │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google Guice
> jclouds                                  │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
> jclouds-compute                          │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - compute
> jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - scriptbuilder
> jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - API - OAuth
> jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x        │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ Components to access
> DigitalOcean v2
>
> karaf@root()> feature:uninstall jclouds-digitalocean2                   
>                                                                        
>          
> org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> missing requirement [root] osgi.identity; osgi.identity=jaas;
> type=karaf.feature; version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve jaas/4.2.0: missing requirement
> [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> at
> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Error executing command: Unable to resolve root: missing requirement
> [root] osgi.identity; osgi.identity=jaas; type=karaf.feature;
> version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve jaas/4.2.0: missing requirement
> [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
>
> karaf@root()> feature:install jclouds-aws-ec2
> org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> missing requirement [root] osgi.identity; osgi.identity=diagnostic;
> type=karaf.feature; version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> [diagnostic/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.management)"]]
> at
> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Error executing command: Unable to resolve root: missing requirement
> [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature;
> version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> [diagnostic/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.management)"]]
>
> At this point, it fails to install/uninstall any feature.
>
> The relevant changes to the jclouds-karaf project are here:
> https://github.com/jclouds/jclouds-karaf/pull/108
> Could the OSGi filter introduced in that PR be the cause of the issue?
> If it is could be part of the issue, why can are we able to install the
> feature initially?
>
>
> If you want to reproduce the issue locally you can build the following
> branches with "mvn clean install -DskipTests":
> 1. https://github.com/gaul/jclouds/tree/jdk1.8
> 2. https://github.com/andreaturli/jclouds-labs/tree/java8-guava21
> 3. https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21
>
> After these three repos have been built everything should be in place to
> install the local jclouds feature repo and reproduce the issue.
>
>
>
>
> Your help would be highly appreciated,
>
>
> I.

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Help migrating jclouds/Karaf integration to Java 8

Ignasi Barrera
Thanks for the quick reply! It's always a pleasure to ask for help in this list :)

On 11 June 2018 at 16:35, Jean-Baptiste Onofré <[hidden email]> wrote:
Hi,

I'm gonna help on this one, as I also need this in a personal project ;)

I'm starting a "fixing" branch.

Regards
JB

On 11/06/2018 16:30, Ignasi Barrera wrote:
> This thread is cross-posted to the jclouds-dev list.
>
> We (jclouds) are trying to move our codebase to Java 8 and are stuck
> with an issue we've found in our Karaf integration that we are not able
> to understand.
>
> We have our codebase compiled with Java 8, and our Karaf
> integration (built with Java 8 too) updated to use Karaf 4.2.0. We are
> able to add the generated jclouds features repo to a vanilla Karaf
> distribution, but after installing a feature for the first time, all
> subsequent attempts to install a feature, or even to uninstall a just
> installed one (?!), we get an error similar to the following one. Here
> is a complete example with a just downloaded Karaf 4.2.0:
>
> karaf@root()> feature:repo-add
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> Adding feature url
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
>
> karaf@root()> feature:repo-list 
> Repository                        │ URL
> ──────────────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────
> enterprise-4.2.0                  │
> mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
> pax-transx-0.2.0                  │
> mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
> jclouds-2.2.0-SNAPSHOT            │
> mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> framework-4.2.0                   │
> mvn:org.apache.karaf.features/framework/4.2.0/xml/features
> org.ops4j.pax.web-7.0.0           │
> mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
> hibernate-validator-osgi-features │
> mvn:org.hibernate.validator/hibernate-validator-osgi-karaf-features/6.0.9.Final/xml/features
> hibernate-osgi                    │
> mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
> pax-jms-0.3.0                     │
> mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
> org.ops4j.pax.cdi-1.0.0           │
> mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
> standard-4.2.0                    │
> mvn:org.apache.karaf.features/standard/4.2.0/xml/features
> spring-4.2.0                      │
> mvn:org.apache.karaf.features/spring/4.2.0/xml/features
> org.ops4j.pax.jdbc-1.2.0          │
> mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
> aries-jpa-2.6.1                   │
> mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features
>
> karaf@root()> feature:install jclouds-digitalocean2
>
> karaf@root()> feature:list | grep jclouds | grep Started
> jclouds-guice                            │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google Guice
> jclouds                                  │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
> jclouds-compute                          │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - compute
> jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - scriptbuilder
> jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │          │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - API - OAuth
> jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x        │
> Started     │ jclouds-2.2.0-SNAPSHOT            │ Components to access
> DigitalOcean v2
>
> karaf@root()> feature:uninstall jclouds-digitalocean2                   
>                                                                        
>          
> org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> missing requirement [root] osgi.identity; osgi.identity=jaas;
> type=karaf.feature; version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve jaas/4.2.0: missing requirement
> [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> at
> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Error executing command: Unable to resolve root: missing requirement
> [root] osgi.identity; osgi.identity=jaas; type=karaf.feature;
> version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=jaas)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve jaas/4.2.0: missing requirement
> [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
>
> karaf@root()> feature:install jclouds-aws-ec2
> org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> missing requirement [root] osgi.identity; osgi.identity=diagnostic;
> type=karaf.feature; version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> [diagnostic/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.management)"]]
> at
> org.apache.felix.resolver.ResolutionError.toException(ResolutionError.java:42)
> at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:391)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> at
> org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:248)
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:388)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1025)
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:964)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Error executing command: Unable to resolve root: missing requirement
> [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature;
> version="[4.2.0,4.2.0]";
> filter:="(&(osgi.identity=diagnostic)(type=karaf.feature)(version>=4.2.0)(version<=4.2.0))"
> [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> [diagnostic/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> filter:="(osgi.wiring.package=javax.management)"]]
>
> At this point, it fails to install/uninstall any feature.
>
> The relevant changes to the jclouds-karaf project are here:
> https://github.com/jclouds/jclouds-karaf/pull/108
> Could the OSGi filter introduced in that PR be the cause of the issue?
> If it is could be part of the issue, why can are we able to install the
> feature initially?
>
>
> If you want to reproduce the issue locally you can build the following
> branches with "mvn clean install -DskipTests":
> 1. https://github.com/gaul/jclouds/tree/jdk1.8
> 2. https://github.com/andreaturli/jclouds-labs/tree/java8-guava21
> 3. https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21
>
> After these three repos have been built everything should be in place to
> install the local jclouds feature repo and reproduce the issue.
>
>
>
>
> Your help would be highly appreciated,
>
>
> I.

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply | Threaded
Open this post in threaded view
|

Re: Help migrating jclouds/Karaf integration to Java 8

Andrea Turli
Thanks guys for this, I've been having hard time trying to solve this!

Il lun 11 giu 2018, 16:44 Ignasi Barrera <[hidden email]> ha scritto:
Thanks for the quick reply! It's always a pleasure to ask for help in this
list :)

On 11 June 2018 at 16:35, Jean-Baptiste Onofré <[hidden email]> wrote:

> Hi,
>
> I'm gonna help on this one, as I also need this in a personal project ;)
>
> I'm starting a "fixing" branch.
>
> Regards
> JB
>
> On 11/06/2018 16:30, Ignasi Barrera wrote:
> > This thread is cross-posted to the jclouds-dev list.
> >
> > We (jclouds) are trying to move our codebase to Java 8 and are stuck
> > with an issue we've found in our Karaf integration that we are not able
> > to understand.
> >
> > We have our codebase compiled with Java 8, and our Karaf
> > integration (built with Java 8 too) updated to use Karaf 4.2.0. We are
> > able to add the generated jclouds features repo to a vanilla Karaf
> > distribution, but after installing a feature for the first time, all
> > subsequent attempts to install a feature, or even to uninstall a just
> > installed one (?!), we get an error similar to the following one. Here
> > is a complete example with a just downloaded Karaf 4.2.0:
> >
> > karaf@root()> feature:repo-add
> > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> > Adding feature url
> > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> >
> > karaf@root()> feature:repo-list
> > Repository                        │ URL
> > ──────────────────────────────────┼─────────────────────────
> ────────────────────────────────────────────────────────────────────
> > enterprise-4.2.0                  │
> > mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
> > pax-transx-0.2.0                  │
> > mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
> > jclouds-2.2.0-SNAPSHOT            │
> > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> > framework-4.2.0                   │
> > mvn:org.apache.karaf.features/framework/4.2.0/xml/features
> > org.ops4j.pax.web-7.0.0           │
> > mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
> > hibernate-validator-osgi-features │
> > mvn:org.hibernate.validator/hibernate-validator-osgi-
> karaf-features/6.0.9.Final/xml/features
> > hibernate-osgi                    │
> > mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
> > pax-jms-0.3.0                     │
> > mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
> > org.ops4j.pax.cdi-1.0.0           │
> > mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
> > standard-4.2.0                    │
> > mvn:org.apache.karaf.features/standard/4.2.0/xml/features
> > spring-4.2.0                      │
> > mvn:org.apache.karaf.features/spring/4.2.0/xml/features
> > org.ops4j.pax.jdbc-1.2.0          │
> > mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
> > aries-jpa-2.6.1                   │
> > mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features
> >
> > karaf@root()> feature:install jclouds-digitalocean2
> >
> > karaf@root()> feature:list | grep jclouds | grep Started
> > jclouds-guice                            │ 2.2.0.SNAPSHOT   │          │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google Guice
> > jclouds                                  │ 2.2.0.SNAPSHOT   │          │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
> > jclouds-compute                          │ 2.2.0.SNAPSHOT   │          │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - compute
> > jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │          │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - scriptbuilder
> > jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │          │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - API - OAuth
> > jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x        │
> > Started     │ jclouds-2.2.0-SNAPSHOT            │ Components to access
> > DigitalOcean v2
> >
> > karaf@root()> feature:uninstall jclouds-digitalocean2
> >
> >
> > org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> > missing requirement [root] osgi.identity; osgi.identity=jaas;
> > type=karaf.feature; version="[4.2.0,4.2.0]";
> > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
> version>=4.2.0)(version<=4.2.0))"
> > [caused by: Unable to resolve jaas/4.2.0: missing requirement
> > [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> > at
> > org.apache.felix.resolver.ResolutionError.toException(
> ResolutionError.java:42)
> > at org.apache.felix.resolver.ResolverImpl.doResolve(
> ResolverImpl.java:391)
> > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> > at
> > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
> SubsystemResolver.java:248)
> > at
> > org.apache.karaf.features.internal.service.Deployer.
> deploy(Deployer.java:388)
> > at
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
> doProvision(FeaturesServiceImpl.java:1025)
> > at
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
> doProvisionInThread$13(FeaturesServiceImpl.java:964)
> > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> > at java.lang.Thread.run(Thread.java:745)
> > Error executing command: Unable to resolve root: missing requirement
> > [root] osgi.identity; osgi.identity=jaas; type=karaf.feature;
> > version="[4.2.0,4.2.0]";
> > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
> version>=4.2.0)(version<=4.2.0))"
> > [caused by: Unable to resolve jaas/4.2.0: missing requirement
> > [jaas/4.2.0] osgi.identity; osgi.identity=org.apache.karaf.jaas.modules;
> > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory [caused
> > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> >
> > karaf@root()> feature:install jclouds-aws-ec2
> > org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> > missing requirement [root] osgi.identity; osgi.identity=diagnostic;
> > type=karaf.feature; version="[4.2.0,4.2.0]";
> > filter:="(&(osgi.identity=diagnostic)(type=karaf.
> feature)(version>=4.2.0)(version<=4.2.0))"
> > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> > [diagnostic/4.2.0] osgi.identity;
> > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> > filter:="(osgi.wiring.package=javax.management)"]]
> > at
> > org.apache.felix.resolver.ResolutionError.toException(
> ResolutionError.java:42)
> > at org.apache.felix.resolver.ResolverImpl.doResolve(
> ResolverImpl.java:391)
> > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> > at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> > at
> > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
> SubsystemResolver.java:248)
> > at
> > org.apache.karaf.features.internal.service.Deployer.
> deploy(Deployer.java:388)
> > at
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
> doProvision(FeaturesServiceImpl.java:1025)
> > at
> > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
> doProvisionInThread$13(FeaturesServiceImpl.java:964)
> > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(
> ThreadPoolExecutor.java:1142)
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> ThreadPoolExecutor.java:617)
> > at java.lang.Thread.run(Thread.java:745)
> > Error executing command: Unable to resolve root: missing requirement
> > [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature;
> > version="[4.2.0,4.2.0]";
> > filter:="(&(osgi.identity=diagnostic)(type=karaf.
> feature)(version>=4.2.0)(version<=4.2.0))"
> > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> > [diagnostic/4.2.0] osgi.identity;
> > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> > filter:="(osgi.wiring.package=javax.management)"]]
> >
> > At this point, it fails to install/uninstall any feature.
> >
> > The relevant changes to the jclouds-karaf project are here:
> > https://github.com/jclouds/jclouds-karaf/pull/108
> > Could the OSGi filter introduced in that PR be the cause of the issue?
> > If it is could be part of the issue, why can are we able to install the
> > feature initially?
> >
> >
> > If you want to reproduce the issue locally you can build the following
> > branches with "mvn clean install -DskipTests":
> > 1. https://github.com/gaul/jclouds/tree/jdk1.8
> > 2. https://github.com/andreaturli/jclouds-labs/tree/java8-guava21
> > 3. https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21
> >
> > After these three repos have been built everything should be in place to
> > install the local jclouds feature repo and reproduce the issue.
> >
> >
> >
> >
> > Your help would be highly appreciated,
> >
> >
> > I.
>
> --
> Jean-Baptiste Onofré
> [hidden email]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Reply | Threaded
Open this post in threaded view
|

Re: Help migrating jclouds/Karaf integration to Java 8

Ignasi Barrera
Hi Jean-Baptiste,

Did you have a chance to have a look at this? Is there anything we can do to help, or do you have any pointers that could help us move forward in the right direction?


Thanks,

I.

On 11 June 2018 at 10:26, Andrea Turli <[hidden email]> wrote:
Thanks guys for this, I've been having hard time trying to solve this!

Il lun 11 giu 2018, 16:44 Ignasi Barrera <[hidden email]> ha scritto:

> Thanks for the quick reply! It's always a pleasure to ask for help in this
> list :)
>
> On 11 June 2018 at 16:35, Jean-Baptiste Onofré <[hidden email]> wrote:
>
> > Hi,
> >
> > I'm gonna help on this one, as I also need this in a personal project ;)
> >
> > I'm starting a "fixing" branch.
> >
> > Regards
> > JB
> >
> > On 11/06/2018 16:30, Ignasi Barrera wrote:
> > > This thread is cross-posted to the jclouds-dev list.
> > >
> > > We (jclouds) are trying to move our codebase to Java 8 and are stuck
> > > with an issue we've found in our Karaf integration that we are not able
> > > to understand.
> > >
> > > We have our codebase compiled with Java 8, and our Karaf
> > > integration (built with Java 8 too) updated to use Karaf 4.2.0. We are
> > > able to add the generated jclouds features repo to a vanilla Karaf
> > > distribution, but after installing a feature for the first time, all
> > > subsequent attempts to install a feature, or even to uninstall a just
> > > installed one (?!), we get an error similar to the following one. Here
> > > is a complete example with a just downloaded Karaf 4.2.0:
> > >
> > > karaf@root()> feature:repo-add
> > > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> > > Adding feature url
> > > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> > >
> > > karaf@root()> feature:repo-list
> > > Repository                        │ URL
> > > ──────────────────────────────────┼─────────────────────────
> > ────────────────────────────────────────────────────────────────────
> > > enterprise-4.2.0                  │
> > > mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
> > > pax-transx-0.2.0                  │
> > > mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
> > > jclouds-2.2.0-SNAPSHOT            │
> > > mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
> > > framework-4.2.0                   │
> > > mvn:org.apache.karaf.features/framework/4.2.0/xml/features
> > > org.ops4j.pax.web-7.0.0           │
> > > mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
> > > hibernate-validator-osgi-features │
> > > mvn:org.hibernate.validator/hibernate-validator-osgi-
> > karaf-features/6.0.9.Final/xml/features
> > > hibernate-osgi                    │
> > > mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
> > > pax-jms-0.3.0                     │
> > > mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
> > > org.ops4j.pax.cdi-1.0.0           │
> > > mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
> > > standard-4.2.0                    │
> > > mvn:org.apache.karaf.features/standard/4.2.0/xml/features
> > > spring-4.2.0                      │
> > > mvn:org.apache.karaf.features/spring/4.2.0/xml/features
> > > org.ops4j.pax.jdbc-1.2.0          │
> > > mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
> > > aries-jpa-2.6.1                   │
> > > mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features
> > >
> > > karaf@root()> feature:install jclouds-digitalocean2
> > >
> > > karaf@root()> feature:list | grep jclouds | grep Started
> > > jclouds-guice                            │ 2.2.0.SNAPSHOT   │
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google
> Guice
> > > jclouds                                  │ 2.2.0.SNAPSHOT   │
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
> > > jclouds-compute                          │ 2.2.0.SNAPSHOT   │
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - compute
> > > jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds -
> scriptbuilder
> > > jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - API - OAuth
> > > jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x
> │
> > > Started     │ jclouds-2.2.0-SNAPSHOT            │ Components to access
> > > DigitalOcean v2
> > >
> > > karaf@root()> feature:uninstall jclouds-digitalocean2
> > >
> > >
> > > org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> > > missing requirement [root] osgi.identity; osgi.identity=jaas;
> > > type=karaf.feature; version="[4.2.0,4.2.0]";
> > > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
> > version>=4.2.0)(version<=4.2.0))"
> > > [caused by: Unable to resolve jaas/4.2.0: missing requirement
> > > [jaas/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.jaas.modules;
> > > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory
> [caused
> > > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> > > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> > > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> > > at
> > > org.apache.felix.resolver.ResolutionError.toException(
> > ResolutionError.java:42)
> > > at org.apache.felix.resolver.ResolverImpl.doResolve(
> > ResolverImpl.java:391)
> > > at
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> > > at
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> > > at
> > > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
> > SubsystemResolver.java:248)
> > > at
> > > org.apache.karaf.features.internal.service.Deployer.
> > deploy(Deployer.java:388)
> > > at
> > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
> > doProvision(FeaturesServiceImpl.java:1025)
> > > at
> > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
> > doProvisionInThread$13(FeaturesServiceImpl.java:964)
> > > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > > at
> > > java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1142)
> > > at
> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:617)
> > > at java.lang.Thread.run(Thread.java:745)
> > > Error executing command: Unable to resolve root: missing requirement
> > > [root] osgi.identity; osgi.identity=jaas; type=karaf.feature;
> > > version="[4.2.0,4.2.0]";
> > > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
> > version>=4.2.0)(version<=4.2.0))"
> > > [caused by: Unable to resolve jaas/4.2.0: missing requirement
> > > [jaas/4.2.0] osgi.identity;
> osgi.identity=org.apache.karaf.jaas.modules;
> > > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory
> [caused
> > > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
> > > requirement [org.apache.karaf.jaas.modules/4.2.0] osgi.wiring.package;
> > > filter:="(osgi.wiring.package=javax.net <http://javax.net>)"]]
> > >
> > > karaf@root()> feature:install jclouds-aws-ec2
> > > org.osgi.service.resolver.ResolutionException: Unable to resolve root:
> > > missing requirement [root] osgi.identity; osgi.identity=diagnostic;
> > > type=karaf.feature; version="[4.2.0,4.2.0]";
> > > filter:="(&(osgi.identity=diagnostic)(type=karaf.
> > feature)(version>=4.2.0)(version<=4.2.0))"
> > > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> > > [diagnostic/4.2.0] osgi.identity;
> > > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> > > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> > > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> > > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> > > filter:="(osgi.wiring.package=javax.management)"]]
> > > at
> > > org.apache.felix.resolver.ResolutionError.toException(
> > ResolutionError.java:42)
> > > at org.apache.felix.resolver.ResolverImpl.doResolve(
> > ResolverImpl.java:391)
> > > at
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
> > > at
> org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
> > > at
> > > org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
> > SubsystemResolver.java:248)
> > > at
> > > org.apache.karaf.features.internal.service.Deployer.
> > deploy(Deployer.java:388)
> > > at
> > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
> > doProvision(FeaturesServiceImpl.java:1025)
> > > at
> > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
> > doProvisionInThread$13(FeaturesServiceImpl.java:964)
> > > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> > > at
> > > java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1142)
> > > at
> > > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:617)
> > > at java.lang.Thread.run(Thread.java:745)
> > > Error executing command: Unable to resolve root: missing requirement
> > > [root] osgi.identity; osgi.identity=diagnostic; type=karaf.feature;
> > > version="[4.2.0,4.2.0]";
> > > filter:="(&(osgi.identity=diagnostic)(type=karaf.
> > feature)(version>=4.2.0)(version<=4.2.0))"
> > > [caused by: Unable to resolve diagnostic/4.2.0: missing requirement
> > > [diagnostic/4.2.0] osgi.identity;
> > > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
> > > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by: Unable to
> > > resolve org.apache.karaf.diagnostic.core/4.2.0: missing requirement
> > > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
> > > filter:="(osgi.wiring.package=javax.management)"]]
> > >
> > > At this point, it fails to install/uninstall any feature.
> > >
> > > The relevant changes to the jclouds-karaf project are here:
> > > https://github.com/jclouds/jclouds-karaf/pull/108
> > > Could the OSGi filter introduced in that PR be the cause of the issue?
> > > If it is could be part of the issue, why can are we able to install the
> > > feature initially?
> > >
> > >
> > > If you want to reproduce the issue locally you can build the following
> > > branches with "mvn clean install -DskipTests":
> > > 1. https://github.com/gaul/jclouds/tree/jdk1.8
> > > 2. https://github.com/andreaturli/jclouds-labs/tree/java8-guava21
> > > 3. https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21
> > >
> > > After these three repos have been built everything should be in place
> to
> > > install the local jclouds feature repo and reproduce the issue.
> > >
> > >
> > >
> > >
> > > Your help would be highly appreciated,
> > >
> > >
> > > I.
> >
> > --
> > Jean-Baptiste Onofré
> > [hidden email]
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>

Reply | Threaded
Open this post in threaded view
|

Re: Help migrating jclouds/Karaf integration to Java 8

jbonofre
Hi Ignasi,

yes, I started on a private branch. Let me push on my github and share
with you.

Regards
JB

On 11/07/2018 18:28, Ignasi Barrera wrote:

> Hi Jean-Baptiste,
>
> Did you have a chance to have a look at this? Is there anything we can
> do to help, or do you have any pointers that could help us move forward
> in the right direction?
>
>
> Thanks,
>
> I.
>
> On 11 June 2018 at 10:26, Andrea Turli <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     Thanks guys for this, I've been having hard time trying to solve this!
>
>     Il lun 11 giu 2018, 16:44 Ignasi Barrera <[hidden email]
>     <mailto:[hidden email]>> ha scritto:
>
>     > Thanks for the quick reply! It's always a pleasure to ask for help
>     in this
>     > list :)
>     >
>     > On 11 June 2018 at 16:35, Jean-Baptiste Onofré <[hidden email]
>     <mailto:[hidden email]>> wrote:
>     >
>     > > Hi,
>     > >
>     > > I'm gonna help on this one, as I also need this in a personal
>     project ;)
>     > >
>     > > I'm starting a "fixing" branch.
>     > >
>     > > Regards
>     > > JB
>     > >
>     > > On 11/06/2018 16:30, Ignasi Barrera wrote:
>     > > > This thread is cross-posted to the jclouds-dev list.
>     > > >
>     > > > We (jclouds) are trying to move our codebase to Java 8 and are
>     stuck
>     > > > with an issue we've found in our Karaf integration that we are
>     not able
>     > > > to understand.
>     > > >
>     > > > We have our codebase compiled with Java 8, and our Karaf
>     > > > integration (built with Java 8 too) updated to use Karaf
>     4.2.0. We are
>     > > > able to add the generated jclouds features repo to a vanilla Karaf
>     > > > distribution, but after installing a feature for the first
>     time, all
>     > > > subsequent attempts to install a feature, or even to uninstall
>     a just
>     > > > installed one (?!), we get an error similar to the following
>     one. Here
>     > > > is a complete example with a just downloaded Karaf 4.2.0:
>     > > >
>     > > > karaf@root()> feature:repo-add
>     > > >
>     mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
>     > > > Adding feature url
>     > > >
>     mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
>     > > >
>     > > > karaf@root()> feature:repo-list
>     > > > Repository                        │ URL
>     > > > ──────────────────────────────────┼─────────────────────────
>     > > ────────────────────────────────────────────────────────────────────
>     > > > enterprise-4.2.0                  │
>     > > > mvn:org.apache.karaf.features/enterprise/4.2.0/xml/features
>     > > > pax-transx-0.2.0                  │
>     > > > mvn:org.ops4j.pax.transx/pax-transx-features/0.2.0/xml/features
>     > > > jclouds-2.2.0-SNAPSHOT            │
>     > > >
>     mvn:org.apache.jclouds.karaf/jclouds-karaf/2.2.0-SNAPSHOT/xml/features
>     > > > framework-4.2.0                   │
>     > > > mvn:org.apache.karaf.features/framework/4.2.0/xml/features
>     > > > org.ops4j.pax.web-7.0.0           │
>     > > > mvn:org.ops4j.pax.web/pax-web-features/7.0.0/xml/features
>     > > > hibernate-validator-osgi-features │
>     > > > mvn:org.hibernate.validator/hibernate-validator-osgi-
>     > > karaf-features/6.0.9.Final/xml/features
>     > > > hibernate-osgi                    │
>     > > > mvn:org.hibernate/hibernate-osgi/5.2.9.Final/xml/karaf
>     > > > pax-jms-0.3.0                     │
>     > > > mvn:org.ops4j.pax.jms/pax-jms-features/0.3.0/xml/features
>     > > > org.ops4j.pax.cdi-1.0.0           │
>     > > > mvn:org.ops4j.pax.cdi/pax-cdi-features/1.0.0/xml/features
>     > > > standard-4.2.0                    │
>     > > > mvn:org.apache.karaf.features/standard/4.2.0/xml/features
>     > > > spring-4.2.0                      │
>     > > > mvn:org.apache.karaf.features/spring/4.2.0/xml/features
>     > > > org.ops4j.pax.jdbc-1.2.0          │
>     > > > mvn:org.ops4j.pax.jdbc/pax-jdbc-features/1.2.0/xml/features
>     > > > aries-jpa-2.6.1                   │
>     > > > mvn:org.apache.aries.jpa/jpa-features/2.6.1/xml/features
>     > > >
>     > > > karaf@root()> feature:install jclouds-digitalocean2
>     > > >
>     > > > karaf@root()> feature:list | grep jclouds | grep Started
>     > > > jclouds-guice                            │ 2.2.0.SNAPSHOT   │
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds - Google
>     > Guice
>     > > > jclouds                                  │ 2.2.0.SNAPSHOT   │
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds
>     > > > jclouds-compute                          │ 2.2.0.SNAPSHOT   │
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds -
>     compute
>     > > > jclouds-scriptbuilder                    │ 2.2.0.SNAPSHOT   │
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds -
>     > scriptbuilder
>     > > > jclouds-api-oauth                        │ 2.2.0.SNAPSHOT   │
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ jclouds -
>     API - OAuth
>     > > > jclouds-digitalocean2                    │ 2.2.0.SNAPSHOT   │ x
>     > │
>     > > > Started     │ jclouds-2.2.0-SNAPSHOT            │ Components
>     to access
>     > > > DigitalOcean v2
>     > > >
>     > > > karaf@root()> feature:uninstall jclouds-digitalocean2
>     > > >
>     > > >
>     > > > org.osgi.service.resolver.ResolutionException: Unable to
>     resolve root:
>     > > > missing requirement [root] osgi.identity; osgi.identity=jaas;
>     > > > type=karaf.feature; version="[4.2.0,4.2.0]";
>     > > > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
>     > > version>=4.2.0)(version<=4.2.0))"
>     > > > [caused by: Unable to resolve jaas/4.2.0: missing requirement
>     > > > [jaas/4.2.0] osgi.identity;
>     > osgi.identity=org.apache.karaf.jaas.modules;
>     > > > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory
>     > [caused
>     > > > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
>     > > > requirement [org.apache.karaf.jaas.modules/4.2.0]
>     osgi.wiring.package;
>     > > > filter:="(osgi.wiring.package=javax.net <http://javax.net>
>     <http://javax.net>)"]]
>     > > > at
>     > > > org.apache.felix.resolver.ResolutionError.toException(
>     > > ResolutionError.java:42)
>     > > > at org.apache.felix.resolver.ResolverImpl.doResolve(
>     > > ResolverImpl.java:391)
>     > > > at
>     > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
>     > > > at
>     > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
>     > > > at
>     > > >
>     org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
>     > > SubsystemResolver.java:248)
>     > > > at
>     > > > org.apache.karaf.features.internal.service.Deployer.
>     > > deploy(Deployer.java:388)
>     > > > at
>     > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
>     > > doProvision(FeaturesServiceImpl.java:1025)
>     > > > at
>     > > >
>     org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
>     > > doProvisionInThread$13(FeaturesServiceImpl.java:964)
>     > > > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     > > > at
>     > > > java.util.concurrent.ThreadPoolExecutor.runWorker(
>     > > ThreadPoolExecutor.java:1142)
>     > > > at
>     > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(
>     > > ThreadPoolExecutor.java:617)
>     > > > at java.lang.Thread.run(Thread.java:745)
>     > > > Error executing command: Unable to resolve root: missing
>     requirement
>     > > > [root] osgi.identity; osgi.identity=jaas; type=karaf.feature;
>     > > > version="[4.2.0,4.2.0]";
>     > > > filter:="(&(osgi.identity=jaas)(type=karaf.feature)(
>     > > version>=4.2.0)(version<=4.2.0))"
>     > > > [caused by: Unable to resolve jaas/4.2.0: missing requirement
>     > > > [jaas/4.2.0] osgi.identity;
>     > osgi.identity=org.apache.karaf.jaas.modules;
>     > > > type=osgi.bundle; version="[4.2.0,4.2.0]"; resolution:=mandatory
>     > [caused
>     > > > by: Unable to resolve org.apache.karaf.jaas.modules/4.2.0: missing
>     > > > requirement [org.apache.karaf.jaas.modules/4.2.0]
>     osgi.wiring.package;
>     > > > filter:="(osgi.wiring.package=javax.net <http://javax.net>
>     <http://javax.net>)"]]
>     > > >
>     > > > karaf@root()> feature:install jclouds-aws-ec2
>     > > > org.osgi.service.resolver.ResolutionException: Unable to
>     resolve root:
>     > > > missing requirement [root] osgi.identity;
>     osgi.identity=diagnostic;
>     > > > type=karaf.feature; version="[4.2.0,4.2.0]";
>     > > > filter:="(&(osgi.identity=diagnostic)(type=karaf.
>     > > feature)(version>=4.2.0)(version<=4.2.0))"
>     > > > [caused by: Unable to resolve diagnostic/4.2.0: missing
>     requirement
>     > > > [diagnostic/4.2.0] osgi.identity;
>     > > > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
>     > > > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by:
>     Unable to
>     > > > resolve org.apache.karaf.diagnostic.core/4.2.0: missing
>     requirement
>     > > > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
>     > > > filter:="(osgi.wiring.package=javax.management)"]]
>     > > > at
>     > > > org.apache.felix.resolver.ResolutionError.toException(
>     > > ResolutionError.java:42)
>     > > > at org.apache.felix.resolver.ResolverImpl.doResolve(
>     > > ResolverImpl.java:391)
>     > > > at
>     > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:377)
>     > > > at
>     > org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:331)
>     > > > at
>     > > >
>     org.apache.karaf.features.internal.region.SubsystemResolver.resolve(
>     > > SubsystemResolver.java:248)
>     > > > at
>     > > > org.apache.karaf.features.internal.service.Deployer.
>     > > deploy(Deployer.java:388)
>     > > > at
>     > > > org.apache.karaf.features.internal.service.FeaturesServiceImpl.
>     > > doProvision(FeaturesServiceImpl.java:1025)
>     > > > at
>     > > >
>     org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$
>     > > doProvisionInThread$13(FeaturesServiceImpl.java:964)
>     > > > at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>     > > > at
>     > > > java.util.concurrent.ThreadPoolExecutor.runWorker(
>     > > ThreadPoolExecutor.java:1142)
>     > > > at
>     > > > java.util.concurrent.ThreadPoolExecutor$Worker.run(
>     > > ThreadPoolExecutor.java:617)
>     > > > at java.lang.Thread.run(Thread.java:745)
>     > > > Error executing command: Unable to resolve root: missing
>     requirement
>     > > > [root] osgi.identity; osgi.identity=diagnostic;
>     type=karaf.feature;
>     > > > version="[4.2.0,4.2.0]";
>     > > > filter:="(&(osgi.identity=diagnostic)(type=karaf.
>     > > feature)(version>=4.2.0)(version<=4.2.0))"
>     > > > [caused by: Unable to resolve diagnostic/4.2.0: missing
>     requirement
>     > > > [diagnostic/4.2.0] osgi.identity;
>     > > > osgi.identity=org.apache.karaf.diagnostic.core; type=osgi.bundle;
>     > > > version="[4.2.0,4.2.0]"; resolution:=mandatory [caused by:
>     Unable to
>     > > > resolve org.apache.karaf.diagnostic.core/4.2.0: missing
>     requirement
>     > > > [org.apache.karaf.diagnostic.core/4.2.0] osgi.wiring.package;
>     > > > filter:="(osgi.wiring.package=javax.management)"]]
>     > > >
>     > > > At this point, it fails to install/uninstall any feature.
>     > > >
>     > > > The relevant changes to the jclouds-karaf project are here:
>     > > > https://github.com/jclouds/jclouds-karaf/pull/108
>     <https://github.com/jclouds/jclouds-karaf/pull/108>
>     > > > Could the OSGi filter introduced in that PR be the cause of
>     the issue?
>     > > > If it is could be part of the issue, why can are we able to
>     install the
>     > > > feature initially?
>     > > >
>     > > >
>     > > > If you want to reproduce the issue locally you can build the
>     following
>     > > > branches with "mvn clean install -DskipTests":
>     > > > 1. https://github.com/gaul/jclouds/tree/jdk1.8
>     <https://github.com/gaul/jclouds/tree/jdk1.8>
>     > > > 2.
>     https://github.com/andreaturli/jclouds-labs/tree/java8-guava21
>     <https://github.com/andreaturli/jclouds-labs/tree/java8-guava21>
>     > > > 3.
>     https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21
>     <https://github.com/andreaturli/jclouds-karaf/tree/java8-guava21>
>     > > >
>     > > > After these three repos have been built everything should be
>     in place
>     > to
>     > > > install the local jclouds feature repo and reproduce the issue.
>     > > >
>     > > >
>     > > >
>     > > >
>     > > > Your help would be highly appreciated,
>     > > >
>     > > >
>     > > > I.
>     > >
>     > > --
>     > > Jean-Baptiste Onofré
>     > > [hidden email] <mailto:[hidden email]>
>     > > http://blog.nanthrax.net
>     > > Talend - http://www.talend.com
>     > >
>     >
>
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com