Hi Guys
I'm having problems upgrading from 0.13.5 to 0.14.0
I've Updated the Db Schema per: https://github.com/killbill/killbill/wiki/Kill-Bill-Migration-0.12.x-to-0.14.x
Removed the existing docker container and then installed the new version using the below command:
sudo docker run -tid --name pcbilling -p 8080:8080 \
-v /home/ubuntu/killbill/etc/stripe.yml:/etc/killbill/stripe.yml \
-e KILLBILL_PLUGIN_STRIPE=1 \
-e KILLBILL_CONFIG_DAO_URL=jdbc:mysql://###/killbill \
-e KILLBILL_CONFIG_DAO_USER=###\
-e KILLBILL_CONFIG_DAO_PASSWORD=### \
-e KILLBILL_CONFIG_OSGI_DAO_URL=jdbc:mysql://###/killbill \
-e KILLBILL_CONFIG_OSGI_DAO_USER=### \
-e KILLBILL_CONFIG_OSGI_DAO_PASSWORD=### \
killbill/killbill:0.14.0
I get the following error when using KAUI:
Error while retrieving account information: Error 400: Payment plugin killbill-stripe is not registered
From the logs:
2015-06-08 03:29:05,333 [http-bio-8080-exec-3] WARN o.k.b.j.mappers.ExceptionMapperBase - Bad request
org.killbill.billing.payment.api.PaymentApiException: Payment plugin killbill-stripe is not registered
at org.killbill.billing.payment.core.ProcessorBase.getPaymentPluginApi(ProcessorBase.java:132)
at org.killbill.billing.payment.core.PaymentMethodProcessor.buildDefaultPaymentMethod(PaymentMethodProcessor.java:171)
at org.killbill.billing.payment.core.PaymentMethodProcessor.getPaymentMethodInternal(PaymentMethodProcessor.java:325)
at org.killbill.billing.payment.core.PaymentMethodProcessor.getPaymentMethods(PaymentMethodProcessor.java:145)
at org.killbill.billing.payment.api.DefaultPaymentApi.getAccountPaymentMethods(DefaultPaymentApi.java:382)
at org.killbill.billing.util.glue.KillbillApiAopModule$ProfilingMethodInterceptor$1.execute(KillbillApiAopModule.java:52)
at org.killbill.commons.profiling.Profiling.executeWithProfiling(Profiling.java:33)
at org.killbill.billing.util.glue.KillbillApiAopModule$ProfilingMethodInterceptor.invoke(KillbillApiAopModule.java:49)
at org.killbill.billing.jaxrs.resources.AccountResource.getPaymentMethods(AccountResource.java:639)
at com.palominolabs.metrics.guice.TimedInterceptor.invoke(TimedInterceptor.java:47)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
at org.killbill.billing.server.security.TenantFilter.doFilter(TenantFilter.java:110)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
at org.killbill.billing.server.filters.ResponseCorsFilter.doFilter(ResponseCorsFilter.java:66)
at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:44)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:41)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:104)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Looking at this startup logs ... I see the following juicy bits:
2015-06-08 03:27:05,436 [localhost-startStop-1] INFO o.k.b.osgi.pluginconf.PluginFinder - Adding plugin killbill-stripe-1.0.0
2015-06-08 03:27:05,436 [localhost-startStop-1] WARN o.k.b.osgi.pluginconf.PluginFinder - Configuration root dir /var/lib/killbill/bundles/plugins/java is not a valid directory
2015-06-08 03:27:09,968 [localhost-startStop-1] INFO o.killbill.billing.osgi.FileInstall - Starting bundle jruby-killbill-stripe
2015-06-08 03:27:09,982 [Thread-4] INFO o.k.b.k.0.2.0 - BundleEvent RESOLVED
2015-06-08 03:27:10,011 [Thread-4] INFO o.k.b.k.0.2.0 - JRuby bundle activated
2015-06-08 03:27:10,017 [Thread-4] INFO o.k.b.k.0.2.0 - Starting JRuby plugin Killbill::Plugin::Api::PaymentPluginApi
2015-06-08 03:27:10,018 [localhost-startStop-1] INFO o.k.b.osgi.bundles.jruby.JRubyPlugin - Creating scripting container with localContextScope THREADSAFE
2015-06-08 03:27:28,377 [Thread-4] INFO o.k.b.k.0.2.0 - BundleEvent STOPPED
2015-06-08 03:27:28,380 [localhost-startStop-1] WARN o.killbill.billing.osgi.FileInstall - Unable to start bundle
org.osgi.framework.BundleException: Activator start error in bundle org.kill-bill.billing.killbill-platform-osgi-bundles-jruby-1 [20].
at org.apache.felix.framework.Felix.activateBundle(Felix.java:2204)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2072)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:976)
at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:963)
at org.killbill.billing.osgi.FileInstall.startBundle(FileInstall.java:202)
at org.killbill.billing.osgi.FileInstall.startBundles(FileInstall.java:94)
at org.killbill.billing.osgi.DefaultOSGIService.start(DefaultOSGIService.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.killbill.billing.lifecycle.DefaultLifecycle.doFireStage(DefaultLifecycle.java:150)
Caused by: org.jruby.exceptions.RaiseException: (LoadError) Could not load 'active_record/connection_adapters/jdbcmysql_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.