On Mon, Jul 18, 2016 at 08:25:40PM +0200, Tomasz Flendrich wrote:
Thank you for your reply!I know you weren't aiming for that, but this got me thinking, are we checking that unplug works with not fully specified XML? I mean that when unplugging, you don't need to specify everything. Whatever uniquely identifies the device should be enough. So for example just address or target, definitely no need for the readonly and shareable flags. But as said, that's not meant to be part of this patch.I have thought about that before and I agree that a few tests for this would be useful. I decided not to add them yet, because of the issue I explained in another patch:So far, there is only one test for persistent attachment. I will add more testcases as soon as I hear some feedback on these changes. qemuhotplugtest.c should first be modified anyway, so that the three xmls's filenames (basis domain xml, device xml, expected xml) are stated explicitly instead of being calculated. This will allow for more flexibility in testing and less xml files duplicates.link to that patch: https://www.redhat.com/archives/libvir-list/2016-July/msg00595.html Adding tests will be a lot easier and without xml files duplication. I can implement it now, but should I do it on top of the patch “Test persistent device attachment”, parallelly to it, or wait for the feedback?[…]vde2 is an address for a partition. This works? I don't think it should. [...][…]This ...[…]... and this? This will never work, so that's another bug right here.Yay, I am very happy that my tests proved to be useful so fast :) What exactly is the problem with “vde2”? And is it working properly if we change “vde2” to “vdea”?
The vde2 is second partition on disk vde. We just use the vde part. I guess we support it just because reasons.
The second problem is that the device aliases are the same for two different devices. Am I correct?
Yes, no hypervisor will probably allow you to do that.
+ <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0001'/>By the way, attaching a device without explicit address and without target dev= specified (only bus='virtio') Should work and that would actually test address allocation. By allocating disk with target dev='XX' the address gets calculated from that device, so no allocation is being tested.I consider reserving/validating addresses as a part of address allocation, because they are connected to each other: if some address is reserved, it can’t be automatically allocated for another device, and vice versa. So I want to test both of them. But you are totally right and thank you :) In this patch I added a test for both of these mixed together: please, take a look at the last three DO_TEST_* in my patch. The first two actions (an attachment and a detachment) are with explicit addresses, and the last action (an attachment) is with an implicit address.
But the problem is that you are not checking any assignment. The code is not executed at all. That's because you specify 'target dev=' from which we're trying to guess the right address. Because virDomainDeviceDefPostParseInternal() is ran for the device definition and it calls virDomainDiskDefAssignAddress() which in turn calls virDiskNameToIndex().
There are a lot of possibilities to test, for example the first attachment could also be done with an implicit address. I will write tests for more cases with pleasure.
We don't need to test every single thing, we should keep in mind that most of the things will be caught anyway and (hopefully) every developer is running all of them every now and then so it consumes time as well... Few parts could get a good scrub, actually. Anyway, as I said, there is no need to test every possible combination, I just wanted to mention that so that you know. Sorry for the late review, I need to get up to speed.
Tomasz
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list