Created attachment 1001484 [details] gutterball.log Description of problem: Installing Satellite 6.1 fails when the installer attempts to run wget on candlepin's admin/init. Initially I thought it was candlepin's fault, but the problem is Gutterball fails to start so tomcat didn't start any of the apps. 2015-03-13 07:18:04,550 [localhost-startStop-1] INFO org.candlepin.gutterball.servlet.GutterballContextListener - Gutterball initializing context. 2015-03-13 07:18:04,552 [localhost-startStop-1] INFO org.candlepin.gutterball.servlet.GutterballContextListener - Gutterball reading configuration. 2015-03-13 07:18:05,193 [localhost-startStop-1] ERROR org.candlepin.gutterball.servlet.GutterballGuiceResteasyBootstrap - Could not create Guice injector. com.google.inject.internal.util.ComputationException: java.lang.NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter at com.google.inject.internal.util.MapMaker$StrategyImpl.compute(MapMaker.java:553) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.util.MapMaker$StrategyImpl.compute(MapMaker.java:419) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.util.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.FailableCache.get(FailableCache.java:50) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:49) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:125) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:507) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:159) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:122) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at com.google.inject.Guice.createInjector(Guice.java:95) ~[guice-3.0-redhat-1-no_deps.jar:3.0-redhat-1] at org.candlepin.gutterball.servlet.GutterballContextListener.getInjector(GutterballContextListener.java:95) [GutterballContextListener.class:na] at org.candlepin.gutterball.servlet.GutterballGuiceResteasyBootstrap.contextInitialized(GutterballGuiceResteasyBootstrap.java:58) ~
Since this issue was entered in Red Hat Bugzilla, the release flag has been set to ? to ensure that it is properly evaluated for this release.
Created attachment 1001485 [details] list of jar files The jarfiles log file is a listing of the symlinks in /var/lib/tomcat/webapps/gutterball/WEB-INF/lib/ a side note, the -sources.jar should NOT be part of the rpm. A fix needs to be made to the rpm to ignore those during symlinking.
$ grep CallbackFilter *.jar Binary file candlepin-guiceguice-3.0-redhat-1.jar matches Binary file candlepin-guiceguice-3.0-redhat-1-no_deps.jar matches
$ unzip -v candlepin-guiceguice-3.0-redhat-1.jar | grep CallbackFilter 239 Defl:N 180 25% 09-20-2011 15:25 d1fda76d com/google/inject/internal/cglib/proxy/$CallbackFilter.class 1980 Defl:N 943 52% 09-23-2011 18:58 64f0ee7b com/google/inject/internal/ProxyFactory$IndicesCallbackFilter.class Notice the class file in that jar. It is com.google.inject.internal.cglib.proxy.....
$ unzip -v candlepin-guiceguice-3.0-redhat-1-no_deps.jar | grep CallbackFilter 1958 Defl:N 945 52% 09-23-2011 18:58 63927b92 com/google/inject/internal/ProxyFactory$IndicesCallbackFilter.class Again also not the one being searched for.
candlepin-deps (gutterball-deps) repo has the correct jar file. So that means a git install of gutterball will work, and koji/community builds of gutterball will work. But brew doesn't use gutterball-deps. $ pwd /home/devel/jesusr/dev/candlepin-deps/repo/gutterball $ unzip -v cglib-2.2.jar | grep CallbackFilter 218 Defl:N 166 24% 05-25-2008 20:34 7e86b938 net/sf/cglib/proxy/CallbackFilter.class $ unzip -v guice-3.0.jar | grep CallbackFilter 239 Defl:N 180 25% 01-04-2011 13:12 5f0bcc07 com/google/inject/internal/cglib/proxy/$CallbackFilter.class 1980 Defl:N 943 52% 03-25-2011 18:17 64f0ee7b com/google/inject/internal/ProxyFactory$IndicesCallbackFilter.class
My best guess is you need a BuildRequires on cglib [vagrant@sat61fusor lib]$ ls ../../../candlepin/WEB-INF/lib/cglib.jar ../../../candlepin/WEB-INF/lib/cglib.jar [vagrant@sat61fusor lib]$ ls -l ../../../candlepin/WEB-INF/lib/cglib.jar lrwxrwxrwx. 1 tomcat tomcat 25 Mar 11 16:05 ../../../candlepin/WEB-INF/lib/cglib.jar -> /usr/share/java/cglib.jar [vagrant@sat61fusor lib]$ rpm -q --whatprovides /usr/share/java/cglib.jar cglib-2.2-18.el7.noarch Gutterball requires %if 0%{?rhel} >= 7 Requires: candlepin-guice >= 0:3.0 Requires: glassfish-jaxb Requires: guava >= 0:13.0 Requires: mvn(org.apache.commons:commons-collections) Requires: mvn(org.apache.commons:commons-io) Requires: mvn(org.apache.commons:commons-lang) Requires: mvn(org.slf4j:slf4j-api) >= 0:1.7.4 Requires: mvn(org.slf4j:jcl-over-slf4j) >= 0:1.7.4 Requires: mvn(ch.qos.logback:logback-classic) Requires: mvn(net.sf.cglib:cglib) Requires: mvn(asm:asm) %endif The box states that cglib provides mvn(...) [vagrant@sat61fusor lib]$ rpm -q --whatprovides "mvn(net.sf.cglib:cglib)" cglib-2.2-18.el7.noarch I believe the el7.txt file in gutterball needs a cglib. sisu-cglib/cglib is NOT enough.
commit 962b51399afdf85dfee84296f4bf7bcc9551dc94 Author: Alex Wood <awood> Date: Mon Mar 16 10:28:07 2015 -0400 1201924: Add missing cglib dependency for gutterball in EL7.
Verified with sat6.1.1 snap11 C2. The reported issue is no longer reproducible with snap11. [root@cloud-qe-2 ~]# curl -k https://localhost:8443/gutterball/status { "version" : "1.0.15.0", "release" : "1", "request_locale" : "en_US" } [root@cloud-qe-2 ~]#rpm -qa | grep gutterball gutterball-certs-1.0-1.noarch gutterball-1.0.15.0-1.el7.noarch rubygem-hammer_cli_gutterball-0.0.1.3-1.el7sat.noarch ruby193-rubygem-foreman_gutterball-0.0.1.9-1.el7sat.noarch No error in /var/log/gutterball/gutterball.log
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2015:1592