-
Notifications
You must be signed in to change notification settings - Fork 416
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
Bug 2033953: Afterburn to try config-drive before Nova metadata #2903
Bug 2033953: Afterburn to try config-drive before Nova metadata #2903
Conversation
With this change, the afterburn-hostname service uses the 'openstack' provider, which fetches userdata from the config drive, and only uses the Nova metadata service as a fallback. This is especially useful in network topologies where Nova-metadata is not guaranteed to be reachable (e.g. when using baremetal (Ironic) instances). Co-authored-by: Martin André <m.andre@redhat.com> Co-authored-by: Pierre Prinetti <pierreprinetti@redhat.com>
@pierreprinetti: This pull request references Bugzilla bug 2033953, which is invalid:
Comment In response to this:
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. |
/bugzilla refresh |
@pierreprinetti: This pull request references Bugzilla bug 2033953, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker. 3 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
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. |
@pierreprinetti: This pull request references Bugzilla bug 2033953, which is valid. 3 validation(s) were run on this bug
Requesting review from QA contact: In response to this:
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. |
/cc mandre |
This intersects a bit with a whole huge recent saga around hostnames; see https://bugzilla.redhat.com/show_bug.cgi?id=2008521#c40 A lot of confusion and overlap between "ownership" of the hostname. While this isn't new, the presence of this file is perpetuating a difference between FCOS and RHCOS behavior on OpenStack. (I think this is rooted in the uncertain availability of the metadata service across OpenStack deployments) Another related topic; AIUI the reason for the current design is that availability of the config drive is racy. I don't know if that applies in Ironic or not. |
@cgwalters I couldn't find Afterburn providers' documentation, but here's the relevant code: match provider {
// ...
"openstack" => openstack::try_config_drive_else_network(),
"openstack-metadata" => box_result!(OpenstackProviderNetwork::try_new()?),
// ... Is this change having a larger blast radius than what I expect? /retest-required |
Yes, But one other question: what is the role of Ironic in OCP going forward? I thought the move to use the CoreOS "Live ISO" approach for IPI metal meant we wouldn't have this "use openstack on bare metal" stuff in the future. |
We want to offer OpenShift-on-OpenStack users the ability to use managed baremetal nodes within OpenStack. Beyond the value of leveraging tools that the users might already know, I believe one further added value is to support a mixed fleet of virtual and physical servers within a single OCP cluster. Does that make sense? |
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.
Thanks @pierreprinetti for the patch.
/lgtm
what is the role of Ironic in OCP going forward? I thought the move to use the CoreOS "Live ISO" approach for IPI metal meant we wouldn't have this "use openstack on bare metal" stuff in the future.
This is about allowing OpenShift on OpenStack deployments to leverage ironic and provision BM worker nodes, it's unrelated to IPI metal.
/retest-required Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
/retest-required Please review the full test history for this PR and help us cut down flakes. |
The specific reason for the creation of a persistent hostname was a different in kubelet's behaviour when using legacy cloud provider vs external cloud provider. In summary: when using a legacy cloud provider kubelet gets its node name from the cloud provider; when using an external cloud provider kubelet gets its node name from hostname unless you pass it on the command line. It turns out that in practise hostname is not always identical to the value returned by the cloud provider. It's an upgrade issue if either:
Consequently we decided to use afterburn to fetch hostname from the cloud provider and pass it to kubelet via the command line option, which means node name remains the same across a legacy->external CCM upgrade, and we don't have to change the hostname. |
/lgtm Config drive with fallback to metadata is ideal for getting hostname. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, mandre, mdbooth, pierreprinetti 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 |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
6 similar comments
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
@pierreprinetti: The following tests failed, say
Full PR test history. Your PR dashboard. 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. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
9 similar comments
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
/retest-required Please review the full test history for this PR and help us cut down flakes. |
@pierreprinetti: All pull requests linked via external trackers have merged: Bugzilla bug 2033953 has been moved to the MODIFIED state. In response to this:
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. |
/cherry-pick release-4.9 |
@pierreprinetti: new pull request created: #2915 In response to this:
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. |
With this change, the afterburn-hostname service uses the 'openstack'
provider, which fetches userdata from the config drive, and only uses
the Nova metadata service as a fallback. This is especially useful in
network topologies where Nova-metadata is not guaranteed to be reachable
(e.g. when using baremetal (Ironic) instances).