Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
It looks like
/usr/sbin/conntrack
is actually part the same packageconntrack-tools
which includes a whole daemonconntrackd.service
that...I don't think we would use in OpenShift.One option is to change the
Dockerfile
here to doyum -y install conntrack-tools
and teach this script to exec back into the MCD container to run this.This all relates to the larger goal of having more of these scripts migrate to Go code that's part of the MCD instead of injected onto the host. We have
systemd-run
as a way for the pod to schedule code on the host, we could invent e.g./run/bin/machine-config-daemon exec conntrack -D -r "${vip"}
which would use a local socket to exec code in the MCD pod.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.
Another alternative is to
yum -y install conntrack-tools
in here, and then change the pod startup to copy the binary out to the host.Another alternative is to make it a hidden extension we only install where needed.
Or finally, we could just ship it in CoreOS but then it quickly becomes an "API" that we have to maintain ~forever and makes it hard to keep track of who's using it and what version they need etc.
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.
(Or yet another option is to have the MCD use the netlink API to do that directly, but I wouldn't willingly inflict programming netlink API on anyone I like 😉 )
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.
Or finally, we could say this whole problem domain should move to the apiserver operator/team and they have a daemonset that runs on the control plane 😄
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.
For now, a PR to add to the host: openshift/os#502
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'm a fan of 'do whatever is easiest' in this case. It appears that today, installing conntrack-tools is easiest. If this is seen as a negative, we should make a better option the 'easiest' option.