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

baremetal: Add coredns, mdns-publisher, haproxy, keepalived static pods #795

Merged
merged 2 commits into from
Jul 26, 2019

Conversation

bcrochet
Copy link
Member

@bcrochet bcrochet commented May 28, 2019

Adds pods to master and worker nodes as appropriate for baremetal deployment.

Requires: #943

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label May 28, 2019
Copy link
Member

@cgwalters cgwalters left a comment

Choose a reason for hiding this comment

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

First, this duplicates/overlaps #740 right?

The .gitkeep files shouldn't be necessary anymore.

@bcrochet
Copy link
Member Author

First, this duplicates/overlaps #740 right?

The .gitkeep files shouldn't be necessary anymore.

There is some little overlap, but does not directly duplicate. If you have a suggestion for de-duping between just two platforms, that would be helpful.

I'll remove the .gitkeep files.

@bcrochet bcrochet force-pushed the baremetal-mdns branch 3 times, most recently from e1fc4a0 to d1947b8 Compare May 30, 2019 11:57
@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 13, 2019
@openshift-ci-robot openshift-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 17, 2019
@bcrochet bcrochet force-pushed the baremetal-mdns branch 2 times, most recently from 79a77c0 to 71395f2 Compare June 17, 2019 22:05
@cgwalters
Copy link
Member

Sorry about the delay on this...there's a lot going on and we may need periodic pings if PRs are important/ready.

I feel like this would probably be best as a separate git repository, with the contents built into one or more container images. The relevant code in the MCO would boil down to injecting the static pod entries, much like is done for etcd.

Among other things, that would avoid the awkward shell-script-in-yaml-in-yaml and more generally allow your team to easily iterate on the content without blocking on us here.

@bcrochet
Copy link
Member Author

Sorry about the delay on this...there's a lot going on and we may need periodic pings if PRs are important/ready.

I feel like this would probably be best as a separate git repository, with the contents built into one or more container images. The relevant code in the MCO would boil down to injecting the static pod entries, much like is done for etcd.

Among other things, that would avoid the awkward shell-script-in-yaml-in-yaml and more generally allow your team to easily iterate on the content without blocking on us here.

We are working on the amount of shell-scripty things. Is there an existing component with such a repo that I can look at?

@cgwalters
Copy link
Member

Since the runway is relatively short here for 4.2, we discussed landing this roughly as is and iterating from there.

One argument to having this be a separate operator/controller was that the MCO's role here should be more around "infrastructure" rather than platform-specific code, but on the other hand in practice actually the MCO codebase has a lot of convenient parts for this (templating MachineConfig files based on data from the cluster config), plus its already extant support for platform conditionals for MachineConfig, etc.

Another aspect is that these templates also need to run at install time for the masters, and introducing a new operator/controller rendering MachineConfigs would require changes to the installer's bootkube.sh (not complex changes though).

@bcrochet bcrochet force-pushed the baremetal-mdns branch 3 times, most recently from e4c2117 to 25393f3 Compare July 9, 2019 20:25
@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 9, 2019
@bcrochet
Copy link
Member Author

/retest

@bcrochet bcrochet force-pushed the baremetal-mdns branch 2 times, most recently from 34c3c06 to 341a752 Compare July 25, 2019 17:51
…g images

This patch adds the images so they can be referenced from templates.
@bcrochet bcrochet force-pushed the baremetal-mdns branch 2 times, most recently from bf809d6 to 07c4311 Compare July 26, 2019 00:28
@bcrochet
Copy link
Member Author

@runcom Review please.

@runcom
Copy link
Member

runcom commented Jul 26, 2019

/hold cancel
/approve

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 26, 2019
Adds pods to master and worker nodes as appropriate

Updates haproxy container to use openshift/router-haproxy image instead of
docker.io/library/haproxy

Also adds liveness tests for the coredns,mdns-publisher,
haproxy and keepalived static pods, changes worker node
/etc/resolv.conf to point to node's IP instead of 127.0.0.1 and
fix the bug generating haproxy cfg file

Due to the fact that both use the same image, there was a bit of
confusion here. We want keepalived to track OCP Router 1936 and we want
API LB Haproxy pod to have health checked at 50936, which is where we
configure haproxy to expose health at.

Depends-On: openshift#943
Depends-On: openshift#984
@runcom
Copy link
Member

runcom commented Jul 26, 2019

an exception has been granted for this so
/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Jul 26, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bcrochet, celebdor, cgwalters, runcom

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

@openshift-merge-robot openshift-merge-robot merged commit efc0e00 into openshift:master Jul 26, 2019
cybertron added a commit to cybertron/installer that referenced this pull request Jul 26, 2019
In order for the baremetal infra services to use the images from the
release, we need to look up the correct image during bootstrap and
pass that in to the MCO.

The new image parameters were added to MCO in
openshift/machine-config-operator#795

Part of the changes for openshift#2067
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. lgtm Indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants