Thanks Han:

Sorry for the typo. I thought devs would catch that. So to summarize, I was
concerned about two issues:

1. killing the compute/HV gracefully should have deleted the chassis from
southbound db along with the bindings which did not happen
2. It is ok to leave the ports acting as orphan in northbound db if chassis
are deleted from southbound since we take it as expected.

So 2 is clear as we consider that as expected. However, for 1 do we need to
get a fix/code changes or am I missing something here because as per source
code it should have deleted?


Please advise for the inputs further.



On Tue, Jan 30, 2018 at 2:45 PM, Han Zhou <zhou...@gmail.com> wrote:

> Hi Ali,
>
> Thanks for the details. Please see my comments inlined.
>
> On Mon, Jan 29, 2018 at 7:12 PM, Ali Gin <amgin...@gmail.com> wrote:
> >
> > Hi team/Ben:
> >
> > Want to get inputs about compute de-comm use case. So when deleting the
> chassis from southd after gracefully killing the compute, doesn't delete
> the ports binded to the northd lswitch.
> >
> I think you had a typo here: s/southd/south-bound DB, s/northd/north-bound
> DB.
>
> >
> > Below is the detail of a sandbox from recent scale test env.
> > root@fake-host:~/sandbox-192.168.83.8# ls
> > br0.mgmt      db.sock                   ovn-uuid
>  ovs-vswitchd.13976.ctl
> > br0.snoop     ovn-controller.14063.ctl  ovsdb-server.13959.ctl
>  ovs-vswitchd.log
> > br-int.mgmt   ovn-controller.log        ovsdb-server.log
>  ovs-vswitchd.pid
> > br-int.snoop  ovn-controller.pid        ovsdb-server.pid
>  ovs-vswitchd.sh
> > conf.db       ovn-controller.sh         ovsdb-server.sh
> sandbox.rc
> > root@fake-host:~/sandbox-192.168.83.8# ps aux | grep 14063
> > root     14063  1.9  0.0 114904 88456 ?        Ss   00:23  21:53
> ovn-controller --detach --no-chdir --pidfile -vconsole:off -vsyslog:off
> -vfile:info --log-file
> > root     44441  0.0  0.0  14224   972 pts/0    S+   19:30   0:00 grep
> --color=auto 14063
> > root@fake-host:~/sandbox-192.168.83.8# kill 14063
> >
> > root@fake-host~/sandbox-192.168.83.8# ps aux | grep 13976
> > root     13976  1.2  0.8 2480864 2325768 ?     Ssl  00:23  13:49
> ovs-vswitchd --detach --no-chdir --pidfile -vconsole:off -vsyslog:off
> -vfile:info --log-file --enable-dummy=override
> > root     44688  0.0  0.0  14224  1008 pts/0    S+   19:30   0:00 grep
> --color=auto 13976
> >
> > root@fake-host:~/sandbox-192.168.83.8# kill 13959
> > root@fake-host:~/sandbox-192.168.83.8# ovs-vsctl show
> > ovs-vsctl: unix:/root/sandbox-192.168.83.8/db.sock: database connection
> failed (No such file or directory)
> >
> > southdb details:
> > Chassis "7aa3f562-4b8c-4b63-b22a-d7da7fcdedcb"
> >     hostname: "fake234"
> >     Encap geneve
> >         ip: "192.168.83.8/16"
> >         options: {csum="true"}
> >     Port_Binding "lport_5ead7e_UCUe2A"
> >     Port_Binding "lport_5ead7e_LaD1jw"
> >     Port_Binding "lport_5ead7e_XcVUdA"
> >     Port_Binding "lport_5ead7e_wPkica"
> >     Port_Binding "lport_5ead7e_Ms539W"
> >     Port_Binding "lport_5ead7e_UGdRuk"
> >     Port_Binding "lport_5ead7e_8jHLXB"
> >     Port_Binding "lport_5ead7e_IKRwFf"
> >     Port_Binding "lport_5ead7e_U2eXES"
> >     Port_Binding "lport_5ead7e_UIVysQ"
> >
> > ovn-sbctl chassis-del 7aa3f562-4b8c-4b63-b22a-d7da7fcdedcb
> >
> > ovn-nbctl show 5cf94839-d4b6-424c-9081-20739e48eb53
> >     port lport_5ead7e_UCUe2A
> >         addresses: ["5e:7f:47:62:6b:d0 172.145.74.24"]
> >
> > ovn-sbctl lflow-list | grep 5e:7f:47:62:6b:d0
> >   table=0 (ls_in_port_sec_l2  ), priority=50   , match=(inport ==
> "lport_5ead7e_UCUe2A" && eth.src == {5e:7f:47:62:6b:d0}), action=(next;)
> >   table=2 (ls_in_port_sec_nd  ), priority=90   , match=(inport ==
> "lport_5ead7e_UCUe2A" && eth.src == 5e:7f:47:62:6b:d0 && arp.sha ==
> 5e:7f:47:62:6b:d0), action=(next;)
> >   table=2 (ls_in_port_sec_nd  ), priority=90   , match=(inport ==
> "lport_5ead7e_UCUe2A" && eth.src == 5e:7f:47:62:6b:d0 && ip6 && nd &&
> ((nd.sll == 00:00:00:00:00:00 || nd.sll == 5e:7f:47:62:6b:d0) || ((nd.tll
> == 00:00:00:00:00:00 || nd.tll == 5e:7f:47:62:6b:d0)))), action=(next;)
> >   table=15(ls_in_l2_lkup      ), priority=50   , match=(eth.dst ==
> 5e:7f:47:62:6b:d0), action=(outport = "lport_5ead7e_UCUe2A"; output;)
> >   table=8 (ls_out_port_sec_l2 ), priority=50   , match=(outport ==
> "lport_5ead7e_UCUe2A" && eth.dst == {5e:7f:47:62:6b:d0}), action=(output;)
> >
> > So is it kept on purpose or should we make code changes to take care of
> deleting the same from northd too since the lports are left orphan.
> >
>
> After deleting chassis from SB, lports are expected to be kept in NB and
> logical flows are expected to be kept in SB, since port-binding and logical
> port operations are independent.
>
> However, I would expect we don't have to manually delete the chassis from
> SB if it is gracefully shutdown. Maybe it was not graceful for some reason.
>
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to