Bug 1307025
Summary: | Open vSwitch service resilience test | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Flavio Leitner <fleitner> |
Component: | openvswitch | Assignee: | Eelco Chaudron <echaudro> |
Status: | CLOSED UPSTREAM | QA Contact: | ovs-qe |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 7.3 | CC: | aconole, atragler, echaudro, fbaudin, fleitner, nchandek |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-02-28 08:33:59 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1335865 | ||
Bug Blocks: |
Description
Flavio Leitner
2016-02-12 13:29:49 UTC
For physical ports this has been fixed in upstream development branches, probably part in dpdk and part in ovs. Haven't dug out the exact commits (yet), and stable branch situation needs testing too. What does not work in upstream OVS is restarting vhostuser ports, they fail with VHOST_CONFIG: socket created, fd:50 VHOST_CONFIG: fail to bind fd:50: remove file:/var/run/openvswitch/<path> and try again. The vhostuser sockets are registered for cleanup on fatal signals, but the problem is lib/fatal-signal.c only considers the { SIGTERM, SIGINT, SIGHUP, SIGALRM } as fatals. So the file cleanup never occurs on actual crashes, and that's why the vhostuser ports fail on restart. Send patch upstream to restart ovsdb or vswitchd on failure. https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/328546.html The changes have been accepted; https://github.com/openvswitch/ovs/commi/c19bf36d848cbdf755c6760fad1726c95e4377f1 https://github.com/openvswitch/ovs/commi/090cc60c08a513047cf0fcc8c7c63ffb42e8fef9 They will be available in next 2.7 release, probably 2.7.1. Modify the file as per the comment #10 , hit with below error. [root@compute-1 log]# systemctl daemon-reload [root@compute-1 log]# systemctl restart openvswitch Failed to restart openvswitch.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status openvswitch.service' for details. [root@compute-1 log]# systemctl restart openvswitch Failed to restart openvswitch.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status openvswitch.service' for details. [root@compute-1 log]# systemctl status openvswitch.service -l ● openvswitch.service - Open vSwitch Loaded: error (Reason: Invalid argument) Active: active (exited) since Mon 2017-03-20 21:35:12 +03; 3min 22s ago Main PID: 986151 (code=exited, status=0/SUCCESS) CGroup: /system.slice/openvswitch.service Mar 20 21:35:12 compute-1.localdomain systemd[1]: Starting Open vSwitch... Mar 20 21:35:12 compute-1.localdomain systemd[1]: Started Open vSwitch. Mar 20 21:35:16 compute-1.localdomain systemd[1]: openvswitch.service has Restart= setting other than no, which isn't allowed for Type=oneshot services. Refusing. Mar 20 21:37:57 compute-1.localdomain systemd[1]: openvswitch.service has Restart= setting other than no, which isn't allowed for Type=oneshot services. Refusing. [root@compute-1 log]# I modified below file :- vi /etc/systemd/system/multi-user.target.wants/openvswitch.service ~~~ [Unit] Description=Open vSwitch After=syslog.target network.target openvswitch-nonetwork.service Requires=openvswitch-nonetwork.service Requires=ovsdb-server.service <<<<< Added Requires=ovs-vswitchd.service <<<<< Added [Service] Type=oneshot ExecStart=/bin/true ExecStop=/bin/true RemainAfterExit=yes Restart=on-failure <<<<< Added [Install] WantedBy=multi-user.target ~~~ ovs_version: "2.5.0" rpm -qa |grep systemd systemd-219-30.el7_3.6.x86_64 systemd-libs-219-30.el7_3.6.x86_64 systemd-sysv-219-30.el7_3.6.x86_64 RHOSP-10 [root@compute-1 log]# systemctl daemon-reload [root@compute-1 log]# systemctl restart openvswitch Failed to restart openvswitch.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status openvswitch.service' for details. [root@compute-1 log]# systemctl restart openvswitch Failed to restart openvswitch.service: Unit is not loaded properly: Invalid argument. See system logs and 'systemctl status openvswitch.service' for details. [root@compute-1 log]# systemctl status openvswitch.service -l ● openvswitch.service - Open vSwitch Loaded: error (Reason: Invalid argument) Active: active (exited) since Mon 2017-03-20 21:35:12 +03; 3min 22s ago Main PID: 986151 (code=exited, status=0/SUCCESS) CGroup: /system.slice/openvswitch.service Mar 20 21:35:12 compute-1.localdomain systemd[1]: Starting Open vSwitch... Mar 20 21:35:12 compute-1.localdomain systemd[1]: Started Open vSwitch. Mar 20 21:35:16 compute-1.localdomain systemd[1]: openvswitch.service has Restart= setting other than no, which isn't allowed for Type=oneshot services. Refusing. Mar 20 21:37:57 compute-1.localdomain systemd[1]: openvswitch.service has Restart= setting other than no, which isn't allowed for Type=oneshot services. Refusing. [root@compute-1 log]# Hi Nilesh, You do not need to add Restart=on-failure to the openvswitch.service file, but only to the ovs-vswitchd.service, ovsdb-server.service files. See upstream patch: https://mail.openvswitch.org/pipermail/ovs-dev/2017-February/328546.html |