详细的错误日志如下:
命令:POST http://os.myserver.com:9696/v2.0/networks HTTP / 1.1失败,响应:HTTP / 1.1 400 Bad Request;内容:[{“NeutronError”:“无法识别的属性'networkType'”}] org.jclouds.http.HttpResponseException:command:POST https://os.myserver.com:9696/v2.0/networks HTTP / 1.1失败,响应:HTTP / 1.1 400 Bad Request;内容:[{“NeutronError”:“无法识别的属性'networkType'”}] 在org.jclouds.openstack.neutron.v2_0.handlers.NeutronErrorHandler.handleError(NeutronErrorHandler.java:40) at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:67) at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:180) 在org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:150) 在org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:93) 在org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:76) 在org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:47)
以下是我的代码段:
CreateNetworkOptions createNetworkOptions = CreateNetworkOptions.builder()
.name(name)
.networkType(NetworkType.LOCAL).build();
NetworkApi networkApi = neutronApi.getNetworkApiForZone(zone);
Network network = networkApi.create(createNetworkOptions);
如果我没有设置networkType,那么它的工作正常。 但我需要将networkType设置为NetworkType.LOCAL
答案 0 :(得分:0)
最近重构了jclouds的中子代码并修复了一些错误。新代码使用“v2”而不是“v2_0”。
你看到的是jclouds neutron“v2_0”中的一个错误。 map-binder不支持LOCAL网络类型。具体来说,这里:
这里支持的类型是FLAT,VLAN和GRE。
好消息是应该修复,但你必须升级到jclouds 1.8.0并确保使用neutron v2。您还必须更改代码以使用新接口。
这是重要的部分:
Network.CreateOptions createNetwork = Network.createOptions("jclouds-wibble")
.networkType(NetworkType.LOCAL)
.build();
Network network = api.create(createNetwork);