[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-6715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sanjeev N updated CLOUDSTACK-6715:
----------------------------------

    Assignee: Murali Reddy

> [SDN] Inconsistency in ovs-flow table after vm migration from one host to 
> another 
> ----------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-6715
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6715
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: Management Server, Network Controller
>    Affects Versions: 4.4.0
>         Environment: Latest build from 4.4 with commit 
> e6961fd21bb6d793302c234d0f409f66dc498072
>            Reporter: Sanjeev N
>            Assignee: Murali Reddy
>            Priority: Critical
>             Fix For: 4.4.0
>
>         Attachments: management-server.rar, ovstunnel-host13.log, 
> ovstunnel-host14.log
>
>
> [SDN] Inconsistency in ovs-flow table after vm migration from one host to 
> another 
> Steps to reproduce:
> ================
> 1.Bring up CS in advanced zone with two xen hosts in a cluster
> 2.Create physical network with GRE isolation
> 3.Create isolated network with OVS provider 
> 4.Deploy few vms in the network and make sure that all the vms(including VR) 
> are deployed on only one host.
> 5.Now migrate one vm to another host in the cluster and verify flow tables 
> for this isolated network bridge on both the xen hosts
> Result:
> =======
> Inconsistency in flow tables on both the xen hosts
> Following it the flow table from the host before vm migration (All the vms 
> and VR were only on this host before vm migration):
> [root@xen-host-14 ~]# ovs-ofctl dump-flows xapi4
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=1173.14s, table=0, n_packets=0, n_bytes=0, 
> priority=1100,dl_dst=ff:ff:ff:ff:ff:ff actions=output:1,output:2
>  cookie=0x0, duration=1173.15s, table=0, n_packets=0, n_bytes=0, 
> priority=1200,ip,in_port=2,nw_dst=224.0.0.0/24 actions=NORMAL
>  cookie=0x0, duration=1203.276s, table=0, n_packets=0, n_bytes=0, 
> priority=1200,ip,in_port=1,nw_dst=224.0.0.0/24 actions=NORMAL
>  cookie=0x0, duration=1226.258s, table=0, n_packets=901, n_bytes=85612, 
> priority=0 actions=NORMAL
>  cookie=0x0, duration=1173.129s, table=0, n_packets=0, n_bytes=0, 
> priority=1100,ip,nw_dst=224.0.0.0/24 actions=output:1,output:2
>  cookie=0x0, duration=1203.286s, table=0, n_packets=0, n_bytes=0, 
> priority=1200,in_port=1,dl_dst=ff:ff:ff:ff:ff:ff actions=NORMAL
>  cookie=0x0, duration=1173.167s, table=0, n_packets=7, n_bytes=1494, 
> priority=1200,in_port=2,dl_dst=ff:ff:ff:ff:ff:ff actions=NORMAL
> Flow table after vm migration on the same host:
> [root@xen-host-14 ~]# ovs-ofctl dump-flows xapi4
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=992.789s, table=0, n_packets=0, n_bytes=0, priority=0 
> actions=NORMAL
> [root@xen-host-14 ~]#
> Ports info on the bridge after vm migration:
> [root@xen-host-14 ~]# ovs-vsctl list-ports xapi4
> t986-2-1
> vif11.0
> vif12.0
> Flow table on the target host where vm was migrated to:
> [root@xen-host-13 ~]# ovs-ofctl dump-flows xapi4
> NXST_FLOW reply (xid=0x4):
>  cookie=0x0, duration=1025.129s, table=0, n_packets=0, n_bytes=0, 
> priority=1100,dl_dst=ff:ff:ff:ff:ff:ff actions=output:2
>  cookie=0x0, duration=1025.139s, table=0, n_packets=0, n_bytes=0, 
> priority=1200,ip,in_port=2,nw_dst=224.0.0.0/24 actions=NORMAL
>  cookie=0x0, duration=1032.932s, table=0, n_packets=0, n_bytes=0, 
> priority=1000,ip,in_port=1,nw_dst=224.0.0.0/24 actions=drop
>  cookie=0x0, duration=1033.247s, table=0, n_packets=0, n_bytes=0, priority=0 
> actions=NORMAL
>  cookie=0x0, duration=1025.119s, table=0, n_packets=0, n_bytes=0, 
> priority=1100,ip,nw_dst=224.0.0.0/24 actions=output:2
>  cookie=0x0, duration=1032.942s, table=0, n_packets=0, n_bytes=0, 
> priority=1000,in_port=1,dl_dst=ff:ff:ff:ff:ff:ff actions=drop
>  cookie=0x0, duration=1025.148s, table=0, n_packets=1, n_bytes=42, 
> priority=1200,in_port=2,dl_dst=ff:ff:ff:ff:ff:ff actions=NORMAL
> [root@xen-host-13 ~]# ovs-vsctl list-ports xapi4
> t986-1-2
> vif17.0
> Following is the log snippet from both the hosts during vm migration (tunnel 
> creation during vm migration):
> 2014-05-20 11:31:21    DEBUG [root] #### VMOPS enter  create_tunnel ####
> 2014-05-20 11:31:21    DEBUG [root] Creating tunnel from host 2 to host 1 
> with GRE key 986
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> '--timeout=30', 'wait-until', 'bridge', 'xapi4', '--', 'get', 'bridge', 
> 'xapi4', 'name']
> 2014-05-20 11:31:21    DEBUG [root] bridge xapi4 for creating tunnel - 
> VERIFIED
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'add-port', 'xapi4', 't986-2-1', '--', 'set', 'interface', 't986-2-1', 
> 'type=gre', 'options:key=986', 'options:remote_ip=10.147.40.13']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'port', 't986-2-1', 'interfaces']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', '01be01e9-c4b1-4b90-9ac0-199f2c797719', 'options:key']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', '01be01e9-c4b1-4b90-9ac0-199f2c797719', 'options:remote_ip']
> 2014-05-20 11:31:22    DEBUG [root] Tunnel interface 
> validated:['/usr/bin/ovs-vsctl', 'get', 'interface', 
> '01be01e9-c4b1-4b90-9ac0-199f2c797719', 'options:remote_ip']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', '01be01e9-c4b1-4b90-9ac0-199f2c797719', 'ofport']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-list', 'bridge=xapi4', '--minimal']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-tun-network', '--minimal']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-vpc-distributed-vr-network', 
> '--minimal']
> 2014-05-20 11:31:22    DEBUG [root] The command exited with the error code: 1 
> (stderr output:Error: Key is-ovs-vpc-distributed-vr-network not found in map
> )
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1000,in_port=4,dl_dst=ff:ff:ff:ff:ff:ff,actions=drop']
> 2014-05-20 11:31:22    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1000,in_port=4,ip,nw_dst=224.0.0.0/24,actions=drop']
> 2014-05-20 11:31:22    DEBUG [root] Broadcast drop rules added
> 2014-05-20 11:31:22    DEBUG [root] Successfully created tunnel from host 2 
> to host 1 with GRE key 986
> 2014-05-20 11:31:22    DEBUG [root] #### VMOPS exit  create_tunnel ####
> 2014-05-20 11:31:29    DEBUG [root] Executing:['cat', 
> '/etc/xensource/network.conf']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'iface-to-br', 'vif19.0']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-list', 'bridge=xapi4', '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-tun-network', '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-vpc-distributed-vr-network', 
> '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] The command exited with the error code: 1 
> (stderr output:Error: Key is-ovs-vpc-distributed-vr-network not found in map
> )
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'br-to-vlan', 'xapi4']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'list-ports', 'xapi4']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 't986-2-1', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 'vif11.0', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 'vif12.0', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 'vif19.0', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'del-flows', 'xapi4', ',in_port=3']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1100,dl_dst=ff:ff:ff:ff:ff:ff,actions=output:1,output:2']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1100,ip,nw_dst=224.0.0.0/24,actions=output:1,output:2']
> ovstunnel log from the host where vm has been migrated to:
> 2014-05-20 11:31:21    DEBUG [root] #### VMOPS enter  setup_ovs_bridge ####
> 2014-05-20 11:31:21    DEBUG [root] About to manually create the bridge:xapi4
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', '--', 
> '--may-exist', 'add-br', 'xapi4', '--', 'set', 'bridge', 'xapi4', 
> 'other_config:gre_key=OVSTunnel986']
> 2014-05-20 11:31:21    DEBUG [root] Bridge has been manually created:
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'set', 
> 'Bridge', 'xapi4', 
> 'external_ids:xs-network-uuid=98636962-280c-bb8f-1e57-d79bcc295c1f']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'set', 
> 'Bridge', 'xapi4', 'stp_enable=true']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'bridge', 'xapi4', 'other_config:gre_key']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-set', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'other-config:is-ovs-tun-network=True']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-list', 'bridge=xapi4', '--minimal']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=ovs-host-setup']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-set', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'other-config:ovs-host-setup=1,2']
> 2014-05-20 11:31:21    DEBUG [root] Setup_ovs_bridge completed with 
> result:SUCCESS:xapi4
> 2014-05-20 11:31:21    DEBUG [root] #### VMOPS exit  setup_ovs_bridge ####
> 2014-05-20 11:31:21    DEBUG [root] #### VMOPS enter  create_tunnel ####
> 2014-05-20 11:31:21    DEBUG [root] Creating tunnel from host 1 to host 2 
> with GRE key 986
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> '--timeout=30', 'wait-until', 'bridge', 'xapi4', '--', 'get', 'bridge', 
> 'xapi4', 'name']
> 2014-05-20 11:31:21    DEBUG [root] bridge xapi4 for creating tunnel - 
> VERIFIED
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'add-port', 'xapi4', 't986-1-2', '--', 'set', 'interface', 't986-1-2', 
> 'type=gre', 'options:key=986', 'options:remote_ip=10.147.40.14']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'port', 't986-1-2', 'interfaces']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', 'e5d8a954-a482-42c2-88a6-7294ad62c7f8', 'options:key']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', 'e5d8a954-a482-42c2-88a6-7294ad62c7f8', 'options:remote_ip']
> 2014-05-20 11:31:21    DEBUG [root] Tunnel interface 
> validated:['/usr/bin/ovs-vsctl', 'get', 'interface', 
> 'e5d8a954-a482-42c2-88a6-7294ad62c7f8', 'options:remote_ip']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'interface', 'e5d8a954-a482-42c2-88a6-7294ad62c7f8', 'ofport']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-list', 'bridge=xapi4', '--minimal']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-tun-network', '--minimal']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-vpc-distributed-vr-network', 
> '--minimal']
> 2014-05-20 11:31:21    DEBUG [root] The command exited with the error code: 1 
> (stderr output:Error: Key is-ovs-vpc-distributed-vr-network not found in map
> )
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1000,in_port=1,dl_dst=ff:ff:ff:ff:ff:ff,actions=drop']
> 2014-05-20 11:31:21    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1000,in_port=1,ip,nw_dst=224.0.0.0/24,actions=drop']
> 2014-05-20 11:31:21    DEBUG [root] Broadcast drop rules added
> 2014-05-20 11:31:21    DEBUG [root] Successfully created tunnel from host 1 
> to host 2 with GRE key 986
> 2014-05-20 11:31:21    DEBUG [root] #### VMOPS exit  create_tunnel ####
> 2014-05-20 11:31:29    DEBUG [root] Executing:['cat', 
> '/etc/xensource/network.conf']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'iface-to-br', 'vif17.0']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-list', 'bridge=xapi4', '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-tun-network', '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/opt/xensource/bin/xe', 
> 'network-param-get', 'uuid=98636962-280c-bb8f-1e57-d79bcc295c1f', 
> 'param-name=other-config', 'param-key=is-ovs-vpc-distributed-vr-network', 
> '--minimal']
> 2014-05-20 11:31:29    DEBUG [root] The command exited with the error code: 1 
> (stderr output:Error: Key is-ovs-vpc-distributed-vr-network not found in map
> )
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'br-to-vlan', 'xapi4']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 
> 'list-ports', 'xapi4']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 't986-1-2', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-vsctl', 'get', 
> 'Interface', 'vif17.0', 'ofport']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1200,in_port=2,dl_dst=ff:ff:ff:ff:ff:ff,actions=NORMAL']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1200,in_port=2,ip,nw_dst=224.0.0.0/24,actions=NORMAL']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1100,dl_dst=ff:ff:ff:ff:ff:ff,actions=output:2']
> 2014-05-20 11:31:29    DEBUG [root] Executing:['/usr/bin/ovs-ofctl', 
> 'add-flow', 'xapi4', 
> 'hard_timeout=0,idle_timeout=0,priority=1100,ip,nw_dst=224.0.0.0/24,actions=output:2']
> ~



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to