I am trying to use Jcloud openstack neutron API and I am hitting this exception when trying to run, I tried building the neutronApi as below. Took this as an example https://gist.github.com/everett-toews/8701756
Iterable<Module> modules = ImmutableSet.<Module>of();
String provider = "openstack-neutron";
String identity = "admin:admin"; // tenantName:userName
String credential = "devstack";
Properties prop = new Properties();
prop.setProperty("jclouds.relax-hostname", "true");
prop.setProperty("jclouds.trust-all-certs", "true");
neutronApi = ContextBuilder.newBuilder(provider)
.endpoint("https://<devstack IP>:5000/v2.0")
.credentials(identity, credential)
.modules(modules).overrides(prop)
.buildApi(NeutronApi.class);
and I am getting the below exception
[java] Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors:
[java] 1) No implementation for org.jclouds.openstack.neutron.v2_0.NeutronApi was bound.
[java] while locating org.jclouds.openstack.neutron.v2_0.NeutronApi
[java] 1 error
[java] at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1004)
[java] at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1009)
[java] at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:655)
[java] at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:647)
[java] at openstack.NovaOpenstack.<init>(Unknown Source)
[java] at bootstrap.OpenstackBootstrap.main(Unknown Source)
Jcloud jar ver - 1.8, guava - 3.0, guice - 1.7
Please let me know what am I doing wrong or how to resolve this.
Thanks in advance.
import org.jclouds.openstack.neutron.v2.NeutronApi;
import org.jclouds.openstack.neutron.v2.domain.Network;
import org.jclouds.openstack.neutron.v2.domain.NetworkStatus;
import org.jclouds.openstack.neutron.v2.domain.NetworkType;
import org.jclouds.openstack.neutron.v2.domain.Networks;
import org.jclouds.openstack.neutron.v2.features.NetworkApi;
import org.jclouds.openstack.neutron.v2_0.options.CreateNetworkOptions;
use the above imports
and change the methods in the code according to the imports