Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix ovs connectivity issues after unclean reboot #27

Merged
merged 3 commits into from
Jun 21, 2017

Conversation

vuntz
Copy link

@vuntz vuntz commented May 9, 2017

Backport crowbar#1041 and crowbar#1161

Fix #24

rhafer added 3 commits May 9, 2017 16:20
Open vSwitch by default sets the datapath-id based on the MAC address of
the bridges. If the underlying interfaces share the same MAC address
(i.e.  when using eth0 for br-fixed and eth0.300 for br-public) we will
endup with duplicate datapath-ids, which break neutron-openvswitch-agent.

https://bugzilla.suse.com/show_bug.cgi?id=1022074
(cherry picked from commit eface11)
During a clean shutdown wicked will delete any ovs bridges that it feels
responsible for. This means that any customer settings on tha brigde
will get lost and need to be restored. As we set a custom datapath_id
for our bridge to prevent bsc#1022074. We need to restore that setting
when the bridge is recreated during startup. Normally chef-client would
do that as part of crowbar_join, but we also need it to happen when the
admin server is down for some reason.

OTOH, when the node is shutdown uncleanly (e.g. during a fencing
operation) the ovs bridge will not get deleted, which for the bridges
that are touch by the neutron-openvswitch-agent means they will stay in
"secure" mode (without any flows defined) even after reboot. This means
that the node will be disconnected until neutron-openvswitch-agent is
started. To prevent this we now reset the bridge's fail-mode before the
interface is coming up.

(cherry picked from commit 8229c1e)
f.each do |line|
# There should only be one line of output, the double quoted
# datapath-id
res = line.strip.tr('"', '')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style/StringLiterals: Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping. (https://github.com/SUSE/style-guides/blob/master/Ruby.md#stylestringliterals)

@vuntz vuntz changed the title Backport https://github.com/crowbar/crowbar-core/pull/1161 Fix ovs connectivity issues after unclean reboot May 9, 2017
@vuntz vuntz requested a review from matelakat June 1, 2017 07:52
@matelakat
Copy link

testing on mkcloud environment

Copy link

@matelakat matelakat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this change has been tested manually after reproducing the issue. A hard reset-ed network node was unable to join back. With the fix this has been resolved.

Please note that on the test system no bonded interfaces were used.

Please see the notes here: #24 (comment)

@matelakat
Copy link

Build re-triggered: https://ci.suse.de/job/openstack-mkcloud/67487/console

@matelakat matelakat mentioned this pull request Jun 15, 2017
Copy link

@tpatzig tpatzig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still needs testing on bare metal

@matelakat matelakat merged commit dbfb229 into sap-oc:stable/sap/3.0 Jun 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants