Skip to content

gcp: Remove support for Licenses, only use public image #4696

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

Closed
wants to merge 1 commit into from

Conversation

cgwalters
Copy link
Member

@cgwalters cgwalters commented Feb 25, 2021

gcp: Ignore Licenses: vmx, only use public image

The history here is basically that originally for GCP, we
cloned a disk image, just like how Azure works today.

Then later, GCP cracked down on the allowable frequency of image
creation and told us to use public bootable images, so we started
uploading a public RHCOS base image.

But we originally did that without the nested virt license, so
the KubeVirt team added a PR to clone the image and add the
nested virt license.

And then finally, in 4.6 we fixed the CoreOS public image
to add the nested virt license by default (which also, GCP
recommended we do):
coreos/coreos-assembler@73320cf

So there's no need for any of this image cloning or license
stuff anymore. For compatibility (with e.g. the KubeVirt CI)
we silently ignore the enable-vmx licenses because it's
implicitly enabled by default anyways. Copying the image
to enable it is a pessimization in fact!

Other licenses are a fatal error - I am not aware of
any that anyone would want. And anyone who wants to
do something truly custom can use
the image override variable anyways; they don't have
to use our Terraform code. Or they can hack the installer
code.

Prep for using the stream metadata in
#4582

@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign wking after the PR has been reviewed.
You can assign the PR to them by writing /assign @wking in a comment when ready.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@cgwalters
Copy link
Member Author

A simple way to look at this is GCP now always works how we do AWS, we just boot the AMI references, we don't clone them.

// When set, this will cause the installer to copy the image into user's project.
// This option is incompatible with any mechanism that makes use of pre-built images
// such as the current env OPENSHIFT_INSTALL_OS_IMAGE_OVERRIDE
// Licenses support has been removed and must be empty.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a breaking change that we cannot make. We can deprecate the field, but we need to continue to support it.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compromise: we can detect the case where the only thing listed in the licenses is the nested virt, and silently ignore it because we do that by default.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated now with that compromise! cc https://github.com/amorenoz from #3430

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we had had that restriction to the nested virt license initially, this would be great. Unfortunately, we cannot add a restriction now.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I totally understand the PoV that this API was exposed and hence we need to support it ~forever. If you feel strongly about it, feel free to close this PR.

But again I'm pretty sure no actual customers or CI systems are using anything except nested virt.

The history here is basically that originally for GCP, we
cloned a disk image, just like how Azure works today.

Then later, GCP cracked down on the allowable frequency of image
creation and told us to use public bootable images, so we started
uploading a public RHCOS base image.

But we originally did that without the nested virt license, so
the KubeVirt team added a PR to clone the image and add the
nested virt license.

And then finally, in 4.6 we fixed the CoreOS public image
to add the nested virt license by default (which also, GCP
recommended we do):
coreos/coreos-assembler@73320cf

So there's no need for any of this image cloning or license
stuff anymore.  For compatibility (with e.g. the KubeVirt CI)
we silently ignore the `enable-vmx` licenses because it's
implicitly enabled by default anyways.  Copying the image
to enable it is a pessimization in fact!

Other licenses are a fatal error - I am not aware of
any that anyone would want.  And anyone who wants to
do something truly custom can use
the image override variable anyways; they don't *have*
to use our Terraform code.  Or they can hack the installer
code.

Prep for using the stream metadata in
openshift#4582
@openshift-ci-robot openshift-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 5, 2021
@openshift-ci-robot
Copy link
Contributor

@cgwalters: 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.

@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci openshift-ci bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 4, 2021
@jstuever
Copy link
Contributor

/uncc

@openshift-ci openshift-ci bot removed the request for review from jstuever June 24, 2021 19:17
@openshift-bot
Copy link
Contributor

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

@openshift-ci openshift-ci bot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 24, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Aug 30, 2021

@cgwalters: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Rerun command
ci/prow/verify-codegen 647f110 link /test verify-codegen
ci/prow/e2e-ovirt 647f110 link /test e2e-ovirt
ci/prow/e2e-aws 647f110 link /test e2e-aws
ci/prow/e2e-aws-workers-rhel7 647f110 link /test e2e-aws-workers-rhel7
ci/prow/e2e-aws-upgrade 647f110 link /test e2e-aws-upgrade
ci/prow/okd-verify-codegen 647f110 link /test okd-verify-codegen
ci/prow/okd-unit 647f110 link /test okd-unit
ci/prow/okd-images 647f110 link /test okd-images
ci/prow/e2e-aws-workers-rhel8 647f110 link /test e2e-aws-workers-rhel8

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.

@openshift-bot
Copy link
Contributor

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

@openshift-ci openshift-ci bot closed this Sep 29, 2021
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 29, 2021

@openshift-bot: Closed this PR.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants