Uploaded image for project: 'netvirt'
  1. netvirt
  2. NETVIRT-738

Error occurs when adding a new L2GW Node to the environment which L2GW is running with Open vSwitch HWVTEP Emulator

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved
    • Medium
    • Resolution: Done
    • Carbon
    • None
    • General
    • None
    • Operating System: All
      Platform: All

    • 8712

    Description

      What we want to do:
      Add L2GW Nodes to the environment which already have one or more L2GW nodes working.

      What we did (Steps):
      1. Create a L2GW Node with Open vSwitch HWVTEP Emulator
      Set 'other_config:ha_enabled=true' and 'other_config:ha_id=0123456789' when creating.
      2. Create a gateway and connection
      Confirmed the comminocation via L2GW Node was OK
      3. Create a new L2GW Node with Open vSwitch HWVTEP Emulator
      Create a HA Cluster with node created in step1
      Set 'other_config:ha_enabled=true', and 'other_config:ha_id=0123456789'
      VTEP and MAC were also set to the same vaule of the first node

      Environment details:
      OpenStack Version:stable/ocata
      ODL Version:Carbon-FR + patch
      patch: https://git.opendaylight.org/gerrit/#/c/56773/
      https://git.opendaylight.org/gerrit/#/c/56710/
      HWVTEP: Open vSwitch 2.6.1 HWVTEP Emulator
      : HA Cluster

      karaf.log:
      2017-06-14 14:14:35,554 | ERROR | on-dispatcher-66 | TransactInvokerImpl | 292 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.4.1.SNAPSHOT | HWVTEP transaction operation failed referential integrity violation Table Physical_Port column vlan_bindings row d400dc78-d0b2-4a45-beba-326b18eb4d59 references nonexistent row cc7cbc81-eb4d-4f2b-ba04-9dfa6afe849d in table Logical_Switch.
      2017-06-14 14:14:35,555 | ERROR | on-dispatcher-66 | TransactInvokerImpl | 292 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.4.1.SNAPSHOT | Failed transaction update [tunnel_ips : [] , ]update [vlan_bindings :

      {2222=LogicalSwitch_30ae2d8c_5361_45be_b7a8_a93abf722e8f} , ]
      2017-06-14 14:14:36,047 | ERROR | on-dispatcher-66 | TransactInvokerImpl | 292 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.4.1.SNAPSHOT | HWVTEP transaction operation failed referential integrity violation Table Ucast_Macs_Remote column locator row 17ddb12a-f4de-487d-908f-1717790100f1 references nonexistent row 00000000-0000-0000-0000-000000000000 in table Physical_Locator.
      2017-06-14 14:14:36,047 | ERROR | on-dispatcher-66 | TransactInvokerImpl | 292 - org.opendaylight.ovsdb.hwvtepsouthbound-impl - 1.4.1.SNAPSHOT | Failed transaction insert [name : 30ae2d8c-5361-45be-b7a8-a93abf722e8f , tunnel_key : [96] , ] insert [encapsulation_type : vxlan_over_ipv4 , dst_ip : 10.0.0.10 , ] insert [locators : [PhysicalLocator_Random_61098e5741e640c6a118896b0c87e1c9] , ] insert [locator_set : PhysicalLocatorSet_Random_49a5353230ee467c8a8254689b15a162 , logical_switch : LogicalSwitch_30ae2d8c_5361_45be_b7a8_a93abf722e8f , MAC : unknown-dst , ] insert [logical_switch : LogicalSwitch_30ae2d8c_5361_45be_b7a8_a93abf722e8f , MAC : fa:16:3e:fa:1d:10 , ]

      Cause of failure:
      The operation order of OVSDB is incorrect.
      The uuid of LogicalSwitch_30ae2d8c_5361_45be_b7a8_a93abf722e8f will not be assigned
      if update [vlan_bindings : {2222=LogicalSwitch_30ae2d8c_5361_45be_b7a8_a93abf722e8f}

      , ]
      is not executed after Logical Switch creation with
      operation of insert [name : 30ae2d8c-5361-45be-b7a8-a93abf722e8f , tunnel_key : [96] , ]

      Below are commands we executed.
      ---- HWVTEP#1/HWVTEP#2 ----
      vtep=10.0.0.50
      BRIDGE=ocata-l2gw1
      HA_ID=0123456789
      ovsdb-server --pidfile --detach --log-file --remote=punix:/var/run/openvswitch/db.sock --remote=db:hardware_vtep,Global,managers --remote=ptcp:6632 /etc/openvswitch/ovs.db /etc/openvswitch/vtep.db
      ovs-vswitchd --log-file --detach --pidfile unix:/var/run/openvswitch/db.sock
      ovs-vsctl add-br $BRIDGE
      ovs-vsctl add-port $BRIDGE eth2
      vtep-ctl add-ps $BRIDGE
      vtep-ctl set Physical_Switch $BRIDGE tunnel_ips=$vtep
      /usr/share/openvswitch/scripts/ovs-vtep --log-file=/var/log/openvswitch/ovs-vtep.log --pidfile=/var/run/openvswitch/ovs-vtep.pid --detach $BRIDGE
      vtep-ctl set-manager tcp:172.16.1.30:6640
      MANAGERUUID=$(vtep-ctl list Manager | grep ^_uuid | awk -F: '

      {print $2}

      ' | tr -d ' ')
      vtep-ctl set Manager $MANAGERUUID other_config:ha_enabled=true
      vtep-ctl set Manager $MANAGERUUID other_config:ha_id=$HA_ID
      vtep-ctl list Manager
      ---------------------------

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Unassigned Unassigned
            ran-xiao@vf.jp.nec.com Ran Xiao
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: