Skip to content

Conversation

@russellb
Copy link
Contributor

@russellb russellb commented Jul 19, 2019

The purpose of this change was to make masters able to run workloads
by default. This is needed to complete a successful deployment of a
3-node bare metal install. This particular approach was only short
term, while better interfaces were developed to control this behavior.

The scheduler configuration resource now includes a
"mastersSchedulable" boolean, enabled here:

#937

This installer PR made it the default behavior if no workers were
defined at install time:

openshift/installer#2004

With these changes in place, the custom kubelet config for the
baremetal platform is no longer necessary.

@openshift-ci-robot openshift-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jul 19, 2019
@russellb
Copy link
Contributor Author

/hold

As discussed in the description, this needs to wait for one of the two mentioned installer PRs to merge first.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 19, 2019
@ravisantoshgudimetla
Copy link
Contributor

/cc @runcom @cgwalters @kikisdeliveryservice

@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 26, 2019
@russellb
Copy link
Contributor Author

The installer change went in, but the scheduler setting is not working as expected, bug filed here: #1024

The purpose of this change was to make masters able to run workloads
by default.  This is needed to complete a successful deployment of a
3-node bare metal install.  This particular approach was only short
term, while better interfaces were developed to control this behavior.

The scheduler configuration resource now includes a
"mastersSchedulable" boolean, enabled here:

openshift#937

This installer PR made it the default behavior if no workers were
defined at install time:

openshift/installer#2004

With these changes in place, the custom kubelet config for the
baremetal platform is no longer necessary.
@russellb russellb force-pushed the drop-baremetal-hack branch from 3adad4e to bcb4835 Compare October 16, 2019 01:15
@openshift-ci-robot openshift-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 16, 2019
@russellb
Copy link
Contributor Author

/hold cancel

@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 Oct 16, 2019
@russellb
Copy link
Contributor Author

The prerequisites for this merged a while ago, so this should be ready to go in.

/cc stbenjam
/cc hardys

@stbenjam
Copy link
Member

/lgtm

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

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: russellb, stbenjam
To complete the pull request process, please assign kikisdeliveryservice
You can assign the PR to them by writing /assign @kikisdeliveryservice in a comment when ready.

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

Details 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

@runcom
Copy link
Member

runcom commented Oct 19, 2019

/retest

@russellb
Copy link
Contributor Author

/test e2e-gcp-upgrade

@kikisdeliveryservice
Copy link
Contributor

/skip

@eparis
Copy link
Member

eparis commented Dec 3, 2019

I believe we went a different direction and don't need this anymoe.

@eparis eparis closed this Dec 3, 2019
@stbenjam
Copy link
Member

stbenjam commented Dec 3, 2019

master still has the baremetal kubelet override: https://github.com/openshift/machine-config-operator/blob/master/templates/master/01-master-kubelet/baremetal/units/kubelet.yaml

@russellb We should be able to drop this now, right?

@russellb
Copy link
Contributor Author

russellb commented Dec 3, 2019

@stbenjam Yes, and that's what this PR did. It dropped it.

@eparis why did you close this? Can you provide a bit more detail about what "different direction" you're talking about?

@stbenjam
Copy link
Member

/reopen

@openshift-ci-robot
Copy link
Contributor

@stbenjam: Reopened this PR.

Details

In response to this:

/reopen

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.

russellb added a commit to openshift-kni/machine-config-operator that referenced this pull request Jan 21, 2020
Commit 7ab08f8
did this for the base template in
templates/master/01-master-kubelet/baremetal/units/kubelet.yaml.

We need this for the baremetal platform specific kubelet config as
well.

Note that this baremetal kubelet override will go away, but this is
needed until the following PR is merged:
openshift#993
@openshift-ci-robot
Copy link
Contributor

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

Test name Commit Details Rerun command
ci/prow/e2e-aws-disruptive 3adad4ec38bdd8f30411d3554e35164fe09fd09c link /test e2e-aws-disruptive
ci/prow/e2e-vsphere bcb4835 link /test e2e-vsphere
ci/prow/e2e-aws bcb4835 link /test e2e-aws
ci/prow/e2e-gcp-upgrade bcb4835 link /test e2e-gcp-upgrade
ci/prow/e2e-gcp-op bcb4835 link /test e2e-gcp-op

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Details

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.

yazug pushed a commit to openshift-kni/machine-config-operator that referenced this pull request Feb 5, 2020
Commit 7ab08f8
did this for the base template in
templates/master/01-master-kubelet/baremetal/units/kubelet.yaml.

We need this for the baremetal platform specific kubelet config as
well.

