Jeffrey Nguyen created STRATOS-507:
--------------------------------------

             Summary: Support to assign fixed private IPs and Port number in 
addition to network UUIDs for cartridges
                 Key: STRATOS-507
                 URL: https://issues.apache.org/jira/browse/STRATOS-507
             Project: Stratos
          Issue Type: Improvement
          Components: Cloud Controller
    Affects Versions: 4.0.0 Alpha
         Environment: Stratos 4.0.0 Alpha, jClouds 1.7.1
            Reporter: Jeffrey Nguyen



Hi Stratos Devs,

I'm currently working on Stratos enhancement to leverage new network API 
supported by jClouds [1].

In the current environment, when we attached a list of network UUIDs to a 
cartridge and subscribe to this cartridge, the new instance will have private 
IPs randomly assigned to each network.   We need the ability to specify fixed 
private IP for each network.

In addition to fixed private IPs, we could also assign port UUIDs or whatever 
the underlined Iaas supports for the networks configuration.

I am currently working on jClouds enhancement [1].  This JIRA is for the 
changes required on Stratos side.

Please see [3] below on how the private IPs are specified in the JSON payload.

In the existing implementation of multiple networks [2], the JSON cartridge 
definition can specify multiple networks like one below.

                    {
                        "name": "networkInterfaces", 
                        "value": 
"fb9c21f4-0672-48b2-8279-77334bb63a53,aa1809a2-c32d-4eb8-a5c5-e46f692416e0,1e43f86f-4165-4f2e-8017-dd4cfb5548b0"
                    }

With this new enhancement, the JSON cartridge definition can specify multiple 
networks and fixed private IPs like one below.

                    {
                        "name": "networkInterfaces", 
                        "value": 
"[{\"uuid\":\"fb9c21f4-0672-48b2-8279-77334bb63a53\",\"fixed_ip\":\"172.16.0.10\"},{\"uuid\":\"aa1809a2-c32d-4eb8-a5c5-e46f692416e0\",\"fixed_ip\":\"172.16.1.11\"}]"
                    }

Questions:
- Should introduce new property for the new format or should I just use 
existing "networkInterfaces" properties, which implies fixing [2]?  When 
invoking jClouds API, we should set the value one way or the other, but not 
both.
- In the current implementation of Stratos, all cartridge properties are 
treated as String.  Therefore, with this new enhancement, the networks tuples 
need to escape the double quotes.   Is this okay?

Please let me know what you think.

Regards,
-Jeffrey

[1] https://issues.apache.org/jira/browse/JCLOUDS-493
[2] https://issues.apache.org/jira/browse/STRATOS-180
[3] OpenStack JSON payload for creating server with network uuid and fixed 
private IP:

"{"server":{"name":"testp-e12","imageRef":"66dac7ce-992c-43a4-b765-029c0b6fc1fe","flavorRef":"1d89ff82-5981-4a14-91e5-fc769f82a2f9","metadata":{"jclouds-group":"testp"},"key_name":"test","security_groups":[{"name":"default"}],"user_data":"U0VSVk...VAx","networks":[{"uuid":"fb9c21f4-0672-48b2-8279-77334bb63a53","fixed_ip":"172.16.0.10"},{"uuid":"aa1809a2-c32d-4eb8-a5c5-e46f692416e0","fixed_ip":"172.16.1.11"},{"uuid":"1e43f86f-4165-4f2e-8017-dd4cfb5548b0","fixed_ip":"172.16.2.12"}]}}"




--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to