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

working on feature versioning mechanism #169

Merged

Conversation

aalves08
Copy link
Contributor

@aalves08 aalves08 commented Mar 26, 2024

Fixes #170

Implement feature versioning mechanism that's bound to Elemental backend version, which is captured from the elemental-operator deployment label app.kubernetes.io/version.

This impact areas such as:
-BuildMedia (support for RAW disk image build) which can be found in Dashboard view and machine registration detail view.

  • machine registration cloud config, which can be found in machine registration create view.

To test:

  • Install elemental-operator-crds manually, via kubectl (so it installs the dev version with the label):
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-crds-chart
  • Install elemental-operator manually, via kubectl:
helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.opensuse.org/isv/rancher/elemental/dev/charts/rancher/elemental-operator-chart
  • Run this branch and check the areas above mentioned:
-`BuildMedia` (support for RAW disk image build) which can be found in `Dashboard` view and `machine registration` detail view.
- `machine registration` cloud config, which can be found in `machine registration` create view.
  • Edit pkg/elemental/utils/feature-versioning.ts lines 18-37, change version number there displayed and check impact on each of the areas mentioned (no support for RAW disk image build and smaller cloud config for machine registration)

Screenshots of areas of impact
Screenshot 2024-04-04 at 16 57 54
Screenshot 2024-04-04 at 16 57 56
Screenshot 2024-04-04 at 16 57 49

@aalves08 aalves08 self-assigned this Mar 26, 2024
@aalves08 aalves08 added the enhancement New feature or request label Mar 27, 2024
@aalves08 aalves08 marked this pull request as ready for review April 5, 2024 14:28
Copy link
Member

@mantis-toboggan-md mantis-toboggan-md left a comment

Choose a reason for hiding this comment

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

I was able to test the PR using the instructions provided and overall it looks good and works. I had a minor suggestion about the implementation of the version gating mechanism but it's totally non-critical.

pkg/elemental/utils/feature-versioning.ts Show resolved Hide resolved
pkg/elemental/utils/feature-versioning.ts Outdated Show resolved Hide resolved
pkg/elemental/utils/feature-versioning.ts Outdated Show resolved Hide resolved
Copy link
Member

@mantis-toboggan-md mantis-toboggan-md left a comment

Choose a reason for hiding this comment

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

LGTM

@aalves08 aalves08 merged commit bc9132e into rancher:main Apr 8, 2024
@aalves08 aalves08 deleted the gate-disk-image-build-to-operator-version branch July 5, 2024 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create feature versioning mechanism to handle impact of elemental-operator changes in the UI
2 participants