Skip to content
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] fix invalid havester-csi-ccm-versions setting #3404

Closed
2 tasks
WuJun2016 opened this issue Feb 2, 2023 · 9 comments
Closed
2 tasks

[BUG] fix invalid havester-csi-ccm-versions setting #3404

WuJun2016 opened this issue Feb 2, 2023 · 9 comments
Assignees
Labels
area/backend area/cloud-provider Harvester cloud provider for guest cluster area/dashboard Harvester/Rancher dashboard area/ui kind/bug Issues that are defects reported by users or that we know have reached a real release not-require/test-plan Skip to create a e2e automation test issue priority/0 Must be fixed in this release reproduce/always Reproducible 100% of the time require/doc Improvements or additions to documentation
Milestone

Comments

@WuJun2016
Copy link
Contributor

WuJun2016 commented Feb 2, 2023

Describe the bug

The current default value for the harvester-csi-ccm-versions setting is invalid because it restricts to an invalid maximum version, and prevents users from successfully selecting the Harvester cloud provider when creating or modifying the RKE2 Kubernetes cluster.

Original issue: - #3389

Impacted version: Rancher >= v2.6.9, v2.7.0 + RKE2 with Harvester CCM >= v0.1.15 (starting from RKE Year 23 Jan. Releases)

v1/harvester/harvesterhci.io.settings/harvester-csi-ccm-versions

image.png

To Reproduce
Steps to reproduce the behavior:

  1. import Harvester (<= v1.1.2-rc3) into a upstream Rancher (v2.6.9 or v2.7-head)
  2. trying to create a new RKE2 cluster with newer RKE2 versions
  3. user will not be able to select the Harvester cloud provider as its default harvester-csi-ccm-versions setting version is less than the RKE2's built-in one.

Expected behavior
Users should still be able to select the Harvester cloud provider as the latest RKE2's built-in Harvester CSI & CCM chart is compatible with Harvester v1.1 clusters.

Support bundle

Environment

  • Harvester ISO version: Harvester >= v1.1.0
  • Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

@WuJun2016 WuJun2016 added area/backend kind/bug Issues that are defects reported by users or that we know have reached a real release reproduce/needed Reminder to add a reproduce label and to remove this one severity/needed Reminder to add a severity label and to remove this one labels Feb 2, 2023
@WuJun2016 WuJun2016 added this to the v1.2.0 milestone Feb 2, 2023
@guangbochen guangbochen added the priority/1 Highly recommended to fix in this release label Feb 2, 2023
@guangbochen guangbochen added priority/0 Must be fixed in this release and removed priority/1 Highly recommended to fix in this release labels Feb 22, 2023
@masteryyh masteryyh added the not-require/test-plan Skip to create a e2e automation test issue label Mar 6, 2023
@guangbochen guangbochen changed the title [BUG] Remove the judgment of less than in havester-csi-ccm-versions setting [BUG] fix invalid havester-csi-ccm-versions setting Mar 23, 2023
@guangbochen guangbochen self-assigned this Mar 23, 2023
@guangbochen guangbochen added the area/cloud-provider Harvester cloud provider for guest cluster label Mar 23, 2023
@guangbochen guangbochen added area/dashboard Harvester/Rancher dashboard area/ui labels Mar 23, 2023
@guangbochen guangbochen added require/doc Improvements or additions to documentation require/release-note labels Mar 23, 2023
@harvesterhci-io-github-bot
Copy link

harvesterhci-io-github-bot commented Mar 23, 2023

Pre Ready-For-Testing Checklist

* [ ] If labeled: require/HEP Has the Harvester Enhancement Proposal PR submitted?
The HEP PR is at:

* [ ] If labeled: require/doc, require/knowledge-base Has the necessary document PR submitted or merged?
The documentation/KB PR is at:

* [ ] If NOT labeled: not-require/test-plan Has the e2e test plan been merged? Have QAs agreed on the automation test case? If only test case skeleton w/o implementation, have you created an implementation issue?
- The automation skeleton PR is at:
- The automation test case PR is at:

* [ ] If the fix introduces the code for backward compatibility Has a separate issue been filed with the label release/obsolete-compatibility?
The compatibility issue is filed at:

@guangbochen guangbochen added reproduce/always Reproducible 100% of the time and removed require/release-note reproduce/needed Reminder to add a reproduce label and to remove this one labels Apr 11, 2023
@guangbochen guangbochen removed the severity/needed Reminder to add a severity label and to remove this one label Apr 11, 2023
@TachunLin TachunLin self-assigned this May 11, 2023
@TachunLin
Copy link

TachunLin commented May 15, 2023

Test plan

Ensure the Rancher Kubernetes version can support CSI & CCM maximum versions of the following scenarios:

