Copied the right email address… From: jeffrngu <jeffr...@cisco.com<mailto:jeffr...@cisco.com>> Date: Thursday, May 8, 2014 12:27 PM To: "dev@stratos.incubator.apache.org<mailto:dev@stratos.incubator.apache.org>" <dev@stratos.incubator.apache.org<mailto:dev@stratos.incubator.apache.org>>, "Nirmal Fernando (JIRA)" <j...@apache.org<mailto:j...@apache.org>> Subject: Issue with floating IP allocation
Hi Nirmal, Not sure when we resolve email issue with Stratos alias so I copied you explicitly on this email. Anyway, I opened STRATOS-646 yesterday to track this issue where floating IP allocation fails when we don't pre-allocate the floating IP. I was doing some experiment with a jClouds property named "jclouds.openstack-nova.auto-create-floating-ips". I put it inside the property section where we define the "autoAssignIp" parameter as shown in [1] below. When I tried to subscribe to this cartridge, I got some exceptions shown in [2] below. Please correct me if I'm wrong on this. Based on the implementation for "ComputeServiceBuilderUtil.buildDefaultComputeService()", we're taking the properties defined in the "property" section of cartridge definition and send it to jClouds as-is. However, in the jClouds wire log, I don't see them in the server create request being sent to jClouds. Or are they encrypted inside "user_data"? Basically, I was trying to see if the above jClouds setting can solve this issue with floating IP allocation. If it does, the next question would be whether we use it as-is or we define a more user-friendly property for Stratos and then internally mask it out with the actual jClouds property. Please let me know what you think. Thanks, -Jeffrey [1] Modified cartridge def "iaasProvider": [ { "imageId": "RegionOne/a00d6082-61c8-4a4c-be3d-9ffbf3968792", "maxInstanceLimit": "4", "networkInterfaces": [ { "networkUuid": "de9464d6-a5c7-4e37-8842-602065a2546a", } ], "property": [ { "name": "instanceType", "value": "RegionOne/a033a14f-ad30-4703-a5bd-ac6496e1d580" }, { "name": "keyPair", "value": "phoenix" }, { "name": "autoAssignIp", "value": "false" }, { "name": "jclouds.openstack-nova.auto-create-floating-ips", "value": "true" }, { "name": "securityGroups", "value": "default" } ], "type": "openstack-Core" } [2] Snippet from wso2carbon.log TID: [0] [STRATOS] [2014-05-08 10:44:02,184] DEBUG {jclouds.wire} - >> "{"server":{"name":"cisco-samp-980","imageRef":"a00d6082-61c8-4a4c-be3d-9ffbf3968792","flavorRef":"a033a14f-ad30-4703-a5bd-ac6496e1d580","metadata":{"jclouds-group":"cisco-samp"},"key_name":"phoenix","security_groups":[{"name":"default"}],"user_data":"U0VSVklDRV9OQU1FPWNpc2NvLXNhbXBsZS12bSxIT1NUX05BTUU9Y2lzY28tc2FtcGxlLXZtLnFtb2cuY2lzY28uY29tLE1VTFRJVEVOQU5UPWZhbHNlLFRFTkFOVF9JRD0tMTIzNCxURU5BTlRfUkFOR0U9LTEyMzQsQ0FSVFJJREdFX0FMSUFTPWNpc2NvLXNhbXBsZS12bSxDTFVTVEVSX0lEPWNpc2NvLXNhbXBsZS12bS5jaXNjby1zYW1wbGUtdixDQVJUUklER0VfS0VZPXBTQ1hCdmk2QXBxME5TY2MsREVQTE9ZTUVOVD1kZWZhdWx0LFJFUE9fVVJMPWh0dHA6Ly9vY3RsLTAxLnFtb2cuY2lzY28uY29tOjEwMDgwL2dpdC9kZWZhdWx0LmdpdCxQT1JUUz0yMixQVVBQRVRfSVA9UFVQUEVUX0lQLFBVUFBFVF9IT1NUTkFNRT1QVVBQRVRfSE9TVE5BTUUsUFVQUEVUX0VOVj1QVVBQRVRfRU5WLE1PTklUT1JJTkdfU0VSVkVSX0FETUlOX1VTRVJOQU1FPXh4eHgsTU9OSVRPUklOR19TRVJWRVJfU0VDVVJFX1BPUlQ9MCxDRVJUX1RSVVNUU1RPUkU9L29wdC9hcGFjaGUtc3RyYXRvcy1jYXJ0cmlkZ2UtYWdlbnQvc2VjdXJpdHkvY2xpZW50LXRydXN0c3RvcmUuamtzLE1PTklUT1JJTkdfU0VSVkVSX0lQPW9jdGwtMDEucW1vZy5jaXNjby5jb20sTUJfSVA9b2N0bC0wMS5xbW9nLmNpc2NvLmNvbSxNQl9QT1JUPTYxNjE2LENFUF9QT1JUPTc2MTEsTU9OSVRPUklOR19TRVJWRVJfQURNSU5fUEFTU1dPUkQ9eHh4eCxDRVBfSVA9b2N0bC0wMS5xbW9nLmNpc2NvLmNvbSxTSU1QTEVfUFJPUEVSVFk9dmFsdWUsTU9OSVRPUklOR19TRVJWRVJfUE9SVD0wLEVOQUJMRV9EQVRBX1BVQkxJU0hFUj1mYWxzZSxUUlVTVFNUT1JFX1BBU1NXT1JEPXdzbzJjYXJib24sQ09NTUlUX0VOQUJMRUQ9ZmFsc2UsTUVNQkVSX0lEPWNpc2NvLXNhbXBsZS12bS5jaXNjby1zYW1wbGUtdjgwZTY1ZDI5LTAzMmQtNGNkNy05NWQ1LTg1YmVjZGYyZTZjOCxMQl9DTFVTVEVSX0lEPW51bGwsTkVUV09SS19QQVJUSVRJT05fSUQ9TjEsUEFSVElUSU9OX0lEPVJlZ2lvbk9uZQ\u003d\u003d","networks":[{"uuid":"de9464d6-a5c7-4e37-8842-602065a2546a"}]}}" {jclouds.wire} TID: [0] [STRATOS] [2014-05-08 10:44:02,707] DEBUG {jclouds.wire} - << "{"server": {"security_groups": [{"name": "default"}], "OS-DCF:diskConfig": "MANUAL", "id": "f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "links": [{"href": "http://10.94.251.12:8774/v2/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "self"}, {"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "bookmark"}], "adminPass": "P6BA3jPCPPzB"}}" {jclouds.wire} TID: [0] [STRATOS] [2014-05-08 10:44:02,854] DEBUG {jclouds.wire} - << "{"server": {"status": "BUILD", "updated": "2014-05-08T10:44:02Z", "hostId": "", "OS-EXT-SRV-ATTR:host": null, "addresses": {}, "links": [{"href": "http://10.94.251.12:8774/v2/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "self"}, {"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "bookmark"}], "key_name": "phoenix", "image": {"id": "a00d6082-61c8-4a4c-be3d-9ffbf3968792", "links": [{"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/images/a00d6082-61c8-4a4c-be3d-9ffbf3968792", "rel": "bookmark"}]}, "OS-EXT-STS:task_state": "scheduling", "OS-EXT-STS:vm_state": "building", "OS-EXT-SRV-ATTR:instance_name": "instance-000001af", "OS-SRV-USG:launched_at": null, "OS-EXT-SRV-ATTR:hypervisor_hostname": null, "flavor": {"id": "a033a14f-ad30-4703-a5bd-ac6496e1d580", "links": [{"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/flavors/a033a14f-ad30-4703-a5bd-ac6496e1d580", "rel": "bookmark"}]}, "id": "f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "nova", "user_id": "bfb57e32b9c941608112db017ba9248f", "name": "cisco-samp-980", "created": "2014-05-08T10:44:02Z", "tenant_id": "161d4e9387704433a8519259d65186ba", "OS-DCF:diskConfig": "MANUAL", "os-extended-volumes:volumes_attached": [], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 0, "config_drive": "", "metadata": {"jclouds-group": "cisco-samp"}}}" {jclouds.wire} …. TID: [0] [STRATOS] [2014-05-08 10:44:07,953] DEBUG {jclouds.wire} - << "{"server": {"status": "ACTIVE", "updated": "2014-05-08T10:44:07Z", "hostId": "30b72df643a1170bf586d61c107d73c5efee42f812e95f6c4a98663d", "OS-EXT-SRV-ATTR:host": "denver-stack03", "addresses": {"core": [{"OS-EXT-IPS-MAC:mac_addr": "fa:16:3e:ac:28:59", "version": 4, "addr": "172.16.2.17", "OS-EXT-IPS:type": "fixed"}]}, "links": [{"href": "http://10.94.251.12:8774/v2/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "self"}, {"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/servers/f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "rel": "bookmark"}], "key_name": "phoenix", "image": {"id": "a00d6082-61c8-4a4c-be3d-9ffbf3968792", "links": [{"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/images/a00d6082-61c8-4a4c-be3d-9ffbf3968792", "rel": "bookmark"}]}, "OS-EXT-STS:task_state": null, "OS-EXT-STS:vm_state": "active", "OS-EXT-SRV-ATTR:instance_name": "instance-000001af", "OS-SRV-USG:launched_at": "2014-05-08T10:44:06.000000", "OS-EXT-SRV-ATTR:hypervisor_hostname": "denver-stack03.cisco.com", "flavor": {"id": "a033a14f-ad30-4703-a5bd-ac6496e1d580", "links": [{"href": "http://10.94.251.12:8774/161d4e9387704433a8519259d65186ba/flavors/a033a14f-ad30-4703-a5bd-ac6496e1d580", "rel": "bookmark"}]}, "id": "f0a4a1ae-1a7f-418f-a629-423a1f5ff998", "security_groups": [{"name": "default"}], "OS-SRV-USG:terminated_at": null, "OS-EXT-AZ:availability_zone": "AZ-1", "user_id": "bfb57e32b9c941608112db017ba9248f", "name": "cisco-samp-980", "created": "2014-05-08T10:44:02Z", "tenant_id": "161d4e9387704433a8519259d65186ba", "OS-DCF:diskConfig": "MANUAL", "os-extended-volumes:volumes_attached": [], "accessIPv4": "", "accessIPv6": "", "progress": 0, "OS-EXT-STS:power_state": 1, "config_drive": "", "metadata": {"jclouds-group": "cisco-samp"}}}" {jclouds.wire} TID: [0] [STRATOS] [2014-05-08 10:44:07,965] DEBUG {jclouds.wire} - >> "{}" {jclouds.wire} TID: [0] [STRATOS] [2014-05-08 10:44:07,982] DEBUG {jclouds.wire} - << "{"itemNotFound": {"message": "FloatingIpPoolNotFound: Floating ip pool not found.", "code": 404}}" {jclouds.wire} TID: [0] [STRATOS] [2014-05-08 10:44:07,987] ERROR {jclouds.compute} - createNodesInGroup(cisco-samp), completed: 0/1, errors: 1, rate: 5816ms/op {jclouds.compute} 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.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.NullPointerException at org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:100) at org.jclouds.openstack.nova.v2_0.compute.functions.AllocateAndAddFloatingIpToNode.apply(AllocateAndAddFloatingIpToNode.java:53) 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 TID: [0] [STRATOS] [2014-05-08 10:44:07,988] ERROR {jclouds.compute} - createNodesInGroup(cisco-samp), completed: 0/1, errors: 1, rate: 5817ms/op {jclouds.compute} java.lang.RuntimeException: createNodesInGroup(cisco-samp), completed: 0/1, errors: 1, rate: 5817ms/op at org.jclouds.concurrent.FutureIterables.awaitCompletion(FutureIterables.java:155) at org.jclouds.compute.internal.BaseComputeService.createNodesInGroup(BaseComputeService.java:219) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37) at com.sun.proxy.$Proxy91.createNodesInGroup(Unknown Source) at org.apache.stratos.cloud.controller.impl.CloudControllerServiceImpl.startInstance(CloudControllerServiceImpl.java:356)