[
https://issues.apache.org/jira/browse/JCLOUDS-607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14056361#comment-14056361
]
ASF subversion and git services commented on JCLOUDS-607:
---------------------------------------------------------
Commit 7641bd61cd56f7f5a4da5ac89769c1d200abe79f in jclouds's branch
refs/heads/1.7.x from [[email protected]]
[ https://git-wip-us.apache.org/repos/asf?p=jclouds.git;h=7641bd6 ]
JCLOUDS-607: ComputeService.createNodesInGroup throws NPE on
FloatingIPApi.create()
> ComputeService.createNodesInGroup throws NPE on FloatingAPI.create()
> --------------------------------------------------------------------
>
> Key: JCLOUDS-607
> URL: https://issues.apache.org/jira/browse/JCLOUDS-607
> Project: jclouds
> Issue Type: Bug
> Components: jclouds-compute
> Affects Versions: 1.7.3
> Environment: OpenStack/Rackspace
> Reporter: Christopher Dancy
> Assignee: Andrew Phillips
> Labels: FloatingIPApi, createNodesInGroup, openstack, rackspace
> Fix For: 1.8.0
>
> Attachments: JCLOUDS-607.patch
>
>
> When calling 'ComputeService.createNodesInGroup' an NPE is thrown on the
> 'FloatingAPI.create()' call here (line 81):
> https://github.com/jclouds/jclouds/blob/4c74b497547e42b8bdc94dbae3d4cd94ff3945d6/apis/openstack-nova/src/main/java/org/jclouds/openstack/nova/v2_0/compute/functions/AllocateAndAddFloatingIpToNode.java
> Code snippet to reproduce here:
> NovaTemplateOptions options = NovaTemplateOptions.Builder.
> autoAssignFloatingIp(true).
> blockUntilRunning(true).
> securityGroupNames(securityGroups);
> Template template =
> computeServiceContext.getComputeService().templateBuilder().
> imageId(imageID).
> hardwareId(hardwareID).
> options(options).
> build();
> Set<NodeMetadata> groupNodes =
> (Set<NodeMetadata>)computeServiceContext.getComputeService().createNodesInGroup(groupName,
> count, template);
> There does not seem to be a way, at least that I'm aware of, to pass in the
> floating-ip-pool-name for the 'createNodesInGroup' call. I would assume that
> an option inside TemplateOptions, something like
> 'TemplateOptions.autoAssignFloatingIpPoolName(String)', would be available
> but I can't find anything. I've posted the stacktrace below attempting to
> create 2 nodes. Not sure if this is a bug or feature-request (seems like bug
> to me).
> Exception in thread "main" org.jclouds.compute.RunNodesException: error
> running 2 nodes group(dancc-testing) location(RegionOne)
> image(f436ed68-722d-4918-bb34-5c0e5e7523b8) size(3) options(
> {securityGroupNames=[test_allow_all], configDrive=false}
> )
> Execution failures:
> 1) ExecutionException on dancc-testing-305:
> java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
> at
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
> at
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
> at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:125)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> at
> org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:98)
> at
> org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:1)
> at com.google.common.util.concurrent.Futures$1.apply(Futures.java:711)
> at
> com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:849)
> ... 3 more
> 2) ExecutionException on dancc-testing-94b:
> java.util.concurrent.ExecutionException: java.lang.NullPointerException
> at
> com.google.common.util.concurrent.AbstractFuture$Sync.getValue(AbstractFuture.java:299)
> at
> com.google.common.util.concurrent.AbstractFuture$Sync.get(AbstractFuture.java:286)
> at
> com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:116)
> at org.jclouds.concurrent.FutureIterables$1.run(FutureIterables.java:125)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:662)
> Caused by: java.lang.NullPointerException
> at
> org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:98)
> at
> org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:1)
> at com.google.common.util.concurrent.Futures$1.apply(Futures.java:711)
> at
> com.google.common.util.concurrent.Futures$ChainingListenableFuture.run(Futures.java:849)
> ... 3 more
> 2 error[s]
> Node failures:
> 0 error[s]
> at
> org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:227)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37)
> at com.sun.proxy.$Proxy58.createNodesInGroup(Unknown Source)
> at
> com.pega.vm.client.VMAdministratorImpl.provisionVirtualMachines(VMAdministratorImpl.java:196)
> at com.pega.vm.client.Testing.main(Testing.java:29)
--
This message was sent by Atlassian JIRA
(v6.2#6252)