Re: [openstack-dev] [neutron] [nova] [os-vif] OVS plugin assumes an incorrect datapath_type in os-vif

2017-06-20 Thread Kevin Benton
vif_details has always been a bag of goodies for mech drivers to pack in
information relevant to wiring up the vif_type. This sounds like a pretty
standard addition so I don't see any blockers.

On Tue, Jun 20, 2017 at 9:16 AM, Alonso Hernandez, Rodolfo <
rodolfo.alonso.hernan...@intel.com> wrote:

> Hello fellows:
>
>
>
> Currently there is a bug in os-vif [1
> ]. When os-vif tries to
> plug an OVS interface, the datapath type is hardcoded:
>
> -  https://github.com/openstack/os-vif/blob/
> 9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L100-L101
>
> -  https://github.com/openstack/os-vif/blob/
> 9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L127-L128
>
> -  https://github.com/openstack/os-vif/blob/
> 9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L135-L136
>
> -  https://github.com/openstack/os-vif/blob/
> 9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L149-L150
>
>
>
> The problem is os-vif doesn’t have this information now. I’m proposing the
> following solution:
>
> -  Nova: https://review.openstack.org/#/c/474892/
>
> -  Neutron: https://review.openstack.org/#/c/474588/
>
> -  Neutron-lib: https://review.openstack.org/#/c/474248/
>
> -  os-vif: https://review.openstack.org/#/c/474914/
>
>
>
> Neutron will add to VIF details the datapath type to the vif details dict.
> If this information is not given in the config file, the default parameter
> written will be OVS_DATAPATH_SYSTEM, which is the default value. The change
> in neutron-lib is needed for Neutron to keep the same dict key name
> (matching the name set in nova.network.model)
>
> 1)
>
> 2)  Nova will receive this information (if given in the dict),
> getting the value stored in vif['details']. If the key is not set, the
> default datapath will be None. Because currently no information is passed
> and Nova doesn’t know about the different datapath types (this information
> is in Neutron), it makes sense not to assign any value. Nova is protected
> in case the dict doesn't have this information.
>
>
>
> Finally, os-vif will receive the VIF information given by Nova. If the
> datapath_type is not given in the variable (dict) or the value is None, the
> default value (OVS_DATAPATH_SYSTEM) will be set.
>
>
>
> As you can see, it's indeed an API change, but the projects affected are
> protected in case the information expected in the variable passed is not
> present.
>
>
>
> What do you think?
>
>
>
> Thank you in advance.
>
>
>
> [1] https://bugs.launchpad.net/os-vif/+bug/1632372
>
>
>
>
>
>
>
>
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [neutron] [nova] [os-vif] OVS plugin assumes an incorrect datapath_type in os-vif

2017-06-20 Thread Alonso Hernandez, Rodolfo
Hello fellows:

Currently there is a bug in os-vif 
[1]. When os-vif tries to plug 
an OVS interface, the datapath type is hardcoded:

-  
https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L100-L101

-  
https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L127-L128

-  
https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L135-L136

-  
https://github.com/openstack/os-vif/blob/9fb7fe512902a37432e38d884b8be59ce91582db/vif_plug_ovs/ovs.py#L149-L150

The problem is os-vif doesn’t have this information now. I’m proposing the 
following solution:

-  Nova: https://review.openstack.org/#/c/474892/

-  Neutron: https://review.openstack.org/#/c/474588/

-  Neutron-lib: https://review.openstack.org/#/c/474248/

-  os-vif: https://review.openstack.org/#/c/474914/

Neutron will add to VIF details the datapath type to the vif details dict. If 
this information is not given in the config file, the default parameter written 
will be OVS_DATAPATH_SYSTEM, which is the default value. The change in 
neutron-lib is needed for Neutron to keep the same dict key name (matching the 
name set in nova.network.model)

1)

2)  Nova will receive this information (if given in the dict), getting the 
value stored in vif['details']. If the key is not set, the default datapath 
will be None. Because currently no information is passed and Nova doesn’t know 
about the different datapath types (this information is in Neutron), it makes 
sense not to assign any value. Nova is protected in case the dict doesn't have 
this information.

Finally, os-vif will receive the VIF information given by Nova. If the 
datapath_type is not given in the variable (dict) or the value is None, the 
default value (OVS_DATAPATH_SYSTEM) will be set.

As you can see, it's indeed an API change, but the projects affected are 
protected in case the information expected in the variable passed is not 
present.

What do you think?

Thank you in advance.

[1] https://bugs.launchpad.net/os-vif/+bug/1632372




__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev