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

Remove Extra Fields From Minimal CR #800

Merged
merged 50 commits into from
Dec 20, 2024
Merged

Conversation

anathoodell
Copy link
Contributor

@anathoodell anathoodell commented Nov 26, 2024

Description

This PR removes the extra fields from the CSM CR when deploying using a minimal sample. ensuring it is cleaner, more efficient, and thoroughly validated. Below is a summary of the changes:

Key Changes

  1. Replica Count Fix

    • Adjusts the replica count in the CR to align with the correct controller counts.
  2. Removal of Empty Fields

    • Eliminates empty structs such as csiDriver, Node, and Controller from the CR.
  3. Environment Variable Cleanup

    • Removes the KUBELET_CONFIG_DIR field from the CR.
  4. PowerFlex-Specific Changes

    • Removes initContainer and sdc-monitor fields for PowerFlex in the minimal configuration.
  5. PowerMax-Specific Changes

    • Removes reverseproxy env variable fields for PowerMax in the minimal configuration.
  6. Improved Unit Test Coverage

    • Increases UT coverage to 97%.
  7. Fix Operator Crashing

    • Fix operator crashing when initContainer ENVs are empty
    • It will use secrets to update MDM
  8. E2E Test Enhancements

    • Adds an E2E test step to the minimal standalone deployment to verify:
      • A non-zero replica count.
      • Absence of unexpected fields when using the minimal sample.

GitHub Issues

List the GitHub issues impacted by this PR:

GitHub Issue #
dell/csm#1594
dell/csm#1603

Checklist:

  • I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
  • I have verified that new and existing unit tests pass locally with my changes
  • I have not allowed coverage numbers to degenerate
  • I have maintained at least 90% code coverage
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • I have maintained backward compatibility
  • I have executed the relevant end-to-end test scenarios

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

  • Verified Minimal & Maximal Samples
  • All Driver Minimal Sample E2E
  • PowerScale E2E
  • PowerStore E2E

@kumarp20
Copy link

kumarp20 commented Dec 4, 2024

When installing powermax using minimal sample, we are adding the reverseproxy module to the CR:

if !foundRevProxy {
. Shouldn't we change this to update the yamls but not update the CSM spec (like we did for SDC init container for pflex) ?

@rajendraindukuri rajendraindukuri self-requested a review December 4, 2024 12:09
@AkshaySainiDell AkshaySainiDell changed the title Remove Extra Fields From Minimal CR [WIP] Remove Extra Fields From Minimal CR Dec 12, 2024
kumarp20
kumarp20 previously approved these changes Dec 16, 2024
Copy link

@kumarp20 kumarp20 left a comment

Choose a reason for hiding this comment

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

Looks like this code handles the reverse proxy scenario well. Please see if additional UTs can be added. Please ensure operator E2E passes for all platforms (in pipeline nightly jobs) to ensure this does not affect anything adversely.

@AkshaySainiDell AkshaySainiDell changed the title [WIP] Remove Extra Fields From Minimal CR Remove Extra Fields From Minimal CR Dec 20, 2024
@AkshaySainiDell AkshaySainiDell merged commit 498b3f9 into main Dec 20, 2024
7 checks passed
@AkshaySainiDell AkshaySainiDell deleted the 1594_remove_extra_fields branch December 20, 2024 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants