Skip to content

Conversation

@rna-afk
Copy link
Contributor

@rna-afk rna-afk commented Jan 4, 2022

If an instance type that does not support HyperVGeneration version 1
then terraform returns an error mentioning there's support only for
V1. Adding a check during install config to check for the versions
supported by the instance type provided.

@openshift-ci openshift-ci bot added the bugzilla/severity-low Referenced Bugzilla bug's severity is low for the branch this PR is targeting. label Jan 4, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 4, 2022

@rna-afk: This pull request references Bugzilla bug 2025868, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target release (4.10.0) matches configured target release for branch (4.10.0)
  • bug is in the state NEW, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

Requesting review from QA contact:
/cc @MayXuQQ

Details

In response to this:

Bug 2025868: Check HyperVGenerations for instance type

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-ci openshift-ci bot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label Jan 4, 2022
@rna-afk rna-afk force-pushed the azure_check_hypergeneration branch 2 times, most recently from 9d063a9 to 2284454 Compare January 4, 2022 16:12
@rna-afk rna-afk requested a review from staebler January 4, 2022 18:04
@rna-afk rna-afk force-pushed the azure_check_hypergeneration branch from 2284454 to ed4cdad Compare January 4, 2022 18:20
@patrickdillon
Copy link
Contributor

I believe (am trying to get images in order to test) that Gen2 VMs may work with compute nodes when we use images from the Azure Marketplace.

Therefore, I think we should only run this validation against control plane nodes. Or perhaps also against compute nodes when a marketplace image is not being used.

If an instance type that does not support HyperVGeneration version 1
then terraform returns an error mentioning there's support only for
V1. Adding a check during install config to check for the versions
supported by the instance type provided.
@rna-afk rna-afk force-pushed the azure_check_hypergeneration branch from ed4cdad to ae6805b Compare January 4, 2022 18:36
@staebler
Copy link
Contributor

staebler commented Jan 4, 2022

I believe (am trying to get images in order to test) that Gen2 VMs may work with compute nodes when we use images from the Azure Marketplace.

Therefore, I think we should only run this validation against control plane nodes. Or perhaps also against compute nodes when a marketplace image is not being used.

The install config does not support using marketplace images for the compute nodes yet, though, right? It still requires the user manually adjusting the machineset manifests.

@patrickdillon
Copy link
Contributor

I believe (am trying to get images in order to test) that Gen2 VMs may work with compute nodes when we use images from the Azure Marketplace.
Therefore, I think we should only run this validation against control plane nodes. Or perhaps also against compute nodes when a marketplace image is not being used.

The install config does not support using marketplace images for the compute nodes yet, though, right? It still requires the user manually adjusting the machineset manifests.

Ah, yes, that is correct. So you can ignore my comment and once we add support in the install config we can skip this check (assuming the images do support Gen2).

@patrickdillon
Copy link
Contributor

On closer inspection, I believe what is happening is that we are creating the cluster image with the default Gen1 value (see https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/image#hyper_v_generation). This is going to create all VMs created from the image as Gen1.

I believe this image is used throughout the lifespace of the cluster. I think it would be worth investigating whether there are any gen1-only instance types we want to support. Otherwise, I think we could just set the image to have generation = 2. I will try a test install with that configuration.

@patrickdillon
Copy link
Contributor

By changing the hyper_v_generation on the image I was able to create a cluster of gen2 VMs. Seems like there are a few different ways we could take this.

@rna-afk
Copy link
Contributor Author

rna-afk commented Jan 6, 2022

Interesting so instead of this, can we just pass the generation value to terraform?

@patrickdillon
Copy link
Contributor

Interesting so instead of this, can we just pass the generation value to terraform?

I have been looking into this more and I think the best course of action is to add support for both Gen1 & Gen2 VMs in our next version.

I was hoping we could either just choose all Gen1 or Gen2, but I think the Instance Type landscape is too diverse to do that.

So I think what we should do as a new feature, is have the installer create two images, a gen1 and gen2 image. We would use code similar to what you have in this PR, but when an instance type has only gen1, we would set the gen1 image in the machineset and pass the values through to terraform for the masters. Otherwise we default to the gen2 image.

I'm not sure if code changes would be needed for the machine-api operator. I don't think they would be needed, but it would be necessary if a new machineset were created that a compatible image and instance type were specified. This would probably just be a matter of documentation.

So until we add this feature I am happy with this approach.

@rna-afk rna-afk requested a review from staebler January 10, 2022 13:23
@patrickdillon
Copy link
Contributor

/test e2e-azure
/lgtm
/approve

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 27, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 27, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 27, 2022
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

8 similar comments
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 27, 2022

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

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-workers-rhel8 ae6805b link false /test e2e-aws-workers-rhel8
ci/prow/e2e-azure-upi ae6805b link false /test e2e-azure-upi
ci/prow/e2e-alibaba ae6805b link true /test e2e-alibaba

Full PR test history. Your PR dashboard.

Details

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

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@rna-afk
Copy link
Contributor Author

rna-afk commented Jan 27, 2022

/skip e2e-alibaba

@rna-afk
Copy link
Contributor Author

rna-afk commented Jan 27, 2022

e2e-alibaba is failing and was set to required by mistake. Overriding it.

/skip

@openshift-merge-robot openshift-merge-robot merged commit 81b8ace into openshift:master Jan 28, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 28, 2022

@rna-afk: All pull requests linked via external trackers have merged:

Bugzilla bug 2025868 has been moved to the MODIFIED state.

Details

In response to this:

Bug 2025868: Check HyperVGenerations for instance type

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. bugzilla/severity-low Referenced Bugzilla bug's severity is low for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants