New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extract Infra Provisioning Dependencies from Release Image #8300
Extract Infra Provisioning Dependencies from Release Image #8300
Conversation
WIP Getting to compile extract-tf.go changes Correctly extracting binaries from image WIP Working TF extraction WIP working terraform provider Bootstrap Destroy: Add PullSpec to Metadata Adds the release image pull spec to the cluster metadata so that the pull spec can be used to extract terraform providers for bootstrap destroy.
pkg/release/extract/extract-tf.go
Outdated
@@ -0,0 +1,665 @@ | |||
package extract |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This code is almost all cut-n-paste from https://github.com/openshift/oc/blob/master/pkg/cli/admin/release/extract_tools.go
commit Marked as WIP because:
- we can probably simplify more
- rename
- debug log messags need to be removed
/test altinfra-e2e-aws-ovn altinfra-e2e-azure-capi-ovn altinfra-e2e-gcp-capi-ovn altinfra-e2e-vsphere-capi-ovn With these changes we would probably be close to getting rid of the altinfra image. |
oops looks like I forgot to commit changes from |
e8d9348
to
29bd229
Compare
[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.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Extends the infrastructure provider interface to pass in cluster metadata for the purpose of using the release image pullspec contained therein. In the case of the standalone openshift-install boostrap destroy command, the tf providers will be extracted from the release image, but during bootstrap destroy as part of create cluster, the providers will have already been extracted and reused. The CAPI infrastructure provider may use this functionality in the future, but currently standalone bootstrap destroy functionality is not supported.
29bd229
to
51cc22f
Compare
/test altinfra-e2e-aws-ovn altinfra-e2e-azure-capi-ovn altinfra-e2e-nutanix-capi-ovn altinfra-e2e-vsphere-capi-ovn |
1 similar comment
/test altinfra-e2e-aws-ovn altinfra-e2e-azure-capi-ovn altinfra-e2e-nutanix-capi-ovn altinfra-e2e-vsphere-capi-ovn |
8c7763c
to
faf2fc2
Compare
Just need some place to stick the tf binaries so we can test extracting them. This was an easy way to do that. We would need to create a new standalone image where these could be extracted from.
go get github.com/openshift/oc/pkg/cli/image/imagesource@master
go mod tidy && go mod vendor
faf2fc2
to
fa8df7a
Compare
/test altinfra-e2e-aws-ovn Not sure why capi is failing with:
Local testing works fine. |
@patrickdillon: The following tests failed, say
Full PR test history. Your PR dashboard. Instructions 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/test-infra repository. I understand the commands that are listed here. |
Maybe because you're extracting a rhel9-based kas/etcd and running them in an installer container which is rhel8-based? |
We need to make sure this works with -multi release payloads as well. |
/hold Not a priority ATM. |
PR needs rebase. Instructions 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/test-infra repository. |
/test altinfra-e2e-aws-ovn |
/close |
@patrickdillon: Closed this PR. In response to this:
Instructions 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. |
Extracts terraform & terraform providers from the release image for terraform installs. Extracts kas & etcd for CAPI installs. (CAPI providers would be added in a later iteration.)
Extracting these dependencies from the release image means that Terraform dependencies would be platform specific, and Terraform would only be present on the installer host when the platform requires it.
It would also improve the build process. More details and plans to come.