Skip to content

OCPBUGS-11146: update cloud provider flags on vSphere for storage options#3655

Merged
openshift-merge-robot merged 3 commits intoopenshift:release-4.13from
elmiko:vsphere-csi
Apr 18, 2023
Merged

OCPBUGS-11146: update cloud provider flags on vSphere for storage options#3655
openshift-merge-robot merged 3 commits intoopenshift:release-4.13from
elmiko:vsphere-csi

Conversation

@elmiko
Copy link
Contributor

@elmiko elmiko commented Mar 31, 2023

- What I did

  • modify the render pipeline to include the storage operator object
  • update the cloud provider flag to check the storage options when using vSphere
  • only use external cloud provider flag on vSphere when CSI storage is enabled

- How to verify it

there are 3 main conditions to verify with this change:

  1. starting with a 4.12 vSphere cluster using in-tree storage, upgrade to 4.13 should preserve the --cloud-provider=vsphere flag on the kubelet while using --cloud-provider=external on the kube-apiserver and kube-controller-manager.
  2. starting with a 4.12 vSphere cluster using out-of-tree storage (CSI), upgrade to 4.13 should upgrade all cloud provider flags to --cloud-provider=external.
  3. installing new clusters on 4.13 should use all cloud provider flags as --cloud-provider=external.

- Description for the changelog

Update external cloud provider check for vSphere to observe the CSI migration status and properly configure the cluster for in-tree storage and out-of-tree cloud providers.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 31, 2023

@elmiko: This pull request references OCPCLOUD-2027 which is a valid jira issue.

Details

In response to this:

- What I did

  • modify the render pipeline to include the storage operator object
  • update the cloud provider flag to check the storage options when using vSphere
  • only use external cloud provider flag on vSphere when CSI storage is enabled

- How to verify it

there are 3 main conditions to verify with this change:

  1. starting with a 4.12 vSphere cluster using in-tree storage, upgrade to 4.13 should preserve the --cloud-provider=vsphere flag on the kubelet while using --cloud-provider=external on the kube-apiserver and kube-controller-manager.
  2. starting with a 4.12 vSphere cluster using out-of-tree storage (CSI), upgrade to 4.13 should upgrade all cloud provider flags to --cloud-provider=external.
  3. installing new clusters on 4.13 should use all cloud provider flags as --cloud-provider=external.

- Description for the changelog

Update external cloud provider check for vSphere to observe the CSI migration status and properly configure the cluster for in-tree storage and out-of-tree cloud providers.

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.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 31, 2023
@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Mar 31, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 31, 2023

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@elmiko
Copy link
Contributor Author

elmiko commented Mar 31, 2023

i am still working on this but wanted to start sharing for others to see what we are proposing.

@elmiko
Copy link
Contributor Author

elmiko commented Apr 4, 2023

i think this PR is ready for review, i am going to begin manually testing it.

@elmiko elmiko marked this pull request as ready for review April 4, 2023 17:34
@openshift-ci openshift-ci bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 4, 2023
@openshift-ci openshift-ci bot requested review from jkyros and yuqi-zhang April 4, 2023 17:38
bringing in the updates storage operator field.
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 4, 2023
@elmiko elmiko changed the base branch from master to release-4.13 April 4, 2023 21:11
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Apr 4, 2023

@elmiko: This pull request references OCPCLOUD-2027 which is a valid jira issue.

Details

In response to this:

- What I did

  • modify the render pipeline to include the storage operator object
  • update the cloud provider flag to check the storage options when using vSphere
  • only use external cloud provider flag on vSphere when CSI storage is enabled

- How to verify it

there are 3 main conditions to verify with this change:

  1. starting with a 4.12 vSphere cluster using in-tree storage, upgrade to 4.13 should preserve the --cloud-provider=vsphere flag on the kubelet while using --cloud-provider=external on the kube-apiserver and kube-controller-manager.
  2. starting with a 4.12 vSphere cluster using out-of-tree storage (CSI), upgrade to 4.13 should upgrade all cloud provider flags to --cloud-provider=external.
  3. installing new clusters on 4.13 should use all cloud provider flags as --cloud-provider=external.

- Description for the changelog

Update external cloud provider check for vSphere to observe the CSI migration status and properly configure the cluster for in-tree storage and out-of-tree cloud providers.

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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 4, 2023

@elmiko: No Bugzilla bug is referenced in the title of this pull request.
To reference a bug, add 'Bug XXX:' to the title of this pull request and request another bug refresh with /bugzilla refresh.

Details

In response to this:

OCPCLOUD-2027: update cloud provider flags on vSphere for storage options

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.

@elmiko
Copy link
Contributor Author

elmiko commented Apr 4, 2023

switched to the release-4.13 branch and rebased this PR to match.

also added a commit to handle the OPENSHIFT_DO_VSPHERE_MIGRATION environment variable.

i am still wrestling with the unit tests.

