Skip to content

feat(make): add make install-csi, make uninstall-csi, and ARGS support for make e2e-test - #5028

Open
meet2mky wants to merge 2 commits into
masterfrom
native-retries
Open

feat(make): add make install-csi, make uninstall-csi, and ARGS support for make e2e-test#5028
meet2mky wants to merge 2 commits into
masterfrom
native-retries

Conversation

@meet2mky

Copy link
Copy Markdown
Collaborator

Description

This PR introduces Makefile targets and helper scripts to streamline installing and uninstalling custom builds of the Cloud Storage FUSE CSI driver on target GKE clusters, as well as enabling argument forwarding to integration tests.

Key Changes

  1. CSI Driver Installation & Management:

    • Added make install-csi and tools/scripts/install_csi.sh:
      • Automatically derives CLUSTER_PROJECT, CLUSTER_NAME, and CLUSTER_LOCATION from the active kubectl context (with manual CLI override support).
      • Resolves boskos-compliant staging version format: prow-gob-internal-boskos-csi-${CSI_COMMIT_SHA}-fuse-${GCSFUSE_COMMIT_SHA}.
      • Performs pre-install due diligence (validates cluster connectivity, checks for existing managed add-on or self-installed driver).
      • Clones gcs-fuse-csi-driver, builds multi-arch container images from source, pushes to Artifact Registry, and installs manifests.
      • Prints a summary of all 4 deployed container images (Driver, Sidecar Mounter, Webhook, Metadata Prefetch).
    • Added make uninstall-csi and tools/scripts/uninstall_csi.sh:
      • Safely checks installation type (managed vs. self-installed) before uninstallation and cleans up cluster resources.
  2. Integration Test Improvements:

    • Updated make e2e-test to forward arguments directly to improved_run_e2e_tests.sh via the ARGS variable (e.g. make e2e-test ARGS="--run-package streaming_writes --skip-emulator").
  3. Documentation & Help:

    • Expanded make help to document all targets, active defaults, and configurable parameters.

Testing

  • Verified make install-csi on GKE test cluster (mohitkyadav-cluster in gcs-fuse-test):
    • Verified container image builds, push, manifest generation, and deployment.
    • Confirmed all pods in gcs-fuse-csi-driver namespace (controller, webhook, and node daemonsets across 20 nodes) reach Running state.
  • Verified make uninstall-csi clean resource deletion.
  • Verified make e2e-test ARGS="--help" and argument forwarding.

@meet2mky
meet2mky requested a review from kislaykishore August 14, 2026 12:06
@meet2mky
meet2mky requested a review from a team as a code owner August 14, 2026 12:06
@github-actions github-actions Bot added the remind-reviewers Auto remind reviewers in attention set for review post 24hrs of inactivity on PR. label Aug 14, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces helper targets and scripts (install-csi and uninstall-csi) to manage the installation and uninstallation of the Cloud Storage FUSE CSI driver on GKE clusters, along with a detailed help target in the Makefile. Feedback on these changes highlights potential issues with the removal of automatic zone/region retrieval in the e2e-test target, and recommends wrapping the interactive confirmation prompts in both scripts with a TTY check to prevent failures in non-interactive CI/CD environments.

Comment thread Makefile
Comment thread tools/scripts/install_csi.sh Outdated
Comment thread tools/scripts/uninstall_csi.sh Outdated
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.92%. Comparing base (872920d) to head (8948738).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5028      +/-   ##
==========================================
+ Coverage   83.90%   83.92%   +0.02%     
==========================================
  Files         176      176              
  Lines       21546    21546              
==========================================
+ Hits        18078    18083       +5     
+ Misses       2769     2766       -3     
+ Partials      699      697       -2     
Flag Coverage Δ
unittests 83.92% <ø> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown

Hi @kislaykishore, your feedback is needed to move this pull request forward. This automated reminder was triggered because there has been no activity for over 24 hours. Please provide your input when you have a moment. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

remind-reviewers Auto remind reviewers in attention set for review post 24hrs of inactivity on PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant