| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-06-12 | |||
| 15:12:58 | sean-k-mooney | bauzas: quickly looking i dont think either of those will fix the edgecase i am thinking of | |
| 15:13:09 | bauzas | sean-k-mooney: mmm N | |
| 15:13:10 | bauzas | ? | |
| 15:13:39 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Stop passing 'kwargs' to 'rebuild_instance' https://review.opendev.org/651312 | |
| 15:13:39 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove cells v1 parameter from 'ComputeTaskAPI.resize_instance' https://review.opendev.org/651311 | |
| 15:13:39 | sean-k-mooney | bauzas: if the instance is not found on the host in libvirt you retrun {] | |
| 15:13:40 | openstackgerrit | Stephen Finucane proposed openstack/nova master: filters: Stop handling cells v1 https://review.opendev.org/651314 | |
| 15:13:40 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Stop passing 'delete_type' to 'terminate_instance' https://review.opendev.org/651313 | |
| 15:13:41 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Add reno for removed cells v1 policies https://review.opendev.org/662031 | |
| 15:13:41 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove nova.compute.*API() shims https://review.opendev.org/660527 | |
| 15:13:42 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Ensure controllers all call super https://review.opendev.org/660950 | |
| 15:13:42 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove 'InstanceUnknownCell' exception https://review.opendev.org/662411 | |
| 15:13:47 | sean-k-mooney | bauzas: we can talk after standup | |
| 15:18:08 | sean-k-mooney | bauzas: basically if we stop the instance then we undefine the domain so if start it when we call _get_all_assigned_mediated_devices | |
| 15:18:18 | sean-k-mooney | bauzas: we retrun {} | |
| 15:18:41 | bauzas | I'm pretty sure I tested it | |
| 15:18:44 | stephenfin | mriedem: Are you okay for me to rebase https://review.opendev.org/#/c/621061/ onto the cells v1 removal series (all but one +W'd now). It conflicts with that series and I'd like to use it as a new base for https://review.opendev.org/#/c/651315/ | |
| 15:22:02 | mriedem | sure | |
| 15:22:19 | mriedem | maybe you want to re-apply your +2 when doing so | |
| 15:39:57 | Sundar | sean-k-mooney: Re. tempest CI with a fake driver/device, I have some questions | |
| 15:41:21 | Sundar | sean-k-mooney: When there is no real device, the VM bringup is going to fail. Not only that, there would be no VM in 'virsh list', so we can't do 'virsh dumpxml ...' to see if the right device(s) got attached. | |
| 15:41:37 | Sundar | So, how would would one do any testing? | |
| 15:42:45 | sean-k-mooney | Sundar: there are a few ways. one we can use dummy devices | |
| 15:43:10 | sean-k-mooney | but the intent is to test teh end to end workflow not assert a spcific device exits | |
| 15:43:35 | Sundar | What would be the success metric for the test? | |
| 15:46:43 | mriedem | Sundar: tempest isn't going to be doing virsh list anyway | |
| 15:46:57 | mriedem | tempest tests should be hypervisor agnostic, like the compute api should be hypervisor agnostic | |
| 15:47:27 | mriedem | Sundar: the basic success metric for tempest tests are going to be that the API behaves as expected, | |
| 15:47:49 | mriedem | i.e. if i create a server with a flavor configured for an ARQ device profile, that once the server is ACTIVE there is an attached ARQ in cyborg | |
| 15:48:02 | mriedem | and when the server is deleted, the corresponding ARQ resource is also deleted | |
| 15:49:08 | mriedem | Sundar: whitebox integration testing is something that would likely be done in a tempest plugin / tests that are configured to only run when there is real hardware in a 3rd party CI env | |
| 15:50:32 | Sundar | mriedem: "once the server is ACTIVE" -- with a fake device, it never becomes active. It will go to error state. | |
| 15:51:20 | mriedem | Sundar: because of the event not being sent from cyborg, or because libvirt will fail to start the domain? | |
| 15:51:26 | Sundar | We need to ensure the device gets attached to the VM | |
| 15:51:28 | sean-k-mooney | Sundar: not if we add a bus type for dummy devices and handel that in nova | |
| 15:51:54 | Sundar | mridem: latter - libvirt will fail it | |
| 15:52:13 | mriedem | then i agree with sean-k-mooney that we'd need to stub something out if we know we're using a fake device, | |
| 15:52:20 | sean-k-mooney | Sundar: we dont we jsut need to pass info to nova to let it know its a fake device and libivirt can just not try to atach it | |
| 15:52:22 | mriedem | which is gross, but i'd rather have that than no api integration testing | |
| 15:52:33 | Sundar | sean-k-mooney: 'bus type for dumy devices' -- is this a new thing? It is not there today, right? | |
| 15:52:54 | mriedem | wouldn't there be some metadata on the ARQ resource that can tell us (nova) that it's a fake device? | |
| 15:52:55 | sean-k-mooney | sure but its useful for testing | |
| 15:53:03 | mriedem | similar to vif type on a port | |
| 15:53:10 | mriedem | or type on a volume | |
| 15:54:06 | sean-k-mooney | Sundar: we have many thing we can do like have the fake driver create mdev or other software device like a loop device and tell nova to use those too | |
| 15:54:30 | sean-k-mooney | or we can have a sentenel that just tells nova its a fake device for testing | |
| 15:55:18 | Sundar | mriedem, sean-k-mooney: The attach handle in the ARQ, returned by Cyborg to Nova virt driver, will identify the type of the handle, e.g. 'PCI'. I could return a special type, say, 'testPCI', and modify Nova virt driver to ignore that | |
| 15:55:37 | Sundar | That would be used solely for testing | |
| 15:55:47 | sean-k-mooney | Sundar: yes that is basically what i was thinking wew would do | |
| 15:55:48 | mriedem | i'd just calle it "fake" or something like that but yeah | |
| 15:56:28 | Sundar | Ah ok. Got it. Thanks. :) | |
| 15:56:49 | sean-k-mooney | Sundar: the real thing we want to test is teh end to end workflow | |
| 15:57:08 | mriedem | s/real/main/ for now | |
| 15:57:21 | sean-k-mooney | :) right | |
| 15:57:28 | mriedem | real low-level whitebox integration testing can be done with 3rd party CI and real hardware, | |
| 15:57:34 | mriedem | but let's not get the cart before the horse | |
| 15:57:38 | sean-k-mooney | in a third party ci we can then also validate it with real hardware | |
| 15:57:56 | sean-k-mooney | yep | |
| 16:01:18 | stephenfin | mriedem: Cool. I spotted some other things when rebasing. Comments left and I've a follow-up patch I'll post. Feel free to squash it into yours if you want | |
| 16:01:56 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Drop pre-cinder 3.44 version compatibility https://review.opendev.org/621061 | |
| 16:01:57 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Follow-up for I6a777b4b7a5729488f939df8c40e49bd40aec3dd https://review.opendev.org/664967 | |
| 16:01:57 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove 'MultiattachNotSupportedByVirtDriver' https://review.opendev.org/651315 | |
| 16:03:48 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove 'MultiattachSupportNotYetAvailable' exception https://review.opendev.org/651315 | |
| 16:07:48 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: func test for migrate server with ports having resource request https://review.opendev.org/655113 | |
| 16:07:48 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: prepare func test env for moving servers with bandwidth https://review.opendev.org/655109 | |
| 16:14:03 | Nick_A | Do you guys have any tips for what we should look at to determine why cloud-init is working properly for us on lxd but not kvm? | |
| 16:18:50 | sean-k-mooney | if its working on lxd then the nova metadata service is working properly | |
| 16:19:41 | sean-k-mooney | it might be a diffrence in how netwroking works | |
| 16:20:18 | sean-k-mooney | you really need to try and trace the request | |
| 16:21:04 | sean-k-mooney | so if you can log into one of your kvm instnce try an curl the metadata api via the 169... adress | |
| 16:22:03 | sean-k-mooney | if you dont have a vm image with a password set for debuging then you can enable config drive to initally be able to log in to the vm and debug the issue | |
| 16:24:33 | Nick_A | thank you | |
| 16:34:42 | openstackgerrit | Lee Yarwood proposed openstack/nova master: libvirt: flatten rbd images when unshelving an instance https://review.opendev.org/457886 | |
| 16:37:58 | openstackgerrit | Adam Spiers proposed openstack/nova master: Add extra spec parameter and image property for memory encryption https://review.opendev.org/664420 | |
| 16:42:45 | mriedem | stephenfin: this shouldn't be stable-only i don't think but you might want to verify if the bug is legit https://review.opendev.org/#/c/664838/1 | |
| 16:48:59 | aspiers | efried: Slightly out of my depth here. So shall I go ahead and change spawn() to persist allocations as a new field in the Instance object? | |
| 16:50:42 | efried | aspiers: I wasn't following whatever conversation led up to this | |
| 16:51:00 | efried | Is something we're doing with SEV requiring us to be able to look at the allocation some time after spawn? | |
| 16:51:10 | efried | or is this related to some other topic? | |
| 16:51:11 | aspiers | Yes | |
| 16:51:18 | efried | Do tell | |
| 16:51:42 | aspiers | http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2019-06-12.log.html#t2019-06-12T12:50:55 | |
| 16:52:14 | aspiers | There are multiple places scattered through the code for building the guest config XML which need to know whether SEV is required | |
| 16:52:40 | aspiers | but to perform the check in the way you requested, allocations need to be accessible at those points | |
| 16:53:00 | efried | say wha now? | |
| 16:53:13 | efried | you're telling me that every time libvirt attaches a volume, it rebuilds the whole XML from scratch? | |
| 16:53:20 | aspiers | no | |
| 16:53:31 | aspiers | it needs to know whether to use iommu | |
| 16:53:32 | efried | you're telling me that attaching a volume needs to be SEV aware? | |
| 16:53:45 | aspiers | not necessarily even attaching a volume | |
| 16:54:00 | efried | okay, I see. | |
| 16:54:02 | aspiers | just block devices and stuff at launch-time | |
| 16:54:18 | aspiers | and also to decide whether to include <locked /> | |
| 16:54:30 | aspiers | the latest 3 commits at the top of the series | |
| 16:55:00 | efried | However, in this scenario, you could also solve by commonizing (libvirt/utils?) the code that inspects the flavor/image meta. | |
| 16:55:00 | efried | I think long term, having allocations on the instance object is a great idea. mriedem, dansmith, how do y'all feel about that? | |
| 16:55:19 | dansmith | efried: why? | |
| 16:55:25 | aspiers | Yes, that possibility occurred to me too | |
| 16:56:42 | efried | dansmith: example here is SEV. We were considering doing the flavor/image parsing and validation just once, in the request filter, to add resources=MEM_ENCRYPTION_CONTEXT. Then after that, e.g. in spawn(), just looking at the allocation for MEM_ENCRYPTION_CONTEXT so we don't have to redo that parsing/validation. | |
| 16:57:12 | aspiers | here's sean-k-mooney's take: http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2019-06-12.log.html#t2019-06-12T13:13:16 | |