Note that this baremetal kubelet override will go away, but this is
needed until the following PR is merged:
openshift#993
@hardys
Copy link

hardys commented Jun 10, 2020

@russellb Hey this looks like it resolves https://bugzilla.redhat.com/show_bug.cgi?id=1828250 - would you mind rebasing when you get a moment and we can re-test/review?

russellb added a commit to russellb/machine-config-operator that referenced this pull request Jun 11, 2020
This came up because of a bug report showing that workloads were
scheduled on masters for the baremetal platform regardless of the
schedulableMasters scheduler configuration.  This is due to the
NoSchedule taint not being applied by default on this platform.  The
baremetal platform specific kubelet caused this behavior.  We were
going to remove the custom kubelet config once this behavior was
configurable (see PR openshift#993), but it was never removed because we ended
up needing to make some IPv6 related customizations in this file.  We
also forgot to re-add the default taint.

Meanwhile, some other changes to the kubelet unit were not applied to
the baremetal version.  I also checked the openstack and vsphere files
and found discrepencies there, as well.

This is the simplest fix, which is to get these files in sync again.
The differences are very minor, so a better follow-up would be to get
back to a single kubelet unit, or at least share the duplicated
content somehow.

I'm leaving that further cleanup as another change, since the most
straight forward fix will be the simpler one to backport.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1828250
@russellb
Copy link
Contributor Author

This PR is replaced by #1817

openshift-cherrypick-robot pushed a commit to openshift-cherrypick-robot/machine-config-operator that referenced this pull request Jun 16, 2020
This came up because of a bug report showing that workloads were
scheduled on masters for the baremetal platform regardless of the
schedulableMasters scheduler configuration.  This is due to the
NoSchedule taint not being applied by default on this platform.  The
baremetal platform specific kubelet caused this behavior.  We were
going to remove the custom kubelet config once this behavior was
configurable (see PR openshift#993), but it was never removed because we ended
up needing to make some IPv6 related customizations in this file.  We
also forgot to re-add the default taint.

Meanwhile, some other changes to the kubelet unit were not applied to
the baremetal version.  I also checked the openstack and vsphere files
and found discrepencies there, as well.

This is the simplest fix, which is to get these files in sync again.
The differences are very minor, so a better follow-up would be to get
back to a single kubelet unit, or at least share the duplicated
content somehow.

I'm leaving that further cleanup as another change, since the most
straight forward fix will be the simpler one to backport.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1828250
russellb added a commit to russellb/machine-config-operator that referenced this pull request Jun 19, 2020
This came up because of a bug report showing that workloads were
scheduled on masters for the baremetal platform regardless of the
schedulableMasters scheduler configuration. This is due to the
NoSchedule taint not being applied by default on this platform. The
baremetal platform specific kubelet caused this behavior. We were
going to remove the custom kubelet config once this behavior was
configurable (see PR openshift#993), but it was never removed because we ended
up needing to make some IPv6 related customizations in this file. We
also forgot to re-add the default taint.

Meanwhile, some other changes to the kubelet unit were not applied to
the baremetal version.

This is the simplest fix, which is to get these files in sync again.
The differences are very minor, so a better follow-up would be to get
back to a single kubelet unit, or at least share the duplicated
content somehow.

I'm leaving that further cleanup as another change, since the most
straight forward fix will be the simpler one to backport.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1828250
@kikisdeliveryservice
Copy link
Contributor

This PR is replaced by #1817

@russellb can you please close this PR then?

@russellb
Copy link
Contributor Author

This PR is replaced by #1817

@russellb can you please close this PR then?

Yeah I meant to do that before when I left this comment. sorry about that

@russellb russellb closed this Jun 23, 2020
vrutkovs pushed a commit to vrutkovs/machine-config-operator that referenced this pull request Jun 24, 2020
This came up because of a bug report showing that workloads were
scheduled on masters for the baremetal platform regardless of the
schedulableMasters scheduler configuration.  This is due to the
NoSchedule taint not being applied by default on this platform.  The
baremetal platform specific kubelet caused this behavior.  We were
going to remove the custom kubelet config once this behavior was
configurable (see PR openshift#993), but it was never removed because we ended
up needing to make some IPv6 related customizations in this file.  We
also forgot to re-add the default taint.

Meanwhile, some other changes to the kubelet unit were not applied to
the baremetal version.  I also checked the openstack and vsphere files
and found discrepencies there, as well.

This is the simplest fix, which is to get these files in sync again.
The differences are very minor, so a better follow-up would be to get
back to a single kubelet unit, or at least share the duplicated
content somehow.

I'm leaving that further cleanup as another change, since the most
straight forward fix will be the simpler one to backport.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1828250
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants