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
OSASINFRA-3421: OpenStack: Customizable clientOpts for CheckNetworkEx… #8209
OSASINFRA-3421: OpenStack: Customizable clientOpts for CheckNetworkEx… #8209
Conversation
…tensionAvailability External consumers of `MachineSets()`, such as [hive](https://github.com/openshift/hive/), need to be able to customize the client that queries the OpenStack cloud for trunk support. A prior commit (openshift#8187 / b99470c), eliminating what looked like tech debt, removed that enablement, which was most recently added via openshift#4638 / 3c4235c, which was *itself* a revert of a previous commit (openshift#4426 / 05453ef) that had removed it similarly. Here we reinstate the customizability, and include a docstring explanation to hopefully prevent it being removed again. OSASINFRA-3421
@2uasimojo: This pull request references OSASINFRA-3421 which is a valid jira issue. 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 openshift-eng/jira-lifecycle-plugin repository. |
1 similar comment
@2uasimojo: This pull request references OSASINFRA-3421 which is a valid jira issue. 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 openshift-eng/jira-lifecycle-plugin repository. |
/assign @pierreprinetti |
For OpenStack: |
/approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: patrickdillon, 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 |
d1f240d
into
openshift:master
@2uasimojo: 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. |
[ART PR BUILD NOTIFIER] This PR has been included in build ose-installer-altinfra-container-v4.16.0-202403261946.p0.gd1f240d.assembly.stream.el8 for distgit ose-installer-altinfra. |
Specifically to pick up openshift/installer#8187 and openshift/installer#8209 so we can fix our unit tests around MachinePools+OpenStack. But also just because we do this periodically. Needed by HIVE-2476
A prior commit revendored installer to pull in openshift/installer#8187 and openshift/installer#8209 which decoupled the OpenStack cloud call for trunk support discovery from the `MachineSets()` generator. This commit refactors our invocation of that generator accordingly, and repairs our long-broken unit test framework around it by attaching a `trunkSupportDiscoverer` func to the actuator. In the production code path, this is set to the `CheckNetworkExtensionAvailability` function publicized by the aforementioned installer PRs, whereas in the unit test path it is set to a no-op shim. Future tests can make this shim return any permutation of possible values to exercise different code paths. Subsequent commits will enhance this unit test suite to reproduce the issue in the referenced card. Part of HIVE-2476
A prior commit revendored installer to pull in openshift/installer#8187 and openshift/installer#8209 which decoupled the OpenStack cloud call for trunk support discovery from the `MachineSets()` generator. This commit refactors our invocation of that generator accordingly, and repairs our long-broken unit test framework around it by attaching a `trunkSupportDiscoverer` func to the actuator. In the production code path, this is set to the `CheckNetworkExtensionAvailability` function publicized by the aforementioned installer PRs, whereas in the unit test path it is set to a no-op shim. Future tests can make this shim return any permutation of possible values to exercise different code paths. Subsequent commits will enhance this unit test suite to reproduce the issue in the referenced card. Part of HIVE-2476
Specifically to pick up openshift/installer#8187 and openshift/installer#8209 so we can fix our unit tests around MachinePools+OpenStack. But also just because we do this periodically. Needed by HIVE-2476
A prior commit revendored installer to pull in openshift/installer#8187 and openshift/installer#8209 which decoupled the OpenStack cloud call for trunk support discovery from the `MachineSets()` generator. This commit refactors our invocation of that generator accordingly, and repairs our long-broken unit test framework around it by attaching a `trunkSupportDiscoverer` func to the actuator. In the production code path, this is set to the `CheckNetworkExtensionAvailability` function publicized by the aforementioned installer PRs, whereas in the unit test path it is set to a no-op shim. Future tests can make this shim return any permutation of possible values to exercise different code paths. Subsequent commits will enhance this unit test suite to reproduce the issue in the referenced card. Part of HIVE-2476
This is *not* a cherry-pick of openshift#2253 / (c6b37ee & f59f327). That solution revendored installer to pick up the fix from upstream. In older branches, this would have dragged in too many dependencies, so we instead fix it "locally" with an explicit nil check. Note also that the original fix added unit tests. We can't do that here either because the new tests rely on the OpenStack UT suite being un-broken [1], which again relied on upstream changes [2][3] we can't pull into older branches. [1] openshift#2251 [2] openshift/installer#8187 [3] openshift/installer#8209 HIVE-2476
…tensionAvailability
External consumers of
MachineSets()
, such ashive, need to be able to customize the client that queries the OpenStack cloud for trunk support.
A prior commit (#8187 / b99470c), eliminating what looked like tech debt, removed that enablement, which was most recently added via #4638 / 3c4235c, which was itself a revert of a previous commit (#4426 / 05453ef) that had removed it similarly.
Here we reinstate the customizability, and include a docstring explanation to hopefully prevent it being removed again.
OSASINFRA-3421
Needed by HIVE-2476