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

[FCOS] openstack: workers don't join the cluster due to python scripts #1430

Closed
vrutkovs opened this issue Feb 3, 2020 · 7 comments
Closed
Assignees

Comments

@vrutkovs
Copy link
Member

vrutkovs commented Feb 3, 2020

Openstack / oVirt are using a python script to find IPs: https://github.com/openshift/machine-config-operator/blob/fcos/templates/worker/00-worker/openstack/files/openstack-non-virtual-ip.yaml#L6

FCOS doesn't provide python (and most likely never will), so it needs to be rewritten

@LorbusChris
Copy link
Member

cc @iamemilio

@cgwalters
Copy link
Member

Probably best to track this as an MCO bug?

I think the fix is similar to okd-project/okd#38 - move the scripts into Go code executed in the machine-config-daemon binary.

@LorbusChris LorbusChris transferred this issue from okd-project/okd Feb 3, 2020
@vrutkovs vrutkovs changed the title openstack: workers don't join the cluster due to python scripts [FCOS] openstack: workers don't join the cluster due to python scripts Feb 3, 2020
@celebdor
Copy link
Contributor

celebdor commented Feb 3, 2020

/assign celebdor

@cgwalters
Copy link
Member

Today, we also ship /usr/libexec/machine-config-daemon in the host by default which comes from this repo. So, a useful pattern could be to add arbitrary subcommands to that binary.

Note though when submitting PRs to this repo, the binary in CI will not be updated - that currently only happens after code lands in master and goes through the main RHCOS build process.

@cgwalters
Copy link
Member

Today, we also ship /usr/libexec/machine-config-daemon in the host by default which comes from this repo. So, a useful pattern could be to add arbitrary subcommands to that binary.

And to elaborate this is used today by e.g. this unit.

Note though when submitting PRs to this repo, the binary in CI will not be updated - that currently only happens after code lands in master and goes through the main RHCOS build process.

Hence today unfortunately one would have to "ratchet" a change here by landing the Go code in master, wait for it to propagate into an updated machine-os-content, then delete the other code and switch the calling code to use the new code.

@vrutkovs
Copy link
Member Author

vrutkovs commented Feb 3, 2020

The PR can be tested on fcos branch - since FCOS doesn't ship MCD (and RHCOS shouldn't too really) it fetches the binary from the release payload and pivots early - thus MCD is always consistent across all nodes

@LorbusChris
Copy link
Member

New approach:
Add a baremetal-runtimecfg-ubi8 image and use that to run the python scripts in a containerized way, exclusively in OKD.

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 a pull request may close this issue.

4 participants