| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
@remibergsma @ustcweizhou This might be of interest to you guys as well. |
Sorry, something went wrong.
|
Nice work @kiwiflyer @nathanejohnson, thanks! Will give it a go soon. |
Sorry, something went wrong.
|
Very nice indeed! I will take a look asap. |
Sorry, something went wrong.
|
We are deploying this to our QA environment right now and hope to have it tested in a few days. Great work @kiwiflyer and @nathanejohnson. |
Sorry, something went wrong.
|
Thanks for this PR @nathanejohnson, I will build it and run smoketests agains it. |
Sorry, something went wrong.
|
@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Sorry, something went wrong.
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-522 |
Sorry, something went wrong.
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Sorry, something went wrong.
|
Trillian test result (tid-878)
|
Sorry, something went wrong.
|
@nathanejohnson Thanks, for this good enhancement. Can we have a marvin tests that covers the new functionality? |
Sorry, something went wrong.
| if (getGuestDiskModel(vmTO.getPlatformEmulator()) == DiskDef.DiskBus.SCSI) { | ||
| final SCSIDef sd = new SCSIDef((short)0, 0, 0, 9, 0); | ||
| devices.addDevice(sd); | ||
| s_logger.debug("Adding scsi definition:\n" + sd.toString()); |
There was a problem hiding this comment.
Might want to include the name of the VM here as well? And SCSI is written in upper-case.
Sorry, something went wrong.
|
|
||
| if (diskBusType == null) { | ||
| diskBusType = getGuestDiskModel(vmSpec.getPlatformEmulator()); | ||
| s_logger.debug("disk bus type derived from getPlatformEmulator: " + vmSpec.getPlatformEmulator() + ", diskbustype is: "+diskBusType.toString()); |
There was a problem hiding this comment.
Same here, please add the name of the VM
Sorry, something went wrong.
| } | ||
| } | ||
|
|
||
| s_logger.debug("Adding disk: " + disk.toString()); |
There was a problem hiding this comment.
Same here, please include the name of the VM
Also, do we really need all these logging lines?
Sorry, something went wrong.
|
As an update, I'm working on a Marvin test, and I'm also planning to address wido's concerns. Today had many distractions unfortunately. |
Sorry, something went wrong.
|
@nathanejohnson thank you, let me know when you're done with the changes so I could kick in smoke tests. |
Sorry, something went wrong.
|
@wido I have removed the extraneous log messages. @borisstoyanov I have added a smoke test for this that tests both virsh output from the host and lspci / lsblk output from the guest. Here is the output from me running this in a bubble: Test that libvirt properly created domain with scsi controller ... === TestName: test_01_verify_libvirt | Status : SUCCESS === ok Verify that libvirt settings are as expected after a VM stop / start ... === TestName: test_02_verify_libvirt_after_restart | Status : SUCCESS === ok Verify that libvirt settings are expected after a disk add ... === TestName: test_03_verify_libvirt_attach_disk | Status : SUCCESS === ok Verify that guest sees scsi controller and disks ... === TestName: test_04_verify_guest_lspci | Status : SUCCESS === ok ---------------------------------------------------------------------- Ran 4 tests in 658.770s OK |
Sorry, something went wrong.
|
Thanks @nathanejohnson, lets run that with BO |
Sorry, something went wrong.
|
@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Sorry, something went wrong.
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-552 |
Sorry, something went wrong.
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Sorry, something went wrong.
|
@borisstoyanov Quick questions, what tags need to be present to get picked up by BO? I'm worried my smoke test might get skipped. |
Sorry, something went wrong.
|
Trillian test result (tid-921)
|
Sorry, something went wrong.
|
@borisstoyanov so the good news is it didn't skip the test. the bad news is it didn't seem to have proper credentials for ssh'ing into your hosts. It did pass the test where it ssh'ed into the guest, however. So this at least demonstrates a guest is happy. Do you have any tips on ways of making the smoke test play nice with BO wrt ssh'ing into the kvm hosts? |
Sorry, something went wrong.
|
Thanks @nathanejohnson I will have a look |
Sorry, something went wrong.
|
Tested it manually, works great. LGTM. |
Sorry, something went wrong.
|
@nathanejohnson sure, sorry I've missed your comment about the test fix earlier. |
Sorry, something went wrong.
|
@borisstoyanov a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress. |
Sorry, something went wrong.
|
Packaging result: ✔centos6 ✔centos7 ✔debian. JID-577 |
Sorry, something went wrong.
|
@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests |
Sorry, something went wrong.
|
Trillian test result (tid-938)
|
Sorry, something went wrong.
There was a problem hiding this comment.
Thanks @nathanejohnson, tests results are looking good now, there are some failures but they are known issues. LGTM
Sorry, something went wrong.
|
tag:mergeready |
Sorry, something went wrong.
|
I would like to give a LGTM, but it's only the logging lines which I don't like yet. They seem like personal debug lines, but a admin will never know what they actually mean. In addition, I would like to see discard/unmap enabled by default for Virtio-SCSI disks: https://blog.widodh.nl/2015/12/using-trimdiscard-with-ceph-rbd-and-libvirt/ This will also allow for QCOW2 and RBD trimming. |
Sorry, something went wrong.
|
@wido I have removed all of the debug logging statements that didn't exist before I touched the code, I have also added the discard option to the disks. |
Sorry, something went wrong.
|
Do we want to pass the unmap not as a string? Shouldn't that be a enum? |
Sorry, something went wrong.
|
@wido Actually I was just about to push a commit that changed the string to enum, but builds are failing locally because of this test: assertTrue(QuotaAlertManagerImpl.getDifferenceDays(now, new DateTime(now).plusDays(1).toDate()) == 1L); Daylight savings time strikes again |
Sorry, something went wrong.
|
@nathanejohnson: Good! I would like to see that being enums. |
Sorry, something went wrong.
|
I just re-depoyed and re-ran the test: Test that libvirt properly created domain with scsi controller ... === TestName: test_01_verify_libvirt | Status : SUCCESS === ok Verify that libvirt settings are as expected after a VM stop / start ... === TestName: test_02_verify_libvirt_after_restart | Status : SUCCESS === ok Verify that libvirt settings are expected after a disk add ... === TestName: test_03_verify_libvirt_attach_disk | Status : SUCCESS === ok Verify that guest sees scsi controller and disks ... === TestName: test_04_verify_guest_lspci | Status : SUCCESS === ok Update os type to Ubuntu, change vm details rootdiskController ... === TestName: test_05_change_vm_ostype_restart | Status : SUCCESS === ok Verify that guest sees scsi controller and disks after switching ostype and rdc ... === TestName: test_06_verify_guest_lspci_again | Status : SUCCESS === ok ---------------------------------------------------------------------- Ran 6 tests in 785.914s OK @wido , I believe all of your concerns should be addressed. trim is enabled, it's using an enum and not a string, and spurious log messages have been eliminated. I have squashed all of the commits into one. I'm at a point where I'm happy with the code. |
Sorry, something went wrong.
|
LGTM from the code Awesome work! |
Sorry, something went wrong.
This adds support for virtio-scsi on KVM hosts, either for guests that are associated with a new os_type of 'Other PV Virtio-SCSI (64-bit)', or when a VM or template is regstered with a detail parameter rootDiskController=scsi. Update cloudstack add template dialog to allow for selecting rootDiskController with KVM Update cloudstack kvm virtio-scsi to enable discard=unmap
|
@karuturi 3 x LGTM, testing successful. Ready for Merge. |
Sorry, something went wrong.
|
Yes, we are indeed ready for a merge. Shall we do that? |
Sorry, something went wrong.
|
merging.. |
Sorry, something went wrong.
|
@nathanejohnson @wido @remibergsma @karuturi @kiwiflyer @dmambry |
Sorry, something went wrong.
|
@DaanHoogland @wido @remibergsma @karuturi @kiwiflyer I think I see the issue with the test, I should hopefully have a new PR opened later today. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
This is an initial implementation that we have working in the lab.
win_virtio_scsi.xml.zip
@wido @syed Would love to get some feedback on this approach.