[DPDK] OVS-agent doesn't start after stop and start compute

Bug #1671804 reported by Kristina Berezovskaia
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Fix Committed
High
Ivan Udovichenko

Bug Description

After stop and start compute with DPDK ovs agent on this node doesn't start

Steps:
1) Deploy bare-metal env with DPDK
2) Stop compute
3) Start compute

Expected result: computer starts with all services
Current result: ovs-agent doesn't start

Workaround:
restart ovs-agent manually

Iso: ISO_ID=1411
VLAN, 3 controllers + 2 compute-cinder with DPDK

Diagnostic snap:
https://drive.google.com/open?id=0B05EZCZN-hilMkhFZERRMVRjak0

Tags: area-linux
Changed in mos:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → MOS Linux (mos-linux)
tags: added: area-linux
Revision history for this message
Ivan Suzdal (isuzdal) wrote :

Ivan, could you take a look please?
Seems like neutron-openvswitch-agent's systemd unit hasn't openvswitch-switch dependency in the 'After' section.
Perhaps, script which generates unit from sysv init script doing it in the wrong way.

Changed in mos:
assignee: MOS Linux (mos-linux) → Ivan Udovichenko (iudovichenko)
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to openstack-build/neutron-build (9.0/mitaka)

Related fix proposed to branch: 9.0/mitaka
Change author: Ivan Udovichenko <email address hidden>
Review: https://review.fuel-infra.org/32263

Changed in mos:
status: Confirmed → In Progress
Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Change abandoned on openstack-build/neutron-build (9.0/mitaka)

Change abandoned by Ivan Udovichenko <email address hidden> on branch: 9.0/mitaka
Review: https://review.fuel-infra.org/32263
Reason: Wrong branch.

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix proposed to openstack-build/neutron-build (10.0/newton)

Related fix proposed to branch: 10.0/newton
Change author: Ivan Udovichenko <email address hidden>
Review: https://review.fuel-infra.org/32323

Revision history for this message
Fuel Devops McRobotson (fuel-devops-robot) wrote : Related fix merged to openstack-build/neutron-build (10.0/newton)

Reviewed: https://review.fuel-infra.org/32323
Submitter: Pkgs Jenkins <email address hidden>
Branch: 10.0/newton

Commit: d50928544bfb0082124355262013608f0107dce7
Author: Ivan Udovichenko <email address hidden>
Date: Fri Mar 17 10:49:26 2017

Update neutron package

* Add custom openvswitch-switch.service.in file.

Change-Id: I6d82300bf5f5bb415a093fc6dff5e6eb01c761ac
Related-Bug: #1671804

Revision history for this message
Ivan Udovichenko (iudovichenko) wrote :

By merging the above fix we assured that openvswitch-switch service is running before Neutron agent.
But during the test I've faced issues:
http://paste.openstack.org/raw/603134/

neutron.agent.ovsdb.impl_vsctl tries to call ovs-vsctl directly without using neutron-rootwrap

Something like http://paste.openstack.org/raw/603161/ helps but I guess there is a much better way to do that.

Changed in mos:
assignee: Ivan Udovichenko (iudovichenko) → MOS Neutron (mos-neutron)
Revision history for this message
Ivan Udovichenko (iudovichenko) wrote :

MOS Neutron team could you please take a look?

Revision history for this message
Oleg Bondarev (obondarev) wrote :

In the diff http://paste.openstack.org/raw/603161/ you can see the last line says: "run_as_root=True" which should eventually prefix the command with rootwrap helper or daemon.

Is root_helper_daemon configured on the node (in the neutron.conf or openvswitch_agent.ini)?
Can you please enable debug logs and attach full agent log?

Changed in mos:
status: In Progress → Incomplete
assignee: MOS Neutron (mos-neutron) → Ivan Udovichenko (iudovichenko)
Revision history for this message
Ivan Udovichenko (iudovichenko) wrote :

After conversation with Oleg the fix was found. These values should be set in the configuration file during deployment:
[agent]
root_helper_daemon = sudo /usr/bin/neutron-rootwrap-daemon /etc/neutron/rootwrap.conf
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
In [agent] section.
And then restart the service.

Changed in mos:
status: Incomplete → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.