Skip to content

S4 variable cleanup#85

Merged
treddy08 merged 15 commits intomainfrom
s4-variable-cleanup
Mar 13, 2026
Merged

S4 variable cleanup#85
treddy08 merged 15 commits intomainfrom
s4-variable-cleanup

Conversation

@treddy08
Copy link
Contributor

No description provided.

treddy08 and others added 15 commits March 13, 2026 16:44
- New role: ocp4_workload_s4 deploys S4 (Super Simple Storage Service) via GitOps
- S4 provides S3-compatible object storage using Ceph RADOS Gateway
- Supports optional S3 bucket creation with configurable bucket list
- Modified ocp4_workload_quay_operator to use S4 storage backend instead of Noobaa
- Uses RadosGWStorage driver for internal Kubernetes service endpoint
- Refactored S4 user info messages to use loop pattern for cleaner code
- Updated GitOps role to use debug output (temporary for testing)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…lity

- Add ocp4_workload_quay_operator_use_s4_storage boolean (default: false)
- When false: preserves exact original Noobaa/OCS behavior from main branch
- When true: enables new S4 storage backend functionality
- Separate conditional code paths ensure zero impact on existing deployments
- Restored original agnosticd_user_info calls for proper AgnosticD integration
- Updated documentation to explain both storage backend options
- No additional steps or overhead for default Noobaa usage

This ensures existing workloads continue working without any changes while
allowing users to opt-in to S4 storage by explicitly setting the boolean.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Remove testing changes to GitOps role - restore original agnosticd_user_info.
This role is unchanged from main branch.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Config bundle will always be created fresh during new installations,
no need to delete existing secret first.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Use fully qualified collection name for agnosticd_user_info module calls
to ensure proper module resolution.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Renamed from ocp4_workload_quay_operator_use_s4_storage for better
naming consistency with other enabled/disabled boolean variables.

Updated in:
- defaults/main.yml
- tasks/workload.yml
- templates/config.yaml.j2
- templates/quay_registry.yaml.j2
- readme.adoc

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Removed s4_credentials_secret.yaml.j2 template (unused)
- S4 credentials are embedded directly in config bundle secret via config.yaml.j2
- Consolidated duplicate resource creation tasks into single unconditional task
- Both Noobaa and S4 modes now create identical resources (namespace, config, registry)
- Storage backend differentiation happens in config.yaml.j2 template based on s4_storage_enabled flag

This simplifies the logic and removes unnecessary overhead.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Changed image tag from 'latest' to '0.3.2' for version pinning
- Changed pull policy from 'Always' to 'IfNotPresent' (best practice for versioned images)
- Ensures consistent deployments with specific S4 version

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Changed chart_revision from 'main' to 'v0.3.2' to match image tag
- Ensures Helm chart and container image versions are aligned
- Provides stable, versioned deployment

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Renamed ocp4_workload_s4_route_s3_enabled to ocp4_workload_s4_route_s3_api_enabled
to make it clear this controls the S3 API route, not just any S3 route.

Updated in:
- defaults/main.yml
- tasks/workload.yml
- templates/application.yaml.j2
- readme.adoc

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Renamed ocp4_workload_s4_route_s3_host to ocp4_workload_s4_route_s3_api_host
to match the naming convention of ocp4_workload_s4_route_s3_api_enabled.

Updated in:
- defaults/main.yml
- templates/application.yaml.j2

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Renamed internal variables for clarity:
- _ocp4_workload_s4_s3_endpoint_internal → _ocp4_workload_s4_s3_api_endpoint_internal
- _ocp4_workload_s4_s3_endpoint_external → _ocp4_workload_s4_s3_api_endpoint_external

Also renamed user data output fields:
- s4_s3_endpoint_internal → s4_s3_api_endpoint_internal
- s4_s3_endpoint_external → s4_s3_api_endpoint_external

All S3-related variables now consistently include 'api' in their names.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Removed configurable variables and hard-coded values directly:
- Application/Deployment waits: 60 retries, 10 second delay
- Route waits: 30 retries, 5 second delay (already hard-coded)
- Bucket job waits: 30 retries, 5 second delay (already hard-coded)

Removed from defaults/main.yml:
- ocp4_workload_s4_wait_retries
- ocp4_workload_s4_wait_delay

Kept ocp4_workload_s4_wait_for_deployment boolean flag to enable/disable waiting.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Renamed variables by removing redundant 'route_' prefix:
- ocp4_workload_s4_route_s3_api_enabled → ocp4_workload_s4_s3_api_enabled
- ocp4_workload_s4_route_s3_api_host → ocp4_workload_s4_s3_api_host

These variables already clearly relate to S3 API functionality, so the 'route_'
prefix adds unnecessary verbosity. The variables still control route creation
for the S3 API.

Updated in:
- defaults/main.yml
- tasks/workload.yml
- templates/application.yaml.j2
- readme.adoc

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@treddy08
Copy link
Contributor Author

Forcing merge as this is a new role and is unused

@treddy08 treddy08 merged commit 9d6e3b5 into main Mar 13, 2026
2 checks passed
@treddy08 treddy08 deleted the s4-variable-cleanup branch March 13, 2026 09: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.

1 participant