Skip to content
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

[backport v1.3] [ENHANCEMENT] Prohibit users from resizing volume when vm is stopping. #5427

Closed
harvesterhci-io-github-bot opened this issue Mar 21, 2024 · 8 comments
Assignees
Labels
area/admission-mutating-webhook Admission and Mutating webhooks area/backend kind/enhancement Issues that improve or augment existing functionality not-require/test-plan Skip to create a e2e automation test issue
Milestone

Comments

@harvesterhci-io-github-bot

backport the issue #5407

@harvesterhci-io-github-bot
Copy link
Author

harvesterhci-io-github-bot commented Mar 22, 2024

Pre Ready-For-Testing Checklist

  • If labeled: require/HEP Has the Harvester Enhancement Proposal PR submitted?
    The HEP PR is at:

  • Where is the reproduce steps/test steps documented?
    The reproduce steps/test steps are at: There are two demos for reproduce and resolved in this PR enhancement: prohibit users from resizing volume when vm is stopping #5409, please check it to reproduce it.

  • Is there a workaround for the issue? If so, where is it documented?
    The workaround is at:

  • Have the backend code been merged (harvester, harvester-installer, etc) (including backport-needed/*)?
    The PR is at: enhancement: prohibit users from resizing volume when vm is stopping (backport #5409) #5441

    • Does the PR include the explanation for the fix or the feature?

    • Does the PR include deployment change (YAML/Chart)? If so, where are the PRs for both YAML file and Chart?
      The PR for the YAML change is at:
      The PR for the chart change is at:

  • If labeled: area/ui Has the UI issue filed or ready to be merged?
    The UI issue/PR is at:

  • If labeled: require/doc, require/knowledge-base Has the necessary document PR submitted or merged?
    The documentation/KB PR is at:

  • If NOT labeled: not-require/test-plan Has the e2e test plan been merged? Have QAs agreed on the automation test case? If only test case skeleton w/o implementation, have you created an implementation issue?

    • The automation skeleton PR is at:
    • The automation test case PR is at:
  • If the fix introduces the code for backward compatibility Has a separate issue been filed with the label release/obsolete-compatibility?
    The compatibility issue is filed at:

@irishgordo irishgordo self-assigned this May 17, 2024
@irishgordo
Copy link

irishgordo commented May 17, 2024

Validation Question

@Yu-Jack - is there anyway to "slow down" the VM as it's "stopping"?
I'm running into the issue where it's just stopping "too quickly" to be able to resize the volume during it's "stopping" state as the VM transitions to "off" in a very short amount of time.

@Yu-Jack
Copy link
Contributor

Yu-Jack commented May 20, 2024

Validation Question

@Yu-Jack - is there anyway to "slow down" the VM as it's "stopping"? I'm running into the issue where it's just stopping "too quickly" to be able to resize the volume during it's "stopping" state as the VM transitions to "off" in a very short amount of time.

@irishgordo In my case, my stopping took about 20~30 seconds, I'm not sure if it's related to my environment which is single node harvester in my KVM of laptop or not. Maybe you can use lower performance equipment?

@irishgordo
Copy link

@Yu-Jack thanks for that mention 😄 👍
I feel like this is more common to be encountered on a virtualized environment and not on bare-metal.
I was never able to get this to be reproduced on bare-metal -only on virtualized.
But testing on Virtualized KVM this looks good 😄 👍 :

On Harvester v1.3-head ( Version: master-b6185038-head )

Screenshot from 2024-05-20 11-12-17
Screenshot from 2024-05-20 11-10-15
Screenshot from 2024-05-20 10-20-29
Screenshot from 2024-05-20 10-13-29

So I'll go ahead and close this out 👍

@irishgordo
Copy link

Re-Opening, need to revalidate due to:
harvester/harvester-installer#737

@irishgordo
Copy link

*Re-Validation
Revalidating on: qemu/kvm -> Version: v1.3-95b4f9dc-head

@Yu-Jack there seems to be an edge case:

Edge Case
If you start a VM and then stop the VM before the VM is running the user can still have the opportunity to resize the disk successfully without encountering the error message.

edgecase-2024-05-22_13.09.52.mp4

Other Validation
I can, but in-frequently, validate that the error message gets displayed, it is very difficult to reproduce.
Screenshot from 2024-05-22 12-49-53

In general, I feel comfortable mostly closing this out on the note of two general things:

  1. A user should absolutely not be using a virtualized Harvester cluster in any form of production or testing. Because this issue is "nearly impossible" to reproduce on a System 16 Cores 64 GB of memory physical node due to the fact the VMs or testing/non-heavy-io load VMs stop so quickly.
  2. The user "likely" will not encounter the edge case due to "starting" and "stopping" the VM right before the VM is "running" and manage to resize the volume, as this again -> may entirely hinge on a "virtualized harvester cluster" for the edge-case

What are your thoughts about the edge case?

@Yu-Jack
Copy link
Contributor

Yu-Jack commented May 23, 2024

@irishgordo Good catch. I think we could close this issue as well because user is not supposed to encounter this rare edge case in general. It's better to put the effort to other issues at this moment. But, it's very nice to note here. At least if the users have similar problem, we'll know it might relate to this one.

@irishgordo
Copy link

@Yu-Jack - this sounds good 😄 👍 - I'll go ahead and close this out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/admission-mutating-webhook Admission and Mutating webhooks area/backend kind/enhancement Issues that improve or augment existing functionality not-require/test-plan Skip to create a e2e automation test issue
Projects
None yet
Development

No branches or pull requests

3 participants