Parth, The plugin 1.0 won't work with any version beyond 4.9 (4.7 and 4.7
aren't tested). There is a branch, 'on-top-of-pr-2071-for-4.10
<https://github.com/shapeblue/ccs/tree/on-top-of-pr-2071-for-4.10>', that
we are now porting to 4.11. If you have capability to build it you can try
that.

On Tue, Mar 13, 2018 at 1:03 PM, Parth Patel <parthpatel2...@gmail.com>
wrote:

> Hi,
>
> Maybe somebody working in ShapeBlue can help me. I am trying to integrate
> CCS service (https://github.com/shapeblue/ccs) with ACS 4.11 using
> http://downloads.shapeblue.com/ccs/1.0/Installation_and_
> Administration_Guide.pdf
> and
> I quickly came to know about huge architecture changes that ACS has gone
> through in the latest release. I somehow managed to bring the UI by editing
> and placing the ccs folder in the new "webapp" folder instead of "webapps"
> folder. But I am confused as to where to place the shapeblue-ccs and
> flyaway core jar files. I tried placing them in
> /usr/share/cloudstack-management/lib folder but it gave the following
> error
> in management-server.log:
>
>
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/webapp/
> WEB-INF/lib/cloud-plugin-shapeblue-ccs-1.0.1.jar!/META-
> INF/cloudstack/ccs/spring-ccs-context.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/compute/spring-
> core-lifecycle-compute-context-inheritable.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/core/spring-
> core-lifecycle-core-context-inheritable.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/system/spring-
> framework-config-system-context-inheritable.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/system/spring-
> core-system-context-inheritable.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/system/spring-
> contrail-system-context-inheritable.xml]
> 2018-03-13 16:59:27,953 INFO  [o.a.c.s.m.m.i.DefaultModuleDefinitionSet]
> (main:null) (logid:) Loading module context [ccs] from URL
> [jar:file:/usr/share/cloudstack-management/lib/
> cloudstack-4.11.0.0.jar!/META-INF/cloudstack/bootstrap/
> spring-bootstrap-context-inheritable.xml]
> 2018-03-13 16:59:28,098 WARN  [o.a.c.s.m.c.ResourceApplicationContext]
> (main:null) (logid:) Exception encountered during context initialization -
> cancelling refresh attempt:
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'ContainerClusterManagerImpl': Lookup method resolution
> failed; nested exception is java.lang.IllegalStateException: Failed to
> introspect Class [com.cloud.containercluster.ContainerClusterManagerImpl]
> from ClassLoader [WebAppClassLoader=500772834@1dd92fe2]
> 2018-03-13 16:59:28,100 WARN  [o.e.j.w.WebAppContext] (main:null) (logid:)
> Failed startup of context o.e.j.w.WebAppContext@365c30cc
> {/client,file:///usr/share/cloudstack-management/webapp/,
> UNAVAILABLE}{/usr/share/cloudstack-management/webapp}
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean with name 'ContainerClusterManagerImpl': Lookup method resolution
> failed; nested exception is java.lang.IllegalStateException: Failed to
> introspect Class [com.cloud.containercluster.ContainerClusterManagerImpl]
> from ClassLoader [WebAppClassLoader=500772834@1dd92fe2]
> at
> org.springframework.beans.factory.annotation.
> AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(
> AutowiredAnnotationBeanPostProcessor.java:262)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
> tory.determineConstructorsFromBeanPostProcessors(
> AbstractAutowireCapableBeanFactory.java:1198)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
> tory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1123)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
> tory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
> at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
> tory.createBean(AbstractAutowireCapableBeanFactory.java:502)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.lambda$
> doGetBean$0(AbstractBeanFactory.java:312)
> at
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.
> getSingleton(DefaultSingletonBeanRegistry.java:228)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(
> AbstractBeanFactory.java:310)
> at
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(
> AbstractBeanFactory.java:200)
> at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.
> preInstantiateSingletons(DefaultListableBeanFactory.java:758)
> at
> org.springframework.context.support.AbstractApplicationContext.
> finishBeanFactoryInitialization(AbstractApplicationContext.java:868)
> at
> org.springframework.context.support.AbstractApplicationContext.refresh(
> AbstractApplicationContext.java:549)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> loadContext(DefaultModuleDefinitionSet.java:145)
> at
> org.apache.cloudstack.spring.module.model.impl.
> DefaultModuleDefinitionSet$2.with(DefaultModuleDefinitionSet.java:122)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:245)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:250)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:250)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:250)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:250)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:250)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> withModule(DefaultModuleDefinitionSet.java:233)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> loadContexts(DefaultModuleDefinitionSet.java:117)
> at
> org.apache.cloudstack.spring.module.model.impl.DefaultModuleDefinitionSet.
> load(DefaultModuleDefinitionSet.java:79)
> at
> org.apache.cloudstack.spring.module.factory.ModuleBasedContextFactory.
> loadModules(ModuleBasedContextFactory.java:37)
> at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.init(
> CloudStackSpringContext.java:71)
> at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>
> (CloudStackSpringContext.java:58)
> at
> org.apache.cloudstack.spring.module.factory.CloudStackSpringContext.<init>
> (CloudStackSpringContext.java:62)
> at
> org.apache.cloudstack.spring.module.web.CloudStackContextLoaderListene
> r.contextInitialized(CloudStackContextLoaderListener.java:52)
> at
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(
> ContextHandler.java:890)
> at
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(
> ServletContextHandler.java:532)
> at
> org.eclipse.jetty.server.handler.ContextHandler.
> startContext(ContextHandler.java:853)
> at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(
> ServletContextHandler.java:344)
> at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(
> WebAppContext.java:1515)
> at
> org.eclipse.jetty.webapp.WebAppContext.startContext(
> WebAppContext.java:1477)
> at
> org.eclipse.jetty.server.handler.ContextHandler.
> doStart(ContextHandler.java:785)
> at
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(
> ServletContextHandler.java:261)
> at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> start(ContainerLifeCycle.java:133)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> doStart(ContainerLifeCycle.java:107)
> at
> org.eclipse.jetty.server.handler.AbstractHandler.
> doStart(AbstractHandler.java:113)
> at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.
> doStart(GzipHandler.java:273)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> start(ContainerLifeCycle.java:133)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> doStart(ContainerLifeCycle.java:115)
> at
> org.eclipse.jetty.server.handler.AbstractHandler.
> doStart(AbstractHandler.java:113)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> start(ContainerLifeCycle.java:133)
> at org.eclipse.jetty.server.Server.start(Server.java:418)
> at
> org.eclipse.jetty.util.component.ContainerLifeCycle.
> doStart(ContainerLifeCycle.java:107)
> at
> org.eclipse.jetty.server.handler.AbstractHandler.
> doStart(AbstractHandler.java:113)
> at org.eclipse.jetty.server.Server.doStart(Server.java:385)
> at
> org.eclipse.jetty.util.component.AbstractLifeCycle.
> start(AbstractLifeCycle.java:68)
> at org.apache.cloudstack.ServerDaemon.start(ServerDaemon.java:200)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.apache.commons.daemon.support.DaemonLoader.start(
> DaemonLoader.java:241)
> Caused by: java.lang.IllegalStateException: Failed to introspect Class
> [com.cloud.containercluster.ContainerClusterManagerImpl] from ClassLoader
> [WebAppClassLoader=500772834@1dd92fe2]
> at
> org.springframework.util.ReflectionUtils.getDeclaredMethods(
> ReflectionUtils.java:659)
> at
> org.springframework.util.ReflectionUtils.doWithMethods(
> ReflectionUtils.java:556)
> at
> org.springframework.util.ReflectionUtils.doWithMethods(
> ReflectionUtils.java:541)
> ... 59 more
> Caused by: java.lang.NoClassDefFoundError:
> org/bouncycastle/asn1/DEREncodable
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
> at java.lang.Class.getDeclaredMethods(Class.java:1975)
> ... 62 more
> Caused by: java.lang.ClassNotFoundException:
> org.bouncycastle.asn1.DEREncodable
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
> ... 68 more
> 2018-03-13 16:59:28,106 INFO  [o.e.j.s.h.ContextHandler] (main:null)
> (logid:) Started o.e.j.s.h.MovedContextHandler@80169cf{/,null,AVAILABLE}
> 2018-03-13 16:59:28,125 INFO  [o.e.j.s.AbstractConnector] (main:null)
> (logid:) Started ServerConnector@15d0c81b{HTTP/1.1,[http/1.1]}{:::8080}
> 2018-03-13 16:59:28,125 INFO  [o.e.j.s.Server] (main:null) (logid:) Started
> @30618ms
>
>
>
> I also tried placing them in
> /usr/share/cloudstack-management/lib/cloudstack-4.11.0.0.jar but it showed
> the following error:
>
> Caused by: java.io.IOException: Resource
> [jar:file:/usr/share/cloudstack-management/lib/
> cloud-plugin-shapeblue-ccs-1.0.1.jar!/META-INF/cloudstack/
> ccs/module.properties]
> and
> [jar:file:/usr/share/cloudstack-management/webapp/
> WEB-INF/lib/cloud-plugin-shapeblue-ccs-1.0.1.jar!/META-
> INF/cloudstack/ccs/module.properties]
> do not appear to be the same resource, please ensure the name property is
> correct or that the module is not defined twice
>
> I suppose I would have to change module.properties or context files of the
> ccs code? I don't know where to start. Even the write your plugin guide
> here:http://docs.cloudstack.apache.org/en/latest/plugins.html guides
> writing UI plugins for tomcat and other storage services. Can somebody
> point me to an updated guide for writing plugins *now* in ACS 4.11? so that
> I can verify and modify if required the GitHub code available at
> shapeblue/ccs. Any guidance is appreciated.
>
> Thanks,
> Parth Patel
>



-- 
Daan

Reply via email to