Bug 1417243

Summary: some ovs systemd services remain inactive when an individual service has been stopped and then started
Product: Red Hat Enterprise Linux 7 Reporter: Rick Alongi <ralongi>
Component: openvswitchAssignee: Eelco Chaudron <echaudro>
Status: CLOSED NOTABUG QA Contact: ovs-qe
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.3CC: aconole, atragler, echaudro
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
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-07 10:48:17 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:

Description Rick Alongi 2017-01-27 16:31:40 UTC
Description of problem:

Stopping/starting ovs-vswitchd.service and ovsdb-server.service yields unexpected results.

stopping/starting ovs-vswitchd.service:
openvswitch.service remains inactive

stopping/starting ovsdb-server.service:
openvswitch.service remains inactive
ovs-vswitchd.service remains inactive


Version-Release number of selected component (if applicable):
Kernel: 3.10.0-514.el7.x86_64
openvswitch: openvswitch-2.6.1-3.git20161206.el7fdb.x86_64 and openvswitch-2.5.0-22.git20160727.el7fdp.bz1403958.fbl.2.x86_64


How reproducible:
100%


Steps to Reproduce:

systemctl restart openvswitch.service
systemctl stop ovs-vswitchd.service && sleep 3
systemctl start ovs-vswitchd.service && sleep 3
systemctl is-active ovs-vswitchd.service --> active
systemctl is-active ovsdb-server.service --> active
systemctl is-active openvswitch.service --> reports as INACTIVE

systemctl restart openvswitch.service
systemctl stop ovsdb-server.service && sleep 3
systemctl start ovs-vswitchd.service && sleep 3
ystemctl is-active ovsdb-server.service --> active
systemctl is-active o-vswitchd.service --> reports as INACTIVE
systemctl is-active openvswitch.service --> reports as INACTIVE

NOTE: This problem DOES NOT OCCUR when "systemctl restart" is used; only when using "systemctl stop" then "systemctl start" with the ovsvswitchd and ovsdb-server services.


Actual results:
The status of the OVS related systemd services is inconsistent between each service when some services have been stopped/started.

Expected results:
All OVS related systemd services should report as "active" when any individual service has been stopped and then started.


Additional info:

Comment 1 Aaron Conole 2017-01-27 16:59:09 UTC
some of this is intended (as the ovsdb service needs be started/stopped independently in case bad values are pushed into the database that causes the whole thing to tear down).

Regardless, I agree we should go through and make sure all the states are consistent.

Comment 4 Eelco Chaudron 2017-02-07 10:48:17 UTC
Looking at your tests and the dependencies this is working per design. You should start/stop openvswitch using the openvswitch service, not stopping and starting the sub-services.

Let me explain;

openvswitch has a dependency on both ovs-vswtichd or ovsdb-server. So if one of those gets stopped openvswitch also gets stopped (including dependant services). So this is why if any of the two gets stopped all 3 services are stopped.

Now if you try to control individual services they will not trigger openvswitch to be up, but only themselves. ovs-vswitchd also depends on ovsdb-server and that's why this one is also brought up in the ovs-vswitchd case.

Hope this clears thinks up. If not please, let me know.