Repository navigation
Conversation
ekohl
left a comment
There was a problem hiding this comment.
This reads well. Perhaps you could also add an acceptance test that exercises the new code paths? Or would that be too hard?
b144b92 to
c882d2a
Compare
|
Added in c882d2a. The acceptance test applies the S3 configuration twice, verifies the package and generated settings, and runs It is limited to the nightly repository because |
|
I can take a look tomorrow too. I'm using S3, and was doing some bits in my profile code around it, that I was planning to turn into some upstream module patch at some stage. |
alexjfisher
left a comment
There was a problem hiding this comment.
LGTM. I can't see anything I currently have fudged into my profile that couldn't be replaced when this goes into the module.
c882d2a to
b16430f
Compare
| @@ -0,0 +1,38 @@ | |||
| require 'spec_helper_acceptance' | |||
|
|
|||
| if fact('pulpcore_version') == 'nightly' | |||
There was a problem hiding this comment.
The tests don't fail so I think it isn't being executed now. The fact is probably not set.
There was a problem hiding this comment.
You're right: the S3 examples were skipped. Fixed in b39d3e3 by reading BEAKER_FACTER_pulpcore_version, which the CI matrix actually exports. The default local value is nightly as well.
I also corrected the installed-package assertion: pulpcore-storage-s3 is an RPM capability, so the test now uses rpm -q --whatprovides rather than treating it as a package name. Nightly acceptance still requires the package from theforeman/pulpcore-packaging#3189 to be published.
Ruby syntax passes; the full acceptance run is in CI.
a7ff9e6 to
b39d3e3
Compare
Install the Pulpcore S3 package capability and configure Django storage while preserving filesystem defaults and local static assets. Select nightly acceptance coverage through the BEAKER_FACTER_pulpcore_version environment value supplied by the test matrix. AI-Assisted-By: GPT_5.6 Sol (project signature) AI-Tool: Codex (GPT-6)
b39d3e3 to
18b26e5
Compare
|
The prerequisite pulpcore-packaging#3189 is merged, and the S3 metapackage is published in both EL9 and EL10 nightly repositories. Refreshed the branch in 18b26e5 to rerun the acceptance matrix against the available package; the S3 implementation is unchanged. |
ekohl
left a comment
There was a problem hiding this comment.
I suspect you'll also run into theforeman/pulpcore-packaging#3259 so perhaps you can wait with updating this PR until it's been resolved. That saves some CI resources.
| @@ -0,0 +1,38 @@ | |||
| require 'spec_helper_acceptance' | |||
|
|
|||
| if ENV.fetch('BEAKER_FACTER_pulpcore_version', 'nightly') == 'nightly' | |||
There was a problem hiding this comment.
I'm still not quite sure about this. It will mean we won't test everything automatically when we add new versions. How about we skip it on known incompatible versions and then list it as a known limitation on https://github.com/theforeman/puppet-pulpcore#support-policy?
| if ENV.fetch('BEAKER_FACTER_pulpcore_version', 'nightly') == 'nightly' | |
| # Older versions don't ship s3 support | |
| unless %w[3.63 3.73 3.85 3.105].include?(ENV['BEAKER_FACTER_pulpcore_version']) |
There was a problem hiding this comment.
I have prepared this locally: the S3 tests skip only 3.63, 3.73, 3.85 and 3.105, so newly added versions are included automatically. The support policy documents that these Foreman package repositories lack the required pulpcore-storage-s3 capability, rather than implying that Pulp itself cannot use S3. Ruby syntax and the version-selection check passed. I am holding the push until theforeman/pulpcore-packaging#3259 is resolved to avoid spending CI resources on the known packaging blocker.
Summary
Add optional S3-compatible content storage through
storage_backendandstorage_options. Filesystem content storage remains the default.Install the stable
pulpcore-storage-s3capability, pass storage options todjango-storages, preserve Django's local static-file backend, and omitMEDIA_ROOTand the unused media directory for S3.Dependency
The prerequisites pulpcore-packaging#3186 and #3189 have merged. The S3 metapackage is now published in the nightly EL9 and EL10 repositories. This branch was rebased onto current master and acceptance CI restarted against that package availability.
Testing
pulpcore-manager check. It checks configuration and dependency loading, not an S3 upload/download round trip.BEAKER_FACTER_pulpcore_version, matching the CI matrix. It defaults to nightly for local runs.git diff --checkpassed locally. Full unit and acceptance tests run in upstream CI; the local bundle is not installed. Static validation has passed; the acceptance matrix is still queued or running.AI assistance: Codex. Project signature: GPT_5.6 Sol.