stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeffrey Nguyen (jeffrngu)" <jeffr...@cisco.com>
Subject Re: [jira] [Comment Edited] (STRATOS-507) Support to assign fixed private IPs and Port number in addition to network UUIDs for cartridges
Date Tue, 11 Mar 2014 16:38:08 GMT

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? 

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)" <jira@apache.org> 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)


Mime
View raw message