← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1881759] Re: [OVN] Virtual port type set while port has no parents

 

Reviewed:  https://review.opendev.org/732690
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=e6023ecb482ee0dc7e29739b94e009c275cc24a1
Submitter: Zuul
Branch:    master

commit e6023ecb482ee0dc7e29739b94e009c275cc24a1
Author: Maciej Józefczyk <mjozefcz@xxxxxxxxxx>
Date:   Tue Jun 2 14:12:31 2020 +0000

    [OVN] Don't set virtual port type on ports with similar addresses
    
    Because of broken check why one port has similar address to the other
    one, the first one by mistake could be set as virtual.
    Example:
     port_1: 10.11.1.100
     port_2: 10.11.1.10
    
    On create of port_2 it is set as 'virtual', but shouldn't.
    
    This patch fixes that bug by using common function
    utils.get_ovn_port_addresses().
    
    Change-Id: Ia4b986146c77edf0616015380359e37233df80fc
    Closes-Bug: #1881759


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1881759

Title:
  [OVN] Virtual port type set while port has no parents

Status in neutron:
  Fix Released

Bug description:
  I noticed that one port has been set as virtual, while there is no
  other port having the same ip address configured withing same network
  (address pairs extension).

  My example is as follows:

  ()[root@controller-0 flows-distribution]# ovn-nbctl list logical_switch_port 6c788bc2-beb1-4f12-bf93-b45433241b90
  _uuid               : 6c788bc2-beb1-4f12-bf93-b45433241b90
  addresses           : ["fa:16:3e:23:b5:50 10.2.3.19"]
  dhcpv4_options      : 59f7a3c1-9a6f-45e4-92ec-8a3263650ab0
  dhcpv6_options      : []
  dynamic_addresses   : []
  enabled             : true
  external_ids        : {"neutron:cidrs"="10.2.3.19/24", "neutron:device_id"="", "neutron:device_owner"="", "neutron:network_name"="neutron-b55fccdf-e79e-4967-b87c-e7380d57e678", "neutron:port_name"="s_rally_e0292957_jPyoaKst", "neutron:project_id"="6e447c71b8bf480d80e008bb72015832", "neutron:revision_number"="3", "neutron:security_group_ids"="abb6d545-2647-42ca-a832-4e0945c72249"}                                                                                               
  ha_chassis_group    : []
  name                : "ec863657-2757-4636-a434-b7a67b41c9cb"
  options             : {requested-chassis="compute-1.redhat.local", virtual-ip="10.2.3.19", virtual-parents="21cf8792-2944-46cc-bc73-97c761a50f25"}                                                                                            
  parent_name         : []
  port_security       : ["fa:16:3e:23:b5:50 10.2.3.19"]
  tag                 : []
  tag_request         : []
  type                : virtual
  up                  : true
  ()[root@controller-0 flows-distribution]# 

  
  And the port that has been identified as a parent for ^:

  ()[root@controller-0 flows-distribution]# ovn-nbctl list logical_switch_port 21cf8792-2944-46cc-bc73-97c761a50f25
  _uuid               : b8195549-ccb4-4c4c-b228-2e2e095cf017
  addresses           : ["fa:16:3e:be:07:5c 10.2.3.191"]
  dhcpv4_options      : 59f7a3c1-9a6f-45e4-92ec-8a3263650ab0
  dhcpv6_options      : []
  dynamic_addresses   : []
  enabled             : true
  external_ids        : {"neutron:cidrs"="10.2.3.191/24", "neutron:device_id"="", "neutron:device_owner"="", "neutron:network_name"="neutron-b55fccdf-e79e-4967-b87c-e7380d57e678", "neutron:port_name"="s_rally_e0292957_K7uVoGwV", "neutron:project_id"="6e447c71b8bf480d80e008bb72015832", "neutron:revision_number"="3", "neutron:security_group_ids"="abb6d545-2647-42ca-a832-4e0945c72249"}                                                                                              
  ha_chassis_group    : []
  name                : "21cf8792-2944-46cc-bc73-97c761a50f25"
  options             : {requested-chassis="compute-1.redhat.local"}
  parent_name         : []
  port_security       : ["fa:16:3e:be:07:5c 10.2.3.191"]
  tag                 : []
  tag_request         : []
  type                : ""
  up                  : true


  In line:
  https://github.com/openstack/neutron/blob/cb55643a0695ebc5b41f50f6edb1546bcc676b71/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py#L209

  there is a broken check "and virtual_ip in ps". It validates string
  instead actual IP address.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1881759/+subscriptions


References