test(e2e): stage AWS pull artifacts in S3 - #18662
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
The kubetest2-kops deployer stages AWS build artifacts in an ephemeral S3 bucket to exercise the s3:// KOPS_BASE_URL path from kubernetes#18661. The bucket name uses the full BUILD_ID so separate kubetest2 invocations derive the same name without sharing state. The deployer creates the bucket during --build and deletes it during --down or after Build or Up fails. It never manages buckets supplied through KOPS_STAGING_BUCKET. Without BUILD_ID, staging continues to use GCS. Names over S3's 63-character limit fail instead of being truncated, avoiding collisions between jobs. s3-publish-ci re-exports AWS_REGION because the Makefile unexports it and hack/upload needs it to resolve the AWS CLI region. Uploads use --private because the bucket policy grants public read while its public access block settings reject object ACLs. upgrade.sh delays acquiring version B artifacts until after kubetest2 --down because teardown deletes staged artifacts. It builds a local version B binary first so cleanup can run before that acquisition.
a902e4d to
d1b19e5
Compare
|
PR needs rebase. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
The kubetest2-kops deployer stages AWS build artifacts in an ephemeral S3 bucket to exercise the s3:// KOPS_BASE_URL path from #18661. The bucket name uses the full BUILD_ID so separate kubetest2 invocations derive the same name without sharing state. The deployer creates the bucket during --build and deletes it during --down or after Build or Up fails. It never manages buckets supplied through KOPS_STAGING_BUCKET. Without BUILD_ID, staging continues to use GCS. Names over S3's 63-character limit fail instead of being truncated, avoiding collisions between jobs.
s3-publish-ci re-exports AWS_REGION because the Makefile unexports it and hack/upload needs it to resolve the AWS CLI region. Uploads use --private because the bucket policy grants public read while its public access block settings reject object ACLs.
upgrade.sh delays acquiring version B artifacts until after kubetest2 --down because teardown deletes staged artifacts. It builds a local version B binary first so cleanup can run before that acquisition.
/cc @rifelpet @ameukam