Hi Ignasi, Thanks for your fast response!
Regards, Ruben On Sat, Nov 7, 2015 at 9:03 PM, Ignasi Barrera <[email protected]> wrote: > Hi Ruben, > > It looks like the service loader is trying to load the enterprisechef > provider, but it has been recently removed in favor of the generic chef api. > > Looking at the code, the "jclouds-all" still includes my mistake the old > enterprisechef dependency. I'll fix that asap. > > Meanwhile you can fix your issue by not using jclouds-all and declaring > just the providers/apis you use. > > HTH! > > I. > El 7/11/2015 10:43, "Ruben Rubio Rey" <[email protected]> escribió: > >> Hi, >> >> I am having trouble running digitalocean2. If I try to run this code: >> >> final String POLL_PERIOD_TWENTY_SECONDS = >> String.valueOf(SECONDS.toMillis(20)); >> >> Properties overrides = new Properties(); >> >> overrides.setProperty(ComputeServiceProperties.POLL_INITIAL_PERIOD, >> POLL_PERIOD_TWENTY_SECONDS); >> overrides.setProperty(ComputeServiceProperties.POLL_MAX_PERIOD, >> POLL_PERIOD_TWENTY_SECONDS); >> >> Iterable<Module> modules = ImmutableSet.<Module> of(new >> SshjSshClientModule(), new SLF4JLoggingModule()); >> //Iterable<Module> modules = ImmutableSet.<Module> of(new >> SshjSshClientModule()); >> ComputeServiceContext context = >> ContextBuilder.newBuilder("digitalocean2") >> .credentials("username", "password") >> .modules(modules) >> .overrides(overrides) >> .buildView(ComputeServiceContext.class); >> >> ComputeService computeService = context.getComputeService(); >> >> TemplateOptions opts = computeService.templateOptions(); >> Template template = computeService.templateBuilder() >> .locationId("sfo1") >> .imageId("sfo1/debian-8-x64") >> .hardwareId("512mb") >> .options(opts.as >> (DigitalOcean2TemplateOptions.class).privateNetworking(true)) >> .build(); >> >> >> Set<? extends NodeMetadata> nodes = >> computeService.createNodesInGroup("unittest", 1, template); >> for (NodeMetadata nodeMetadata : nodes) { >> System.out.println("BuildNewServerTask Login: ssh " + >> nodeMetadata.getCredentials().getUser() + "@" + >> nodeMetadata.getPublicAddresses()); >> System.out.println("BuildNewServerTask Password: " + >> nodeMetadata.getCredentials().getPassword()); >> } >> >> It fails like this: >> >> java.util.ServiceConfigurationError: >> org.jclouds.providers.ProviderMetadata: Provider >> org.jclouds.enterprisechef.EnterpriseChefProviderMetadata could not be >> instantiated >> at java.util.ServiceLoader.fail(ServiceLoader.java:224) >> at java.util.ServiceLoader.access$100(ServiceLoader.java:181) >> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:377) >> at java.util.ServiceLoader$1.next(ServiceLoader.java:445) >> at >> com.google.common.collect.ImmutableCollection$Builder.addAll(ImmutableCollection.java:281) >> at >> com.google.common.collect.ImmutableCollection$ArrayBasedBuilder.addAll(ImmutableCollection.java:360) >> at >> com.google.common.collect.ImmutableSet$Builder.addAll(ImmutableSet.java:508) >> at org.jclouds.providers.Providers.all(Providers.java:83) >> at org.jclouds.providers.Providers.withId(Providers.java:99) >> at org.jclouds.ContextBuilder.newBuilder(ContextBuilder.java:165) >> at >> com.rubenrr.mvc.digitaloceanTests.newDebianJessie(digitaloceanTests.java:104) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at >> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) >> at >> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) >> at >> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) >> at >> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) >> at >> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26) >> at >> org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:72) >> at >> org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:81) >> at >> org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:72) >> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271) >> at >> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:216) >> at >> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:82) >> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) >> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) >> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) >> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) >> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) >> at >> org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60) >> at >> org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67) >> at org.junit.runners.ParentRunner.run(ParentRunner.java:309) >> at >> org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162) >> at org.junit.runner.JUnitCore.run(JUnitCore.java:160) >> at >> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) >> at >> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211) >> at >> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) >> at >> com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) >> Caused by: java.lang.NoClassDefFoundError: >> org/jclouds/chef/config/BaseChefHttpApiModule >> at java.lang.ClassLoader.defineClass1(Native Method) >> at java.lang.ClassLoader.defineClass(ClassLoader.java:800) >> at >> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) >> at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) >> at java.net.URLClassLoader.access$100(URLClassLoader.java:71) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:361) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) >> at >> org.jclouds.enterprisechef.EnterpriseChefApiMetadata$Builder.<init>(EnterpriseChefApiMetadata.java:65) >> at >> org.jclouds.enterprisechef.EnterpriseChefApiMetadata.<init>(EnterpriseChefApiMetadata.java:44) >> at >> org.jclouds.enterprisechef.EnterpriseChefProviderMetadata$Builder.<init>(EnterpriseChefProviderMetadata.java:62) >> at >> org.jclouds.enterprisechef.EnterpriseChefProviderMetadata.builder(EnterpriseChefProviderMetadata.java:34) >> at >> org.jclouds.enterprisechef.EnterpriseChefProviderMetadata.<init>(EnterpriseChefProviderMetadata.java:43) >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native >> Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:526) >> at java.lang.Class.newInstance(Class.java:379) >> at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:373) >> ... 41 more >> Caused by: java.lang.ClassNotFoundException: >> org.jclouds.chef.config.BaseChefHttpApiModule >> at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >> at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >> at java.security.AccessController.doPrivileged(Native Method) >> at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) >> ... 64 more >> >> Any idea how to solve this problem ? >> >> Regards, >> Ruben >> >
