bhouse-nexthop commented on PR #14647:
URL: https://github.com/apache/cloudstack/pull/14647#issuecomment-6752447659

   ### Test report: resizing a virtual router's ROOT volume
   
   **Summary:** a size-only `resizeVolume` of a running router's ROOT volume is 
now refused, and neither the DB nor the RBD image changes. With the router 
stopped, the same resize is accepted.
   
   **Environment**
   - A CloudStack 24.0 (main) build with this PR, alongside some of my other 
open PRs. Three KVM hosts, Ceph RBD primary storage, one management server.
   - The PR targets 4.22; it wasn't run on a 4.22 build. 4.22's 
`orchestrateResizeVolume` also looks the VM up as a user VM only, and its 
`validateVolumeResizeWithSize` has no system VM check.
   - The router of a throwaway isolated network. Its ROOT volume was about 4.9 
GiB on RBD (the system VM template's size).
   
   **Steps and results**
   
   | Step | Result |
   |---|---|
   | `resizeVolume id=<router ROOT> size=5`, router Running | **refused**, 432 |
   | Size after the refusal | unchanged in the DB; `rbd info` still 4.9 GiB |
   | `stopRouter` | OK |
   | `resizeVolume id=<router ROOT> size=5`, router Stopped | accepted; the DB 
shows 5 GiB |
   
   Refusal message:
   ```
   Cannot resize volume [ROOT-477] of system VM r-477-VM while it is in state 
Running. Stop the system VM before resizing its volume.
   ```
   Before this PR, the same call on a running router succeeded and grew the RBD 
image, while the router's disk kept its old size until it restarted.
   
   The resized router was never started again. It was destroyed with its 
network at the end of the test.
   
   **Result:** pass.
   
   **Not covered**
   - Starting the router after the stopped resize, to see the guest use the new 
size.
   - The SSVM, CPVM and internal LB VMs: same check, covered by the unit tests.
   - `changeOfferingForVolume`, which goes through the same validation.
   - Other hypervisors.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to