@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Apr 4, 2023
@elmiko
Copy link
Contributor Author

elmiko commented Apr 4, 2023

updated with latest comments

  • add functions for storage handlers
  • check for storage nil object in render func

@elmiko
Copy link
Contributor Author

elmiko commented Apr 5, 2023

updated to fix up the unit tests and add tests for the new logic.

@elmiko
Copy link
Contributor Author

elmiko commented Apr 5, 2023

i am manually testing this on a 4.13 cluster with the other storage related changes and it looks like it is doing what we want on a default install. i can see that the kubelet has --cloud-provider=vsphere and the kcm has --cloud-provider=external --external-cloud-volume-plugin=vsphere.

Copy link
Member

Choose a reason for hiding this comment

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

We should get a test here that storage object is populated and passed correctly.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sounds like a good upgrade, i'll take a look

@elmiko
Copy link
Contributor Author

elmiko commented Apr 5, 2023

i was wrong about the expected default condition, and it looks like we might have hit a condition where the Storage object is nil going into the logic. i have added the Storage lister to the function that caches the informer, i am going to test manually.

@elmiko
Copy link
Contributor Author

elmiko commented Apr 6, 2023

updated to add rbac for the storage object to the machine-config-controller

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Apr 18, 2023
@knobunc
Copy link
Contributor

knobunc commented Apr 18, 2023

/label backport-risk-assessed
/label cherry-pick-approved

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 18, 2023

@knobunc: Can not set label backport-risk-assessed: Must be member in one of these teams: [openshift-patch-managers]

Details

In response to this:

/label backport-risk-assessed
/label cherry-pick-approved

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.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 18, 2023

@knobunc: Can not set label cherry-pick-approved: Must be member in one of these teams: []

Details

In response to this:

/label backport-risk-assessed
/label cherry-pick-approved

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.

@knobunc knobunc added cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. labels Apr 18, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 18, 2023

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

Test name Commit Details Required Rerun command
ci/prow/e2e-openstack 5c7d26ffe349c45aadf7eae2825f25a4bab187f3 link false /test e2e-openstack
ci/prow/okd-scos-e2e-gcp-ovn-upgrade 7f43eaf link false /test okd-scos-e2e-gcp-ovn-upgrade
ci/prow/okd-scos-e2e-vsphere-ovn 7f43eaf link false /test okd-scos-e2e-vsphere-ovn
ci/prow/e2e-gcp-rt-op 7f43eaf link false /test e2e-gcp-rt-op
ci/prow/okd-scos-e2e-aws-ovn 7f43eaf link false /test okd-scos-e2e-aws-ovn
ci/prow/e2e-alibabacloud-ovn 7f43eaf link false /test e2e-alibabacloud-ovn

Full PR test history. Your PR dashboard.

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.

Copy link
Contributor

@yuqi-zhang yuqi-zhang left a comment

Choose a reason for hiding this comment

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

It sounds like this was tested extensively, so I think I am fine giving the approval. The general workflow lgtm although I haven't personally tested on vsphere. So long as we don't break any use cases (which CI should cover) I think this is fine

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 18, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dobsonj, elmiko, yuqi-zhang

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

The pull request process is described 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 18, 2023
@dobsonj
Copy link
Member

dobsonj commented Apr 18, 2023

/unhold

@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 Apr 18, 2023
@openshift-merge-robot openshift-merge-robot merged commit 65337f0 into openshift:release-4.13 Apr 18, 2023
@openshift-ci-robot
Copy link
Contributor

@elmiko: Jira Issue OCPBUGS-11146: Some pull requests linked via external trackers have merged:

The following pull requests linked via external trackers have not merged:

These pull request must merge or be unlinked from the Jira bug in order for it to move to the next state. Once unlinked, request a bug refresh with /jira refresh.

Jira Issue OCPBUGS-11146 has not been moved to the MODIFIED state.

Details

In response to this:

- What I did

  • modify the render pipeline to include the storage operator object
  • update the cloud provider flag to check the storage options when using vSphere
  • only use external cloud provider flag on vSphere when CSI storage is enabled

- How to verify it

there are 3 main conditions to verify with this change:

  1. starting with a 4.12 vSphere cluster using in-tree storage, upgrade to 4.13 should preserve the --cloud-provider=vsphere flag on the kubelet while using --cloud-provider=external on the kube-apiserver and kube-controller-manager.
  2. starting with a 4.12 vSphere cluster using out-of-tree storage (CSI), upgrade to 4.13 should upgrade all cloud provider flags to --cloud-provider=external.
  3. installing new clusters on 4.13 should use all cloud provider flags as --cloud-provider=external.

- Description for the changelog

Update external cloud provider check for vSphere to observe the CSI migration status and properly configure the cluster for in-tree storage and out-of-tree cloud providers.

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.

@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.13.0-0.nightly-2023-04-27-232707

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. backport-risk-assessed Indicates a PR to a release branch has been evaluated and considered safe to accept. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.