ovs-ctl has following options: --ovsdb-server-wrapper --ovs-vswitchd-wrapper These options allows user to start particular process under valgrind or strace. ovn-ctl has similar options for ovn specific processes: --ovn-northd-wrapper --ovn-controller-wrapper --ovn-ic-wrapper However, ovn-ctl starts other processes like a bunch of 'ovsdb-server's for NB and SB databases. And it starts these processes by itself without invoking ovs-ctl. So, user is not able to use something like --ovsdb-server-wrapper to start databases under valgrind. ovn-ctl should support --ovsdb-server-wrapper option or have two new options: --ovsdb-server-nb-wrapper --ovsdb-server-sb-wrapper
start ovn with: [root@wsfd-advnetlab18 ovn]# /usr/share/ovn/scripts/ovn-ctl --db-nb-addr=127.0.0.1 --db-nb-port=6641 --db-sb-addr=127.0.0.1 --db-sb-port=6642 --ovsdb-nb-wrapper=valgrind --ovsdb-sb-wrapper=valgrind start_northd [root@wsfd-advnetlab18 ovn]# ps aux | grep ovn root 60520 0.0 0.0 146980 52256 ? Ss 01:44 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-nb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db root 60521 0.6 0.0 156524 65560 ? S 01:44 0:01 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-nb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db root 60537 0.0 0.0 146980 52260 ? Ss 01:44 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-sb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-sb.log --remote=punix:/var/run/ovn/ovnsb_db.sock --pidfile=/var/run/ovn/ovnsb_db.pid --unixctl=/var/run/ovn/ovnsb_db.ctl --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/ovn/ovnsb_db.db root 60538 0.6 0.0 156684 70604 ? S 01:44 0:01 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-sb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-sb.log --remote=punix:/var/run/ovn/ovnsb_db.sock --pidfile=/var/run/ovn/ovnsb_db.pid --unixctl=/var/run/ovn/ovnsb_db.ctl --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/ovn/ovnsb_db.db root 60546 0.0 0.0 42112 996 ? S<s 01:44 0:00 ovn-northd: monitoring pid 60547 (healthy) root 60547 0.0 0.0 42772 4024 ? S< 01:44 0:00 ovn-northd -vconsole:emer -vsyslog:err -vfile:info --ovnnb-db=unix:/var/run/ovn/ovnnb_db.sock --ovnsb-db=unix:/var/run/ovn/ovnsb_db.sock --no-chdir --log-file=/var/log/ovn/ovn-northd.log --pidfile=/var/run/ovn/ovn-northd.pid --detach --monitor root 60639 0.0 0.0 12112 1056 pts/0 R+ 01:47 0:00 grep --color=auto ovn
also verified on rhel7 version: [root@wsfd-advnetlab16 bz1845109]# rpm -qa | grep -E "openvswitch|ovn" kernel-kernel-networking-openvswitch-ovn-common-1.0-9.noarch ovn2.13-20.09.0-1.el7fdp.x86_64 kernel-kernel-networking-openvswitch-ovn-basic-1.0-30.noarch openvswitch-selinux-extra-policy-1.0-15.el7fdp.noarch openvswitch2.13-2.13.0-51.el7fdp.x86_64 ovn2.13-central-20.09.0-1.el7fdp.x86_64 ovn2.13-host-20.09.0-1.el7fdp.x86_64 [root@wsfd-advnetlab16 bz1845109]# ps aux | grep ovn root 114210 0.5 0.0 144836 46308 ? Ss 01:49 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-nb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db root 114211 8.5 0.0 149556 53676 ? S 01:49 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-nb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-nb.log --remote=punix:/var/run/ovn/ovnnb_db.sock --pidfile=/var/run/ovn/ovnnb_db.pid --unixctl=/var/run/ovn/ovnnb_db.ctl --detach --monitor --remote=db:OVN_Northbound,NB_Global,connections --private-key=db:OVN_Northbound,SSL,private_key --certificate=db:OVN_Northbound,SSL,certificate --ca-cert=db:OVN_Northbound,SSL,ca_cert --ssl-protocols=db:OVN_Northbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Northbound,SSL,ssl_ciphers /etc/ovn/ovnnb_db.db root 114227 0.6 0.0 144836 46304 ? Ss 01:49 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-sb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-sb.log --remote=punix:/var/run/ovn/ovnsb_db.sock --pidfile=/var/run/ovn/ovnsb_db.pid --unixctl=/var/run/ovn/ovnsb_db.ctl --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/ovn/ovnsb_db.db root 114228 10.2 0.0 149572 53700 ? S 01:49 0:00 valgrind -q --leak-check=full --time-stamp=yes --log-file=/var/log/ovn/ovsdb-sb.valgrind.log.%p ovsdb-server -vconsole:off -vfile:info --log-file=/var/log/ovn/ovsdb-server-sb.log --remote=punix:/var/run/ovn/ovnsb_db.sock --pidfile=/var/run/ovn/ovnsb_db.pid --unixctl=/var/run/ovn/ovnsb_db.ctl --detach --monitor --remote=db:OVN_Southbound,SB_Global,connections --private-key=db:OVN_Southbound,SSL,private_key --certificate=db:OVN_Southbound,SSL,certificate --ca-cert=db:OVN_Southbound,SSL,ca_cert --ssl-protocols=db:OVN_Southbound,SSL,ssl_protocols --ssl-ciphers=db:OVN_Southbound,SSL,ssl_ciphers /etc/ovn/ovnsb_db.db root 114236 0.0 0.0 59792 1180 ? S<s 01:49 0:00 ovn-northd: monitoring pid 114237 (healthy) root 114237 0.0 0.0 60188 2384 ? S< 01:49 0:00 ovn-northd -vconsole:emer -vsyslog:err -vfile:info --ovnnb-db=unix:/var/run/ovn/ovnnb_db.sock --ovnsb-db=unix:/var/run/ovn/ovnsb_db.sock --no-chdir --log-file=/var/log/ovn/ovn-northd.log --pidfile=/var/run/ovn/ovn-northd.pid --detach --monitor root 114239 0.0 0.0 112812 968 pts/0 R+ 01:49 0:00 grep --color=auto ovn
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (ovn2.13 bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2020:4356