Harvester version RKE2 with old CCM design RKE2 with new CCM design( v0.2 - #2134)
>= v1.2 Supported Supported
< v1.2 Supported Not Supported

Test Environment

Harvester: v1.2.0 and v1.1.2
Rancher: v2.7.12 and v2.6.12
RKE metadata simulation: https://harvester-dev.oss-cn-hangzhou.aliyuncs.com/rke-meta-data.json

@TachunLin
Copy link

TachunLin commented May 15, 2023

Verifing on Rancher v2.7.2

On Harvester >=1.2 and RKE2 with new CCM design:
It suppose to support cloud provider but actually it prevent user to select

Harvester version RKE2 with old CCM design RKE2 with new CCM design( v0.2 - #2134)
>= v1.2 (PASS) Supported (FAILED) Supported
< v1.2 (PASS) Supported (PASS) Not Supported
  • Harvester version < 1.2 (v1.1.2) with RKE2 contains old CCM design

    • Use can select the cloud provider as the default in RKE2 guest provisioning
      image
  • Harvester version >= 1.2 (v1.2.0) with RKE2 contains old CCM design

    • Use can select the cloud provider as the default in RKE2 guest provisioning
      image
  • Harvester version < 1.2 (v1.1.2) with RKE2 contains new CCM design (2.0)

    • Use can't select the cloud provider in RKE2 guest provisioning
      image
  • Harvester version >= 1.2 (v1.2.0) with RKE2 contains new CCM design (2.0)

    • Use can't select the cloud provider in RKE2 guest provisioning
      image

@TachunLin
Copy link

  • When we set the Rancher rke2-metadata setting on k8s v1.25.9 using ccm-driver version >= 2.0
    image

  • And modify API setting, let Harvester version = v1.2.0
    image

  • We can't select the Harvester cloud provider in RKE2 guest provisioning

  • Check the downstream Harvester ccm and csi-driver default version setting did not update according to version change.
    image

Thus move to implement to further investigation.

@n313893254
Copy link

@guangbochen Can the issue be moved to ready for testing?

@noahgildersleeve
Copy link

@n313893254 How should I test this? Can I just check the cloud provider on the RKE2 cluster dropdowns per k8s version in node driver on a master-head version of harvester and Rancher v2.7.5-rc6, or is there some other way of checking this?

@TachunLin
Copy link

Checked with @n313893254 and come out the following test plan for reference.

Test Plan

Purpose

Ensure when the Harvester version >=1.2.0 and the RKE2 version used in Rancher set to cloud provider >= v0.2 (contains the new CCM design). In the RKE2 provisioning page:

  • Cloud provider should display on list

Ref: #3404 (comment)

Test Environment

Test Steps

  1. Update rke-metadata-config in Rancher global setting
  2. Set the meta to https://harvester-dev.oss-cn-hangzhou.aliyuncs.com/rke-meta-data.json and refresh
  3. Enable Harvester preferences page
  4. Enable the View in API and Extension developer features
  5. View server-version in Harvester settings
  6. Change the server-version to v1.2.0
  7. Import Harvester in Rancher and create cloud credential
  8. Create a RKE2 guest cluster
  9. Select RKE2 version to v1.26.4+rke2r1
  10. Check the cloud provider display on list

@noahgildersleeve
Copy link

Tested with Harvester master-d23d5c57-head and Rancher v2.7.5-rc6. I validated that Harvester cloud provider was available in k8s v1.26.4 and wasn't in k8s v1.25.9.

Test Plan

Purpose

Ensure when the Harvester version >=1.2.0 and the RKE2 version used in Rancher set to cloud provider >= v0.2 (contains the new CCM design). In the RKE2 provisioning page:

  • Cloud provider should display on list

Ref: #3404 (comment)

Test Environment

Test Steps

  1. Update rke-metadata-config in Rancher global setting
  2. Set the meta to https://harvester-dev.oss-cn-hangzhou.aliyuncs.com/rke-meta-data.json and refresh
  3. Enable Harvester preferences page
  4. Enable the View in API and Extension developer features
  5. View server-version in Harvester settings
  6. Change the server-version to v1.2.0
  7. Import Harvester in Rancher and create cloud credential
  8. Create a RKE2 guest cluster
  9. Select RKE2 version to v1.26.4+rke2r1
  10. Check the cloud provider display on list

Screenshot_20230629_103708
Screenshot_20230629_103653
Screenshot_20230629_103644

@LucasSaintarbor
Copy link
Contributor

Hi @guangbochen @WuJun2016, just following up on any issue with a require/doc label for the 1.2.0 release. Does this issue require any of the following?

  • New documentation/KB
  • Updated documentation/KB
  • Release note
  • None of the above

If it does, may you please open a PR or share details on what needs to be created or updated?
Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/backend area/cloud-provider Harvester cloud provider for guest cluster area/dashboard Harvester/Rancher dashboard area/ui kind/bug Issues that are defects reported by users or that we know have reached a real release not-require/test-plan Skip to create a e2e automation test issue priority/0 Must be fixed in this release reproduce/always Reproducible 100% of the time require/doc Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

8 participants