Re: [jira] [Created] (JCLOUDS-1205) Setting a custom pool name with floatingIpPoolNames() in NovaTemplateOptions seems to have no effect

2016-11-28 Thread Zack Shoylev
Can you also share the relevant part of the wire log? 
https://jclouds.apache.org/reference/logging/

It will help us figure out if and why jclouds is not sending the floating ip 
pool name.

From: Michael Militzer (JIRA) 
Sent: Friday, November 25, 2016 2:13 AM
To: notifications@jclouds.apache.org
Subject: [jira] [Created] (JCLOUDS-1205) Setting a custom pool name with 
floatingIpPoolNames() in NovaTemplateOptions seems to have no effect

Michael Militzer created JCLOUDS-1205:
-

 Summary: Setting a custom pool name with floatingIpPoolNames() in 
NovaTemplateOptions seems to have no effect
 Key: JCLOUDS-1205
 URL: https://issues.apache.org/jira/browse/JCLOUDS-1205
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-compute
Affects Versions: 2.0.0
 Environment: CentOS 6.8, OpenJDK 1.8.0.111-0.b15.el6_8
Reporter: Michael Militzer


I'm trying to spawn an instance in the FUGA cloud (https://fuga.io/) with 
jclouds 2.0 and auto-associate a floating IP but this fails with:

{quote}
JavaException: org.jclouds.rest.ResourceNotFoundException: {"itemNotFound": 
{"message": "Floating IP pool not found.", "code": 404}}
{quote}

