Thanks guys for the heads up

Indeed making it backwards compat by adding the "[ip_]version" key to
the dictionary sounds like the best way to go.

Cheers,
Lucas

On Thu, Oct 2, 2014 at 3:53 AM, Carlino, Chuck <chuck.carl...@hp.com> wrote:
> As a 'heads up', adding ironic to the thread since they are a 'key' consumer 
> of this api.
>
>
> On Oct 1, 2014, at 3:15 AM, Xu Han Peng 
> <pengxu...@gmail.com<mailto:pengxu...@gmail.com>> wrote:
>
> ip_version sounds great.
>
> Currently the opt-names are written into the configuration file of dnsmasq 
> directly. So I would say yes, they are coming from dnsmasq definitions.
>
> It will make more sense when ip_version is missing or null, the option apply 
> to both since we could have only ipv6 or ipv4 address on the port. However, 
> the validation of opt-value should rule out the ones which are not suitable 
> for the current address. For example, an IPv6 dns server should not be 
> specified for IPv4 address port, etc...
>
> Xu Han
>
> On 09/30/2014 08:41 PM, Robert Li (baoli) wrote:
> Xu Han,
>
> That looks good to me. To keep it consistent with existing CLI, we should use 
> ip-version instead of ‘version’. It seems to be identical to prefixing the 
> option_name with v4 or v6, though.
>
> Just to clarify, are the available opt-names coming from dnsmasq definitions?
>
> With regard to the default, your suggestion "version is optional (no version 
> means version=4)." seems to be different from Mark’s:
> I’m -1 for both options because neither is properly backwards compatible.  
> Instead we should add an optional 3rd value to the dictionary: “version”.  
> The version key would be used to make the option only apply to either version 
> 4 or 6.  If the key is missing or null, then the option would apply to both.
>
> Thanks,
> Robert
>
> On 9/30/14, 1:46 AM, "Xu Han Peng" 
> <pengxu...@gmail.com<mailto:pengxu...@gmail.com>> wrote:
>
> Robert,
>
> I think the CLI will look something like based on Mark's suggestion:
>
> neutron port-create extra_dhcp_opts 
> opt_name=<dhcp_option_name>,opt_value=<value>,version=4(or 6) <network>
>
> This extra_dhcp_opts can be repeated and version is optional (no version 
> means version=4).
>
> Xu Han
>
> On 09/29/2014 08:51 PM, Robert Li (baoli) wrote:
> Hi Xu Han,
>
> My question is how the CLI user interface would look like to distinguish 
> between v4 and v6 dhcp options?
>
> Thanks,
> Robert
>
> On 9/28/14, 10:29 PM, "Xu Han Peng" 
> <pengxu...@gmail.com<mailto:pengxu...@gmail.com>> wrote:
>
> Mark's suggestion works for me as well. If no one objects, I am going to 
> start the implementation.
>
> Thanks,
> Xu Han
>
> On 09/27/2014 01:05 AM, Mark McClain wrote:
>
> On Sep 26, 2014, at 2:39 AM, Xu Han Peng 
> <pengxu...@gmail.com<mailto:pengxu...@gmail.com>> wrote:
>
> Currently the extra_dhcp_opts has the following API interface on a port:
>
> {
>     "port":
>     {
>         "extra_dhcp_opts": [
>             {"opt_value": "testfile.1","opt_name": "bootfile-name"},
>             {"opt_value": "123.123.123.123", "opt_name": "tftp-server"},
>             {"opt_value": "123.123.123.45", "opt_name": "server-ip-address"}
>         ],
>         ....
>      }
> }
>
> During the development of DHCPv6 function for IPv6 subnets, we found this 
> format doesn't work anymore because an port can have both IPv4 and IPv6 
> address. So we need to find a new way to specify extra_dhcp_opts for DHCPv4 
> and DHCPv6, respectively. ( https://bugs.launchpad.net/neutron/+bug/1356383)
>
> Here are some thoughts about the new format:
>
> Option1: Change the opt_name in extra_dhcp_opts to add a prefix (v4 or v6) so 
> we can distinguish opts for v4 or v6 by parsing the opt_name. For backward 
> compatibility, no prefix means IPv4 dhcp opt.
>
>         "extra_dhcp_opts": [
>             {"opt_value": "testfile.1","opt_name": "bootfile-name"},
>             {"opt_value": "123.123.123.123", "opt_name": "v4:tftp-server"},
>             {"opt_value": "[2001:0200:feed:7ac0::1]", "opt_name": 
> "v6:dns-server"}
>         ]
>
> Option2: break extra_dhcp_opts into IPv4 opts and IPv6 opts. For backward 
> compatibility, both old format and new format are acceptable, but old format 
> means IPv4 dhcp opts.
>
>         "extra_dhcp_opts": {
>              "ipv4": [
>                     {"opt_value": "testfile.1","opt_name": "bootfile-name"},
>                     {"opt_value": "123.123.123.123", "opt_name": 
> "tftp-server"},
>              ],
>              "ipv6": [
>                     {"opt_value": "[2001:0200:feed:7ac0::1]", "opt_name": 
> "dns-server"}
>              ]
>         }
>
> The pro of Option1 is there is no need to change API structure but only need 
> to add validation and parsing to opt_name. The con of Option1 is that user 
> need to input prefix for every opt_name which can be error prone. The pro of 
> Option2 is that it's clearer than Option1. The con is that we need to check 
> two formats for backward compatibility.
>
> We discussed this in IPv6 sub-team meeting and we think Option2 is preferred. 
> Can I also get community's feedback on which one is preferred or any other 
> comments?
>
>
> I’m -1 for both options because neither is properly backwards compatible.  
> Instead we should add an optional 3rd value to the dictionary: “version”.  
> The version key would be used to make the option only apply to either version 
> 4 or 6.  If the key is missing or null, then the option would apply to both.
>
> mark
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org>
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to