Remove MC from AWS Appframework Tests (Phase 1)#1868
Draft
gabrielm-splunk wants to merge 15 commits into
Draft
Conversation
Version 3.0.0 was inadvertently removed by automated PR (commit 1139fcf) when 3.1.0 was added. Customers reported the version missing from `helm search repo` results. Changes: - Restored 3.0.0 packaged chart from git tag - Added 3.0.0 entries to docs/index.yaml for both splunk-enterprise and splunk-operator charts - Chart digest: db5890e3bcc95f9ca7298873cc08b4a5d1ee86ccb4ad4e5334a0ab5d7a5fdb5e Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update index.yaml with correct SHA256 digests matching actual tarballs: - splunk-enterprise-3.0.0: ae82f6c8edee4d827817fe6c9c6447c422a03c59595a0f6e779cef847a83b611 - splunk-operator-3.0.0: bd318b1f4022421a3fd429b186ca344c61d04a3c2bbdd5cc535d960773558e44 Resolves comment from vivekr-splunk on PR #1832 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit addresses four vulnerability findings from the container scanner: - VULN-71179: Upgrade github.com/aws/aws-sdk-go-v2/service/s3 from v1.84.1 to v1.99.0 - VULN-71171: Upgrade go.opentelemetry.io/otel/sdk from v1.40.0 to v1.43.0 - VULN-71183: Upgrade github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream from v1.6.11 to v1.7.8 - VULN-71182: Upgrade Go stdlib from v1.25.8 to v1.26.2 All dependency updates meet or exceed the minimum versions required by the container scanner. Unit tests pass with 83.6% composite coverage. Jira: VULN-71179, VULN-71171, VULN-71183, VULN-71182 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Update Go version references in build configuration files to match the go.mod update for VULN-71182 compliance. Files updated: - Dockerfile: golang:1.25.8 -> golang:1.26.2 - Dockerfile.distroless: golang:1.25.8 -> golang:1.26.2 - .env: GO_VERSION=1.25.8 -> GO_VERSION=1.26.2 GitHub Actions workflows automatically use GO_VERSION from .env, so no workflow file changes are needed. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Introduce a feature gate registry backed by k8s.io/component-base/featuregate so new capabilities can be gated behind --feature-gates=<Gate>=true|false with Alpha/Beta/GA lifecycle. Migrate the validation webhook toggle from the ENABLE_VALIDATION_WEBHOOK env var to a ValidationWebhook feature gate with backwards-compatible env var support. - Add pkg/config/featuregates.go registry with SetupFeatureGates and IsFeatureGateEnabled helpers, plus unit tests - Wire feature gate flags into cmd/main.go and log effective gate states at startup - Use os.LookupEnv for ENABLE_VALIDATION_WEBHOOK so the deprecation warning fires whenever the env var is set, not just when it equals "true" - Update kustomization files with SPLUNK_GENERAL_TERMS value - Add docs/FeatureGates.md with usage and instructions for adding new gates - Update docs/ValidationWebhook.md with CLI-over-env-var precedence note
* Embed values * Embed values * Move fixtures * Fix copyrights
Fix container scan vulnerabilities (VULN-71179, VULN-71171, VULN-71183, VULN-71182)
Restore helm chart version 3.0.0 to repository index
Add splunkOperator.featureGates map to values so operators can enable feature gates via helm install/upgrade without per-gate chart modifications. A helper template formats the map into a single --feature-gates=Key1=true,Key2=false arg; the deployment template conditionally includes it when the map is non-empty. Also introduces helm-unittest with Makefile targets (helm-lint, helm-test, helm-check) and fixes a pre-existing nindent bug in the extraEnvs rendering.
* upgrade moby/spdystream version * update ubi8 minimal image
* Feature/CSPL-4397 Eliminate reliance on time in tests (#1735) * CSPL-4397 Remove time dependency from tests * CSPL-4397 Removing test reliance on time * CSPL-4397 Adjusting timeouts * CSPL-4354 Fixing time dependencies in unit tests and fixing timeouts in integ tests * CSPL-4397 Move to using watch * CSPL-4397 Refactor pod reset detection to use UID-based tracking instead of time-based comparison, add fail-fast test prerequisites validation, and improve code clarity with variable renaming * CSPL-4397 Refactoring * CSPL-4397 Addressing comments * CSPL-4602 Moving duplicated code for LM tests to a shared codebase (#1768) * CSPL-4602 Moving duplicated code for LM tests to a shared codebase * CSPL-4602 Addinf license manager tests to workflows * CSPL-4602 Address comments * CSPL-4602 Moving LM shared test utils to licensemanager package * CSPL-4602 Addressing base branch changes * Feature/cspl 4377 remove panic from test (#1777) * CSPL-4377 Get rid of not expected panic in tests * CSPL-4377 Check error for app disablement in tests * CSPL-3775 Extract setup/teardown functions * CSPL-3775 Extract common code for secret tests * CSPL-3775 Extract CRUD common code * CSPL-3775 Extract common code for smartstore tests * CSPL-3775 Combining code into re-usable functions * CSPL-3775 Fix pipeline issues after the changes * CSPL-3775 Refactoring app fw tests to use before each and after each code * CSPL-3775 Extracting common constants * CSPL-3775 Ingest functions * CSPL-3775 Move verify prerequisites to setup * CSPL-3775 Remove constants that already exist * CSPL-3775 Standardizing suite_test.go * CSPL-3775 Remove unused functions * CSPL-3775 Replcaing duplicates among different tests * CSPL-3775 Eliminating duplicated v3/v4 branching logic * CSPL-3775 Each test case delegates to a shared Run*Test function, keeping the test file as a thin dispatch layer * CSPL-3775 Standardize test code by fixing typos in log messages/comments, removing duplicate helpers, replacing inline logic with shared utilities * CSPL-3775 Consistency improvements * Fix Silent Failures (#1785) * Enhance error handling in WaitforPhaseChange and fix variable name in NewTestCaseEnv * Updated WaitforPhaseChange to log an error if the phase transition is not observed within the timeout. * Corrected the variable name check in NewTestCaseEnv to use the provided name instead of an uninitialized envName. * Changed Kind from "ClusterManager" to "ClusterMaster" in ClusterMaster struct. * Update error logging in WaitforPhaseChange to use Error level for timeout observations * CSPL-3775 Refactoring - common naming, format and making sure functinality is not malformed * CSPL-3775 Eliminate duplicated verification patterns, fix redundant code, and standardize naming, godoc comments, and constants for consistency * CSPL-3775 Reorganizing utils * CSPL-3775 Removing gomega/ginkgo from utils * CSPL-3775 Addressing timeout comments * CSPL-3775 Fix test failures * CSPL-3665 Fix License Manager tests * CSPL-3775 Removing duplicates * CSPL-3775 Move assertions out of helper functions * CSPL-3775 Remove redundant inputs * CSPL-3775 Final polishing to remove duplicates and make codebase more consistent * CSPL-3775 Restoring accidentally removed test cases * CSPL-3775 Making some improvements * CSPL-3775 Adjust timeouts * CSPL-4378 Adding timeout to app fw verification * CSPL-4378 Fix failing managersmartstore test * CSPL-3775 Revert changes that only match v3, skipped for v4 * CSPL-3775 Restoring backward compatibility * CSPL-3775 Add missing assertions * CSPL-3775 Add missing assertions * CSPL-3775 Fixing manager smart store tests * CSPL-3775 Increase timeout for app fw * CSPL-3775 Adjust timeouts * CSPL-3775 Increasing timeouts * CSPL-3775 Fix introduced backward incompatibility * CSPL-3775 Fix failing helm tests --------- Co-authored-by: Jakub Buczak <jbuczak@splunk.com>
Removes unnecessary Monitoring Console deployments from AWS appframework test suite (s1, m4, c3). MC is not the test subject in these tests, just an incidental deployment adding 4-9 minutes overhead per test. Changes: - Remove MC deployment sections (S3 uploads, app framework specs) - Remove MonitoringConsoleRef from CR specs - Pass empty string for mcRef parameters in deployment functions - Remove MC verification calls (VerifyMonitoringConsoleReady) - Remove MC app source info from verification arrays - Remove MC pod arrays from verification logic - Update test comments to remove MC references - Fix variable scoping issues post-MC removal Files Modified: - test/appframework_aws/s1/appframework_aws_test.go (303 lines removed, 9 tests) - test/appframework_aws/m4/appframework_aws_test.go (209 lines removed, 15 tests) - test/appframework_aws/m4/manager_appframework_test.go (143 lines removed, 17 tests) - test/appframework_aws/c3/appframework_aws_test.go (141 lines removed, 2 tests) - test/appframework_aws/c3/manager_appframework_test.go (207 lines removed, 22 tests) Total: 1,049 lines removed (net), 65 tests modified, all files compile successfully. Expected impact: 2-3 hour reduction in AWS appframework test runtime (65 tests × 4-9 minutes per test = 260-585 minutes saved). Refs: /remove-mc-infrastructure skill, sok-testing-expert
Remove extra blank lines per go fmt standards.
Accept typo fix (sucessful→successful) and keep MC removed from comments
d64c9dd to
22e4978
Compare
9ff69a7 to
4f42692
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Removes unnecessary Monitoring Console deployments from AWS appframework tests (s1, m4, c3).
Motivation
MC is deployed in these tests but is not the test subject. Each MC deployment adds 4-9 minutes overhead per test. This PR removes MC from AWS appframework tests to improve test execution time.
Changes
Files Modified:
test/appframework_aws/s1/appframework_aws_test.go- 303 lines removed, 9 tests modifiedtest/appframework_aws/m4/appframework_aws_test.go- 209 lines removed, 15 tests modifiedtest/appframework_aws/m4/manager_appframework_test.go- 143 lines removed, 17 tests modifiedtest/appframework_aws/c3/appframework_aws_test.go- 141 lines removed, 2 tests modifiedtest/appframework_aws/c3/manager_appframework_test.go- 207 lines removed, 22 tests modifiedTotal: 1,049 lines removed (net), 65 tests modified
Specific Removals:
MonitoringConsoleReffrom CR specificationsVerifyMonitoringConsoleReady)Expected Impact
Time Savings: 2-3 hours per full AWS appframework test run
Resource Savings:
No Functionality Loss: MC is not being tested in these suites
Testing
✅ Compilation: All 5 files compile successfully with
ginkgo buildtest/appframework_aws/s1/s1.test- 35 MBtest/appframework_aws/m4/m4.test- 80 MBtest/appframework_aws/c3/c3.test- 120 MB⏳ CI Pipeline: GitHub Actions running (full test suite validation)
Related Work
/remove-mc-infrastructureskillChecklist
Notes
Previous MC removal attempts (PR #1864, #1865) were obsoleted by the PR #1788 refactor. This PR is based on fresh research of the post-refactor codebase.