FUGA has a custom namespace for the FloatingIP extension and it uses a custom 
name for the Floating IP Pool. Because of the former, I already ran into 
https://issues.apache.org/jira/browse/JCLOUDS-1013 and had to update to jclouds 
2.0. With jclouds 2.0 this issue is solved and jclouds now finds the Floating 
IP extension but now the problem seems to be that jclouds does not use the 
right pool (with FUGA's custom pool name "external").

I'm using the generic compute service and my code to spawn a new instance looks 
somewhat like this:

{code}
ComputeService compute = 
this.contextBuilder.buildView(ComputeServiceContext.class).getComputeService();

try {
TemplateBuilder templateBuilder = compute.templateBuilder();
Template template = templateBuilder
.locationId(region)
.imageId(imageId)
.hardwareId(instanceType)
.build();

template.getOptions().as(NovaTemplateOptions.class).autoAssignFloatingIp(true);

template.getOptions().as(NovaTemplateOptions.class).floatingIpPoolNames("external");

template.getOptions().as(NovaTemplateOptions.class).userData(userData.getBytes());

NodeMetadata node = 
getOnlyElement(compute.createNodesInGroup(groupName, 1, template));
return node;

} catch (RunNodesException e) {
System.err.println("error adding node to group " + groupName + ": " + 
e.getMessage());
return null;
}
{code}

So I'm using the "floatingIpPoolNames" method in NovaTemplateOptions to specify 
FUGA's custom floating IP pool name "external". But still, trying to create an 
instance fails with the aforementioned exception:

{quote}
JavaException: org.jclouds.rest.ResourceNotFoundException: {"itemNotFound": 
{"message": "Floating IP pool not found.", "code": 404}}
{quote}

I believe the way I'm setting the custom pool name property via 
"floatingIpPoolNames" in NovaTemplateOptions must be basically correct. At 
least the "userData" I also set on NovaTemplateOptions just one line later is 
picked up correctly (verified when "autoAssignFloatingIp" is set to false, 
because then the instance is started successfully - just without a public IP, 
obviously).

I can successfully allocate and associate floating IPs to instances in the FUGA 
cloud when using horizon. And also with nova client I can successfully interact 
with the FUGA API to list the Floating IP Pools and to create/delete floating 
IPs:

{quote}
[xvid@devweb02 java]$ nova floating-ip-pool-list
WARNING: Command floating-ip-pool-list is deprecated and will be removed after 
Nova 15.0.0 is released. Use python-neutronclient or python-openstackclient 
instead.
+--+
| name |
+--+
| external |
+--+
[xvid@devweb02 java]$ nova floating-ip-create external
WARNING: Command floating-ip-create is deprecated and will be removed after 
Nova 15.0.0 is released. Use python-neutronclient or python-openstackclient 
instead.
+--++---+--+--+
| Id   | IP | Server Id | Fixed IP 
| Pool |
+--++---+--+--+
| 5a4a318e-1672-425d-9522-d900e34efa98 | 185.54.114.154 | - | -
| external |
+--

[jira] [Created] (JCLOUDS-1205) Setting a custom pool name with floatingIpPoolNames() in NovaTemplateOptions seems to have no effect

2016-11-25 Thread Michael Militzer (JIRA)
Michael Militzer created JCLOUDS-1205:
-

 Summary: Setting a custom pool name with floatingIpPoolNames() in 
NovaTemplateOptions seems to have no effect
 Key: JCLOUDS-1205
 URL: https://issues.apache.org/jira/browse/JCLOUDS-1205
 Project: jclouds
  Issue Type: Bug
  Components: jclouds-compute
Affects Versions: 2.0.0
 Environment: CentOS 6.8, OpenJDK 1.8.0.111-0.b15.el6_8
Reporter: Michael Militzer


I'm trying to spawn an instance in the FUGA cloud (https://fuga.io/) with 
jclouds 2.0 and auto-associate a floating IP but this fails with:

{quote}
JavaException: org.jclouds.rest.ResourceNotFoundException: {"itemNotFound": 
{"message": "Floating IP pool not found.", "code": 404}}
{quote}

FUGA has a custom namespace for the FloatingIP extension and it uses a custom 
name for the Floating IP Pool. Because of the former, I already ran into 
https://issues.apache.org/jira/browse/JCLOUDS-1013 and had to update to jclouds 
2.0. With jclouds 2.0 this issue is solved and jclouds now finds the Floating 
IP extension but now the problem seems to be that jclouds does not use the 
right pool (with FUGA's custom pool name "external").

I'm using the generic compute service and my code to spawn a new instance looks 
somewhat like this:

{code}
ComputeService compute = 
this.contextBuilder.buildView(ComputeServiceContext.class).getComputeService();

try {
TemplateBuilder templateBuilder = compute.templateBuilder();
Template template = templateBuilder
.locationId(region)
.imageId(imageId)
.hardwareId(instanceType)
.build();

template.getOptions().as(NovaTemplateOptions.class).autoAssignFloatingIp(true);

template.getOptions().as(NovaTemplateOptions.class).floatingIpPoolNames("external");

template.getOptions().as(NovaTemplateOptions.class).userData(userData.getBytes());

NodeMetadata node = 
getOnlyElement(compute.createNodesInGroup(groupName, 1, template));
return node;

} catch (RunNodesException e) {
System.err.println("error adding node to group " + groupName + ": " + 
e.getMessage());
return null;
}
{code}

So I'm using the "floatingIpPoolNames" method in NovaTemplateOptions to specify 
FUGA's custom floating IP pool name "external". But still, trying to create an 
instance fails with the aforementioned exception:

{quote}
JavaException: org.jclouds.rest.ResourceNotFoundException: {"itemNotFound": 
{"message": "Floating IP pool not found.", "code": 404}}
{quote}

I believe the way I'm setting the custom pool name property via 
"floatingIpPoolNames" in NovaTemplateOptions must be basically correct. At 
least the "userData" I also set on NovaTemplateOptions just one line later is 
picked up correctly (verified when "autoAssignFloatingIp" is set to false, 
because then the instance is started successfully - just without a public IP, 
obviously).

I can successfully allocate and associate floating IPs to instances in the FUGA 
cloud when using horizon. And also with nova client I can successfully interact 
with the FUGA API to list the Floating IP Pools and to create/delete floating 
IPs:

{quote}
[xvid@devweb02 java]$ nova floating-ip-pool-list
WARNING: Command floating-ip-pool-list is deprecated and will be removed after 
Nova 15.0.0 is released. Use python-neutronclient or python-openstackclient 
instead.
+--+
| name |
+--+
| external |
+--+
[xvid@devweb02 java]$ nova floating-ip-create external
WARNING: Command floating-ip-create is deprecated and will be removed after 
Nova 15.0.0 is released. Use python-neutronclient or python-openstackclient 
instead.
+--++---+--+--+
| Id   | IP | Server Id | Fixed IP 
| Pool |
+--++---+--+--+
| 5a4a318e-1672-425d-9522-d900e34efa98 | 185.54.114.154 | - | -
| external |
+--++---+--+--+
[xvid@devweb02 java]$ nova floating-ip-list
WARNING: Command floating-ip-list is deprecated and will be removed after Nova 
15.0.0 is released. Use python-neutronclient or python-openstackclient instead.
+--++---+--+--+
| Id   | IP | Server Id | Fixed IP 
| Pool |
+--++---+--+--+
| 5a4a318e-1672-425d-9522-d900e34efa98 | 185.54.114.154 | - | -
| external |
+-