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

Bug 1886127: [4.5] sdn-ovs: fix liveness probe for downgrade case #837

Merged
merged 1 commit into from Oct 15, 2020
Merged

Bug 1886127: [4.5] sdn-ovs: fix liveness probe for downgrade case #837

merged 1 commit into from Oct 15, 2020

Conversation

squeed
Copy link
Contributor

@squeed squeed commented Oct 13, 2020

ovs-appctl doesn't like running in a different pid namespace, so the liveness probe fails when downgrading from 4.6 (which runs it in systemd).

@openshift-ci-robot openshift-ci-robot added the bugzilla/severity-urgent Referenced Bugzilla bug's severity is urgent for the branch this PR is targeting. label Oct 13, 2020
@openshift-ci-robot
Copy link
Contributor

@squeed: This pull request references Bugzilla bug 1886127, which is invalid:

  • expected dependent Bugzilla bug 1886148 to be in one of the following states: VERIFIED, RELEASE_PENDING, CLOSED (ERRATA), but it is NEW instead
  • expected dependent Bugzilla bug 1886148 to target a release in 4.6.0, 4.6.z, but it targets "4.5.z" instead

Comment /bugzilla refresh to re-evaluate validity if changes to the Bugzilla bug are made, or edit the title of this pull request to link to a different bug.

In response to this:

Bug 1886127: sdn-ovs: fix liveness probe for downgrade case

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@openshift-ci-robot openshift-ci-robot added the bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. label Oct 13, 2020
@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 13, 2020
@squeed
Copy link
Contributor Author

squeed commented Oct 13, 2020

@knobunc because the bug hierarchy doesn't match what the bot wants, this will probably need manual valid-bug tagging.

@squeed squeed changed the title Bug 1886127: sdn-ovs: fix liveness probe for downgrade case [4.5] Bug 1886127: sdn-ovs: fix liveness probe for downgrade case Oct 13, 2020
@squeed squeed changed the title [4.5] Bug 1886127: sdn-ovs: fix liveness probe for downgrade case Bug 1886127: [4.5] sdn-ovs: fix liveness probe for downgrade case Oct 13, 2020
if /usr/bin/ovs-vsctl -t 5 br-exists br0; then /usr/bin/ovs-ofctl -t 5 -O OpenFlow13 probe br0; else true; fi
PID=$(cat /var/run/openvswitch/ovs-vswitchd.pid)
/usr/bin/ovs-appctl -t "/var/run/openvswitch/ovs-vswitchd.${PID}.ctl" -T 5 ofproto/list > /dev/null &&
/usr/bin/ovs-vsctl -t 5 show > /dev/null
Copy link
Contributor

Choose a reason for hiding this comment

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

we don't care for the br0 to exist anymore? I thought that was needed for liveness to make sure new pods can come up and flows be configured for them?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

that doesn't affect openvswitch readiness though. It's not a useful check, really.

@knobunc knobunc added bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. and removed bugzilla/invalid-bug Indicates that a referenced Bugzilla bug is invalid for the branch this PR is targeting. labels Oct 13, 2020
@knobunc
Copy link
Contributor

knobunc commented Oct 13, 2020

/retest

# 2. that ovsdb is responding to queries
#
# Need the manual target file because ovs-appctl doesn't like
# being in a different namespace from ovs-vswitchd.
Copy link
Contributor

Choose a reason for hiding this comment

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

If OVS is running in systemd we shouldn't be liveness-probing it anyway... I'd just do

if [ -f /host/var/run/ovs-config-executed ]; then
  exit 0
fi

for both probes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Right, I thought about that, but I want to halt rollouts if OVS isn't running, regardless of who should be running it.

Copy link
Contributor

Choose a reason for hiding this comment

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

But ovs should always be running (systemd has the unit set to "Restart=Always") if its running under systemd. I think that is what @danwinship was referring to.

Copy link
Contributor Author

@squeed squeed Oct 14, 2020

Choose a reason for hiding this comment

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

And, as we've found, there are lots of cases where we got this wrong. The readiness probe protects us from taking down the cluster if we miss yet another corner case.

If the readiness probe is false-negative, then the downgrade is hung and we get a phone call. If the probe is false-positive, then we instantly rolled out a cluster-killer.

I really think we should keep the readiness probe.

Copy link
Contributor

Choose a reason for hiding this comment

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

We should certainly remove the liveness probe anyway

Copy link
Contributor

Choose a reason for hiding this comment

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

(if not the readiness probe)

ovs-appctl doesn't like running in a different pid namespace,
so the liveness probe fails when downgrading from 4.6 (which runs it in
systemd).
@squeed
Copy link
Contributor Author

squeed commented Oct 14, 2020

OK, updated.

@openshift-ci-robot
Copy link
Contributor

@squeed: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-ovn-hybrid-step-registry 1c63f3c link /test e2e-ovn-hybrid-step-registry
ci/prow/e2e-metal-ipi-ovn-ipv6 1c63f3c link /test e2e-metal-ipi-ovn-ipv6

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 15, 2020
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: knobunc, squeed

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/override ci/prow/e2e-metal-ipi-ovn-ipv6

@openshift-ci-robot
Copy link
Contributor

@knobunc: Overrode contexts on behalf of knobunc: ci/prow/e2e-metal-ipi-ovn-ipv6

In response to this:

/override ci/prow/e2e-metal-ipi-ovn-ipv6

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@knobunc knobunc added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Oct 15, 2020
@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/retest

@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/test e2e-aws-sdn-multi

@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/retest

1 similar comment
@knobunc
Copy link
Contributor

knobunc commented Oct 15, 2020

/retest

@openshift-merge-robot
Copy link
Contributor

openshift-merge-robot commented Oct 15, 2020

@squeed: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-ovn-hybrid-step-registry 1c63f3c link /test e2e-ovn-hybrid-step-registry

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot openshift-merge-robot merged commit d538bb7 into openshift:release-4.5 Oct 15, 2020
@openshift-ci-robot
Copy link
Contributor

@squeed: All pull requests linked via external trackers have merged:

Bugzilla bug 1886127 has been moved to the MODIFIED state.

In response to this:

Bug 1886127: [4.5] sdn-ovs: fix liveness probe for downgrade case

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/severity-urgent Referenced Bugzilla bug's severity is urgent for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants