Skip to content

Remove Extra Fields From Minimal CR#800

Merged
AkshaySainiDell merged 50 commits intomainfrom
1594_remove_extra_fields
Dec 20, 2024
Merged

Remove Extra Fields From Minimal CR#800
AkshaySainiDell merged 50 commits intomainfrom
1594_remove_extra_fields

Conversation

@anathoodell
Copy link
Copy Markdown
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 #
https://github.com/dell/csm/issues/1594
https://github.com/dell/csm/issues/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
Copy Markdown
Contributor

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
Copy Markdown
Contributor

@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
@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