On Tue, Mar 11, 2014 at 10:08 PM, Jeffrey Nguyen (jeffrngu) < [email protected]> wrote:
> > Thanks Reka for the comment. I like that suggestion of pulling this out > of the Cartridge Property section. Two questions I have for you: > > 1/- When we do that, should we remove the "networkInterfaces" property > under Cartridge Property section since it doesn't make sense to have both > co-exist? > +1 > > 2/- Based on OpenStack specs > ( > http://docs.openstack.org/api/openstack-compute/2/content/NetworksSection. > html), you can only have 3 attributes: network UUID, fixed_ip, and port > UUID. I'm not sure what the "elasticIp" is used for. Ideally, having > just the valid network attributes in the JSON object will make it easier > to process and more efficient. > > Copied Nirmal too since he introduced the "networkInterfaces" under > Cartridge Property. > > Regards, > > -Jeffrey > > On 3/11/14 8:37 AM, "Reka Thirunavukkarasu (JIRA)" <[email protected]> > wrote: > > > > > [ > >https://issues.apache.org/jira/browse/STRATOS-507?page=com.atlassian.jira > . > >plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13930450#co > >mment-13930450 ] > > > >Reka Thirunavukkarasu edited comment on STRATOS-507 at 3/11/14 3:37 PM: > >------------------------------------------------------------------------ > > > >Hi Jeffrey , > > > >Why can't we also follow the same as openstack payload structure in the > >cartridge definition. As we support json array in the cartridge > >definition, it would be nice, if you could also follow the same. We can > >introduce a new section for the network in the cartridge definition > >rather than pushing all the network interfaces as string into the > >cartridge properties. Would you think that the following will be cleaner > >in this case? For Eg: > > > >In order to just define the network interfaces > >==================================== > >"network" : [ > > { > > "uuid": "fb9c21f4-0672-48b2-8279-77334bb63a53", > > "elasticIp" : true > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "elasticIp" : true > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "elasticIp" : true > > } > > ] > > > >Network interfaces with fixedip > >======================= > > "network" : [ > > { > > "uuid": "fb9c21f4-0672-48b2-8279-77334bb63a53", > > "fixedIp": "172.16.0.10" > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "fixedIp" : "172.16.0.11" > > > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "fixedIp" : "172.16.0.12" > > > > } > > ] > > > > > >was (Author: reka): > >Hi Jeffrey , > > > >Why can't we also follow the same as openstack payload structure in the > >cartridge definition. As we support json array in the cartridge > >definition, it would be nice, if you could also follow the same. We can > >introduce a new section for the network in the cartridge definition > >rather than pushing all the network interfaces as string into the > >cartridge properties. Would you think that the following will be cleaner > >in this case? For Eg: > > > >In order to just define the network interfaces > >==================================== > >"network" : [ > > { > > "uuid": "fb9c21f4-0672-48b2-8279-77334bb63a53", > > "elasticip" : true > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "elasticip" : true > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "elasticip" : true > > } > > ] > > > >Network interfaces with fixedip > >======================= > > "network" : [ > > { > > "uuid": "fb9c21f4-0672-48b2-8279-77334bb63a53", > > "fixedip": "172.16.0.10" > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "fixedip" : "172.16.0.11" > > > > }, > > { > > "uuid": "aa1809a2-c32d-4eb8-a5c5-e46f692416e0", > > "fixedip" : "172.16.0.12" > > > > } > > ] > > > >> 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-e46f692416e > >>0,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.1 > >>6.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-029c0b > >>6fc1fe","flavorRef":"1d89ff82-5981-4a14-91e5-fc769f82a2f9","metadata":{"j > >>clouds-group":"testp"},"key_name":"test","security_groups":[{"name":"defa > >>ult"}],"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) > > -- Best Regards, Nirmal Nirmal Fernando. PPMC Member & Committer of Apache Stratos, Senior Software Engineer, WSO2 Inc. Blog: http://nirmalfdo.blogspot.com/
