[openstack-dev] [nova][neutron] Rocky PTG summary - nova/neutron

melanie witt melwittt at gmail.com
Thu Mar 15 20:30:00 UTC 2018

Hello Stackers,

I've put together an etherpad [0] for the summary of the nova/neutron 
session from the PTG in the Croke Park Hotel breakfast area and included 
it as a plain text export on this email. Please feel free to edit or 
reply to this thread to add/correct anything I've missed.


[0] https://etherpad.openstack.org/p/nova-ptg-rocky-neutron-summary

*Nova/Neutron: Rocky PTG Summary

https://etherpad.openstack.org/p/nova-ptg-rocky L159

*Key topics

   * NUMA-aware vSwitches
   * Minimum bandwidth-based scheduling
   * New port binding API in Neutron
   * Filtering instances by floating IP in Nova
   * Nova bug around re-attaching network interfaces on nova-compute 
restart -- port re-plug and re-create results in loss of some 
configuration like VLANs
     * https://bugs.launchpad.net/nova/+bug/1670628
   * Routed provider networks needs to move to placement aggregates

*Agreements and decisions

   * For NUMA-aware vSwitches, we'll go forward with a config-based 
solution for Rocky and deprecate it later when we have support in 
placement for the necessary inventory reporting bit (which will be 
implemented as part of the bandwidth-based scheduling work). We'll use 
dynamic attributes like "physnet_mapping_[name] = nodes" to avoid the 
JSON blob problem (Cinder and Manila do this) and thusly we'll avoid 
having to deprecate any additional YAML config file or JSON blob based 
thing when the placement support is available.
     * Spec: https://review.openstack.org/#/c/541290/
   * On minimum bandwidth-based scheduling:
     * Neutron will create the network related RPs under the compute RP 
in placement
       * It's reasonable to require unique hostnames (across cells, the 
internet, the world) and we'll solve the host -- compute uuid issue 
     * Neutron will report the bandwidth inventory to placement
     * On the interaction of Neutron and Nova to communicate the 
requested bandwidth per port:
       * The requested minimum bandwidth for a neturon port wil be 
available in the neutron port API 
       * The work does not depend on the new neutron port binding API
       * We'll need not just resources but traits as well on the neutron 
port and neutron should add the physnet to the port as a trait. We'll 
assume that the requested resources and traits are from a single 
provider per port
     * We don't need to block bandwidth-based scheduling support for 
doing port creation in conductor (it's not trivial), however, if nova 
creates a port on a network with a QoS policy, nova is going to have to 
munge the allocations and update placement (from nova-compute) ... so 
maybe we should block this on moving port creation to conductor after all
     * Nova will merge the requested bandwidth into the 
allocation_candidate request by a new request filter
     * Nova will create the allocation in placement for bandwidth 
resources and the allocation uuid will be the instance uuid. Multiple 
ports with different QoS rules will be distinguishable because they will 
have allocations from different providers
     * As PF/VF modeling in placement has not been done yet we can phase 
this feature to support OVS first and add support for SRIOV after the 
PF/VF modelling is done
     * Nova spec: https://review.openstack.org/#/c/502306/
     * Neutron spec: https://review.openstack.org/#/c/508149
   * On the new port binding API in Neutron, there is solid progress on 
the Neutron side and the Nova skeleton patches are making progress and 
depend on the Neutron patch, so some testing will be possible soon 
(still need to plumb in the libvirt driver changes)
     * Spec: 
     * Neutron patch: https://review.openstack.org/#/c/414251/
   * On the Nova bug about re-attaching network interfaces:
     * There was a bug in OVS back in 2014 for which a workaround was 
added: https://github.com/openstack/nova/commit/33cc64fb817
     * The bug was fixed in OVS in 2015 and is available in OVS 2.6.0 
     * The old workaround in Nova (now in os-vif) was determined to be 
causing the bug, so a fix to os-vif was made which essentially reverted 
the workaround: https://review.openstack.org/#/c/546588
     * We can close the bug in Nova once we have a os-vif library 
release and we depend on its version in our requirements.txt
   * On routed provider networks:
     * On the Neutron side, this is already done: 
     * Summit videos about routed provider networks:

More information about the OpenStack-dev mailing list