[ https://issues.apache.org/jira/browse/STRATOS-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Imesh Gunaratne updated STRATOS-507: ------------------------------------ Fix Version/s: (was: 4.0.0 RC) 4.0.0 > 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 > Assignee: Jeffrey Nguyen > Fix For: 4.0.0 > > Attachments: > 0001-STRATOS-507-Support-to-assign-fixed-private-IPs-and-.patch, > 0001-STRATOS-507-Support-to-assign-fixed-private-IPs-and-.patch > > > 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)