Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-4508

HTTP proxy does not work for osgi:install and profile artifact resolution at the same time

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • jboss-fuse-6.3
    • jboss-fuse-6.2.1
    • Fabric8 v1, Karaf
    • None
    • % %
    • Hide

      1. fabric:create
      2. set http proxy settings
      3. try to resolve mvn artifact with install and profile-edit --bundle (use any deployed profile)

      Show
      1. fabric:create 2. set http proxy settings 3. try to resolve mvn artifact with install and profile-edit --bundle (use any deployed profile)
    • 6.3 Sprint 2 (1-Feb - 26-Feb)

    Description

      Setting HTTP proxy with custom maven settings.xml for osgi:install and profile-edit --bundle at the same time leads to broken osgi:install command.

      settings to make resolution working for "install mvn:org.jboss.fuse.qa.test/useless-artifact/1.0"

      profile-edit --pid io.fabric8.maven/io.fabric8.maven.repositories='http://fusewin.tpb.lab.eng.brq.redhat.com:8081/nexus/content/repositories/fuse-qe-repo@id=fuse-qa' --append default
      profile-edit --pid io.fabric8.maven/io.fabric8.maven.settings=/home/fuse/http-proxy-settings.xml default
      

      settings to make "profile-edit --bundle:mvn:org.jboss.fuse.qa.test/useless-artifact/1.1" working

      profile-edit --pid io.fabric8.agent/org.ops4j.pax.url.mvn.settings='/home/fuse/http-proxy-settings.xml' default"
      profile-edit --delete --pid io.fabric8.agent/org.ops4j.pax.url.mvn.repositories default
      

      Both are working alone. But when you set these at the same time install will end up with

      install mvn:org.jboss.fuse.qa.test/useless-artifact/1.0
      Bundle IDs: 
      Error executing command: Error installing bundles:
      	Unable to install bundle mvn:org.jboss.fuse.qa.test/useless-artifact/1.0
      

      full log

      2015-11-27 08:19:18,726 | ERROR | Thread-217       | Console                          | 38 - org.apache.karaf.shell.console - 2.4.0.redhat-621081 | Exception caught while executing command
      org.apache.karaf.shell.console.MultiException: Error installing bundles:
      	Unable to install bundle mvn:org.jboss.fuse.qa.test/useless-artifact/1.0
      	at org.apache.karaf.shell.console.MultiException.throwIf(MultiException.java:91)
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:70)
      	at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)
      	at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)
      	at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.7.0_75]
      	at java.lang.reflect.Method.invoke(Method.java:606)[:1.7.0_75]
      	at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
      	at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
      	at org.apache.karaf.shell.console.commands.$BlueprintCommand699582135.execute(Unknown Source)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[38:org.apache.karaf.shell.console:2.4.0.redhat-621081]
      	at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92)
      	at org.apache.karaf.shell.console.jline.Console.run(Console.java:197)
      	at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.runConsole(ShellFactoryImpl.java:173)[122:org.apache.karaf.shell.ssh:2.4.0.redhat-621081]
      	at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1$1.run(ShellFactoryImpl.java:125)
      	at java.security.AccessController.doPrivileged(Native Method)[:1.7.0_75]
      	at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:47)[25:org.apache.karaf.jaas.modules:2.4.0.redhat-621081]
      	at org.apache.karaf.shell.ssh.ShellFactoryImpl$ShellImpl$1.run(ShellFactoryImpl.java:123)[122:org.apache.karaf.shell.ssh:2.4.0.redhat-621081]
      Caused by: java.lang.Exception: Unable to install bundle mvn:org.jboss.fuse.qa.test/useless-artifact/1.0
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:45)
      	... 21 more
      Caused by: org.osgi.framework.BundleException: Unable to cache bundle: mvn:org.jboss.fuse.qa.test/useless-artifact/1.0
      	at org.apache.felix.framework.Felix.installBundle(Felix.java:2878)
      	at org.apache.felix.framework.BundleContextImpl.installBundle(BundleContextImpl.java:165)
      	at org.apache.karaf.shell.osgi.InstallBundle.doExecute(InstallBundle.java:43)
      	... 21 more
      Caused by: io.fabric8.common.util.NullArgumentException: Repository spec is empty string.
      	at io.fabric8.common.util.NullArgumentException.validateNotEmpty(NullArgumentException.java:93)
      	at io.fabric8.maven.util.MavenRepositoryURL.<init>(MavenRepositoryURL.java:93)
      	at io.fabric8.maven.util.MavenConfigurationImpl.getRepositories(MavenConfigurationImpl.java:295)
      	at io.fabric8.maven.url.internal.AetherBasedResolver.selectRepositories(AetherBasedResolver.java:254)
      	at io.fabric8.maven.url.internal.AetherBasedResolver.resolveFile(AetherBasedResolver.java:467)
      	at io.fabric8.maven.url.internal.AetherBasedResolver.resolveFile(AetherBasedResolver.java:457)
      	at io.fabric8.maven.url.internal.AetherBasedResolver.download(AetherBasedResolver.java:433)
      	at io.fabric8.maven.url.internal.Connection.getInputStream(Connection.java:124)
      	at org.apache.felix.framework.util.SecureAction.getURLConnectionInputStream(SecureAction.java:524)
      	at org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:166)
      	at org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:77)
      	at org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:878)
      	at org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:550)
      	at org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:153)
      	at org.apache.felix.framework.cache.BundleCache.create(BundleCache.java:277)
      	at org.apache.felix.framework.Felix.installBundle(Felix.java:2874)
      	... 23 more
      

      It looks like install command requires non empty io.fabric8.agent/org.ops4j.pax.url.mvn.repositorties PID (which was deleted to pick up settingx.xml repos) when io.fabric8.agent/org.ops4j.pax.url.mvn.settings PID is set. Until io.fabric8.agent/org.ops4j.pax.url.mvn.settings is set install can resolve repositories specified in settings.xml.

      Attachments

        Issue Links

          Activity

            People

              pantinor@redhat.com Paolo Antinori
              ecervena@redhat.com Emil Cervenan
              Emil Cervenan Emil Cervenan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: