You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@jclouds.apache.org by "Zack Shoylev (JIRA)" <ji...@apache.org> on 2014/03/11 16:05:43 UTC

[jira] [Commented] (JCLOUDS-493) Extend TemplateOptions and CreateServerOptions to support fixed private IPs and more

    [ https://issues.apache.org/jira/browse/JCLOUDS-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13930436#comment-13930436 ] 

Zack Shoylev commented on JCLOUDS-493:
--------------------------------------

Please check https://issues.apache.org/jira/browse/JCLOUDS-486 and the related pull request.

It should already cover support for this. As such, this issue seems like a duplicate?

> Extend TemplateOptions and CreateServerOptions to support fixed private IPs and more
> ------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-493
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-493
>             Project: jclouds
>          Issue Type: Improvement
>          Components: jclouds-compute
>    Affects Versions: 1.7.1
>         Environment: jClouds 1.7.1
>            Reporter: Jeffrey Nguyen
>            Assignee: Jeffrey Nguyen
>              Labels: features
>
> Hi jClouds Devs,
> I'm currently working an enhancement related to recent enhancements to support networks in jClouds compute layer [1] and OpenStack nova [2].  In jClouds 1.7.1, both of these are invoked via the method "networks(Iterable<String> networks)".   I believe the intention is to set a list of network UUIDs.
> For each network UUID, I want to be able to assign a fixed private IP address, and possibly MAC address and port number.  [3] Below is an example of how I assign (network UUID, fixed private IP) tuples for the 3 network interfaces when creating a server in OpenStack. 
> Ideally, we need a more generic API like "TemplateOptions networks(Iterable<Map<String, String>> networks)".   This will support all of the network attributes instead of just the network UUID.
> Obviously Java does not allow the above overloaded method because we already have a "networks(Iterable<String> networks)" in the existing implementation.
> I'd like to propose we create a new method "networkConfig(Iterable<Map<String, String>> networkConfig)" and deprecate  "networks(Iterable<String> networks)".   This will allow each individual Iaas to take time to migrate to the new API.
> What I like about the new API is that since it's a Map, it'll take any network attributes supported by the underlined Iaas.  All we need to do is specify the attribute names in the JSON payload (not hard-coded in the code).  For example, when I apply this new API against OpenStack nova, I can specify network UUID, fix_ip, and port UUID for each interface.   Also, if any new attribute is introduced under networks, we'll get it for free with this new enhancement.
> Please let me know what you think.
> Regards,
> -Jeffrey
> [1] https://issues.apache.org/jira/browse/JCLOUDS-416
> [2] https://issues.apache.org/jira/browse/JCLOUDS-202
> [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)