-
Notifications
You must be signed in to change notification settings - Fork 286
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
Resolve "Felix dies if interface missing" on Alpine #902
Conversation
LGTM. Worth checking our other supported platforms to make sure they produce one of those two outputs? |
@caseydavenport We only support Ubuntu and RHEL/CentOS on the OpenStack side, and everything with containers runs inside the calico/node Alpine-based image. RHEL/CentOS have the same message as Ubuntu:
so this is probably fine to merge, but I’d like to find out why the FV run failed first. |
Please add a UT for the new case and a comment explaining which message belongs to which. |
Alpine and Ubuntu have slightly different error messages when you
run 'ip link show <non-existent interface>'; respectively
ip: can't find device 'thisdoesnotexist'
Device "thisdoesnotexist" does not exist.
We run Felix inside an Alpine container for calico/node, but the
different wording meant Felix didn't recognise the missing
interface as a known error, so raised an exception. Now we catch
both wordings and handle them correctly.
Fixes #899.
c186d50
to
fdfc50d
Compare
@fasaxc UT and comment added. |
for stderr in error_messages: | ||
err = futils.FailedSystemCall("From test", args, retcode, stdout, stderr) | ||
|
||
with mock.patch('calico.felix.futils.check_call', side_effect=err): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I prefer getting the mock by doing as m_check_call
; it's a bit more explicit
FV failure looks like the intermittent error log issue, which is unrelated. Happy for @alexwlchan to merge when ready. |
Resolve "Felix dies if interface missing" on Alpine
Hey folks - any idea when this fix will make its way into a release? Waiting on it to fix projectcalico/k8s-exec-plugin#92 |
Any news please ? |
Alpine and Ubuntu have slightly different error messages when you run
ip link show <non-existent interface>
; respectivelyWe run Felix inside an Alpine container for calico/node, but the different wording meant Felix didn't recognise the missing interface as a known error, so raised an exception. Now we catch both wordings and handle them correctly.
Fixes #899.