Skip to content

Bug 1972524: baremetal: Ensure ipv6 bootstrap VM client-id is predictable #5110

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

Merged
merged 2 commits into from
Aug 24, 2021

Conversation

hardys
Copy link

@hardys hardys commented Jul 28, 2021

In #4052 we added interfaces to control the MAC addresses for the
NICs in the bootstrap VM, so that in environments where DHCP pools
are not allowed, a static reservation can be made.

Unfortunately that doesn't work in ipv6 environments currently,
because NetworkManager needs a specific configuration similar to
that applied via the MCO[1] for cluster hosts to ensure the
generated client-ID is derived from the MAC and predictable.

[1] https://github.com/openshift/machine-config-operator/blob/master/templates/common/on-prem/files/NetworkManager-onprem.conf.yaml

In openshift#4052 we added interfaces to control the MAC addresses for the
NICs in the bootstrap VM, so that in environments where DHCP pools
are not allowed, a static reservation can be made.

Unfortunately that doesn't work in ipv6 environments currently,
because NetworkManager needs a specific configuration similar to
that applied via the MCO[1] for cluster hosts to ensure the
generated client-ID is derived from the MAC and predictable.

[1] https://github.com/openshift/machine-config-operator/blob/master/templates/common/on-prem/files/NetworkManager-onprem.conf.yaml
@openshift-ci openshift-ci bot requested review from markmc and russellb July 28, 2021 12:39
@openshift-ci openshift-ci bot added bugzilla/severity-medium Referenced Bugzilla bug's severity is medium for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. labels Jul 28, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 28, 2021

@hardys: This pull request references Bugzilla bug 1972524, 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
  • bug is open, matching expected state (open)
  • bug target release (4.9.0) matches configured target release for branch (4.9.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

No GitHub users were found matching the public email listed for the QA contact in Bugzilla ([email protected]), skipping review request.

In response to this:

Bug 1972524: baremetal: Ensure ipv6 bootstrap VM client-id is predictable

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.

@hardys
Copy link
Author

hardys commented Jul 28, 2021

I tested this and we can now see if you set e.g externalMACAddress: "00:51:ff:2b:0d:5e" that the client-ID is derived from the MAC like the cluster hosts:

Expiry Time           MAC address         Protocol   IP address                    Hostname   Client ID or DUID
------------------------------------------------------------------------------------------------------------------------------------------------------
 2021-07-28 14:29:14   00:51:ff:2b:0d:45   ipv6       fd2e:6f44:5dd8:c956::14/120   master-0   00:03:00:01:00:51:ff:2b:0d:45
 2021-07-28 14:29:25   00:51:ff:2b:0d:49   ipv6       fd2e:6f44:5dd8:c956::15/120   master-1   00:03:00:01:00:51:ff:2b:0d:49
 2021-07-28 14:29:39   00:51:ff:2b:0d:4d   ipv6       fd2e:6f44:5dd8:c956::16/120   master-2   00:03:00:01:00:51:ff:2b:0d:4d
 2021-07-28 14:13:08   00:51:ff:2b:0d:5e   ipv6       fd2e:6f44:5dd8:c956::3c/120   -          00:03:00:01:00:51:ff:2b:0d:5e

@hardys
Copy link
Author

hardys commented Jul 28, 2021

/label platform/baremetal

@openshift-ci openshift-ci bot added the platform/baremetal IPI bare metal hosts platform label Jul 28, 2021
These control the MAC for the bootstrap VM NICs, not the bridges on the
host where the VM is running.
@hardys
Copy link
Author

hardys commented Jul 28, 2021

/cc @stbenjam @yrobla

I also added a commit to clarify the install-config docs, since we currently say they control the bridge MAC which isn't strictly accurate.

@openshift-ci openshift-ci bot requested review from stbenjam and yrobla July 28, 2021 12:45
@hardys hardys removed request for markmc and russellb July 28, 2021 12:50
@hardys
Copy link
Author

hardys commented Jul 28, 2021

Note we should ensure e2e-metal-ipi-ovn-ipv6 passes before merging this

@hardys
Copy link
Author

hardys commented Jul 28, 2021

/test e2e-metal-ipi-ovn-ipv6

2 similar comments
@hardys
Copy link
Author

hardys commented Jul 29, 2021

/test e2e-metal-ipi-ovn-ipv6

@hardys
Copy link
Author

hardys commented Jul 30, 2021

/test e2e-metal-ipi-ovn-ipv6

Copy link
Contributor

@kirankt kirankt left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Aug 5, 2021
@kirankt
Copy link
Contributor

kirankt commented Aug 5, 2021

/test e2e-metal-ipi-ovn-ipv6

@stbenjam
Copy link
Member

stbenjam commented Aug 5, 2021

/approve
/hold

Feel free to release the hold when metal IPv6 passes

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 5, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 5, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kirankt, stbenjam

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-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 5, 2021
@hardys
Copy link
Author

hardys commented Aug 6, 2021

/test e2e-metal-ipi-ovn-ipv6

@hardys
Copy link
Author

hardys commented Aug 6, 2021

Looks like we hit an issue which will be fixed via openshift/cluster-kube-apiserver-operator#1202 - probably best to hold off retesting until that lands

@kirankt
Copy link
Contributor

kirankt commented Aug 11, 2021

/retest

@kirankt
Copy link
Contributor

kirankt commented Aug 11, 2021

/test e2e-metal-ipi-ovn-ipv6

1 similar comment
@hardys
Copy link
Author

hardys commented Aug 24, 2021

/test e2e-metal-ipi-ovn-ipv6

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 24, 2021

@hardys: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-aws-workers-rhel7 b13a1e0 link /test e2e-aws-workers-rhel7
ci/prow/e2e-openstack-byon b13a1e0 link /test e2e-openstack-byon
ci/prow/e2e-aws-single-node b13a1e0 link /test e2e-aws-single-node
ci/prow/e2e-crc b13a1e0 link /test e2e-crc
ci/prow/e2e-metal-ipi-ovn-ipv6 b13a1e0 link /test e2e-metal-ipi-ovn-ipv6

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.

@zaneb
Copy link
Member

zaneb commented Aug 24, 2021

/retest-required

@zaneb
Copy link
Member

zaneb commented Aug 24, 2021

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 24, 2021
@openshift-merge-robot openshift-merge-robot merged commit 85e923a into openshift:master Aug 24, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 24, 2021

@hardys: All pull requests linked via external trackers have merged:

Bugzilla bug 1972524 has been moved to the MODIFIED state.

In response to this:

Bug 1972524: baremetal: Ensure ipv6 bootstrap VM client-id is predictable

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.

@hardys
Copy link
Author

hardys commented Sep 29, 2021

/cherry-pick release-4.8

@openshift-cherrypick-robot

@hardys: new pull request created: #5250

In response to this:

/cherry-pick release-4.8

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.

mkowalski added a commit to mkowalski/openshift-installer that referenced this pull request May 28, 2024
In openshift#5110 we hade sure that
for Baremetal IPI the IPv6 bootstrap VM client-id is predictable. This
however did not cover UPI deployments.

With this change deployments with platform `none` will also use
predictable client-id.

Fixes: OCPBUGS-33496
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. bugzilla/severity-medium Referenced Bugzilla bug's severity is medium for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged. platform/baremetal IPI bare metal hosts platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants