| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-02-21 | |||
| 12:33:05 | sean-k-mooney | we could try chainging to ovs-vsctl add-port --may-exist instead but not sure if that will prevent changing neuton port into trunk ports introduced in the vlan aware vms specs | |
| 12:33:31 | sean-k-mooney | that is the only thing i can think of that could be effect by that change and it would resolve the issue | |
| 12:34:36 | sean-k-mooney | we do have patchs form rodolfo that may or may not have merged that uses the python ovs client lib which may not have this issue also | |
| 12:34:39 | sahid | sean-k-mooney: in your idea this issue is only for dpdkvhostuser or so you think we have the same for dpdkvhostuserclient? | |
| 12:35:15 | sean-k-mooney | i think we have the same issue for dpdkvhostuserclient but vhost reconnect is masking it. | |
| 12:35:41 | sean-k-mooney | dpdkvhostuser dose not suppport recoonect so it needs a vm reboot to fix | |
| 12:36:13 | sean-k-mooney | for dpdkvhostuserclient the unix socket is created by qemu so it is definetly not deleted | |
| 12:36:25 | sahid | so this issue does not exist for dpdkvhostuserclient | |
| 12:37:03 | sean-k-mooney | sahid: i cant say 100% with out testing but i think it would be significatly less likely to happen | |
| 12:37:22 | sahid | that is also my thinking | |
| 12:37:36 | sahid | so i don't know whether we really want to fix that | |
| 12:37:46 | sahid | starts to ocata we are using dpdkvhostuserclient | |
| 12:37:56 | sahid | and i think dpdkvhostuser is deprecated, right? | |
| 12:38:09 | sean-k-mooney | sahid: well we are using dpdkvhostuserclient if ovs is new enough | |
| 12:38:25 | sean-k-mooney | dpdkvhostuser is not but dpdkvhostcuse was and has been removed | |
| 12:38:57 | sean-k-mooney | dpdkvhostuser is just not recommended but no one has pushed for removal/deprecation yet as far as i know | |
| 12:39:01 | sahid | oh yes we are looking at the capabilities to know which one to user | |
| 12:39:03 | sahid | use | |
| 12:39:23 | sahid | ok so let fix it | |
| 12:39:58 | sean-k-mooney | for ovs-vsctl its should be a 2 line fix. want me to trow up a patch | |
| 12:40:57 | sahid | no worries i will do i have also a env to test it | |
| 12:41:27 | sahid | sean-k-mooney: will ping you when it's sent upstrea | |
| 12:42:19 | sean-k-mooney | cool it should just be changing "'--if-exists', 'del-port', dev, '--','add-port'" -> "'add-port','--may-exist'" https://github.com/openstack/os-vif/blob/master/vif_plug_ovs/linux_net.py#L68 and maybe updating some unit tests | |
| 12:43:02 | sean-k-mooney | actully the --may-exists possibly goes before add-port but youll figure it out | |
| 12:44:40 | openstackgerrit | Surya Seetharaman proposed openstack/nova master: Unmap compute nodes when deleting host mappings in delete cell operation https://review.openstack.org/542964 | |
| 13:15:13 | openstackgerrit | sahid proposed openstack/os-vif master: ovs: do not delete port if already exists https://review.openstack.org/546588 | |
| 13:20:19 | sahid | sean-k-mooney: ^ i still need to test it but if you want to have a llok | |
| 13:46:53 | openstackgerrit | Shoham Peller proposed openstack/nova master: Handle spawning error on unshelving https://review.openstack.org/378009 | |
| 14:15:15 | openstackgerrit | Kashyap Chamarthy proposed openstack/nova master: [WIP] libvirt: Allow to specify granular CPU feature flags https://review.openstack.org/534384 | |
| 14:20:52 | mriedem | mnaser: some comments / thoughts in https://review.openstack.org/#/c/546398/ | |
| 14:24:06 | mnaser | mriedem: if i bdm.attachment_id = None .. that means that i can drop 'attachment_id' in bdm ? | |
| 14:24:25 | mnaser | and i can change the test to make sure that i always get an attachment that is =None i guess? | |
| 14:25:10 | mnaser | that does feel like a much cleaner fix because then we won't carry the extra cruft of an issue that exists in the old flow of attachment which will one day disappear | |
| 14:26:30 | mriedem | mnaser: i think that is true... | |
| 14:26:54 | mnaser | mriedem: i have a functional test so ill make the change and see if it does address it | |
| 14:27:06 | mriedem | the only time we do a local delete in the api and the bdm.attachment_id wouldn't be set is this pre-scheduling thing where we delete the instance via the build_request | |
| 14:27:42 | mnaser | mriedem: and if i understand correctly, the bdms we get from the build_request are not persisted in db so they don't have an attachment_id | |
| 14:27:44 | mriedem | if the bdm does exist in a cell database, when the api loads it out, it will set bdm.attachment_id b/c of whatever is in the db record | |
| 14:28:03 | mriedem | they aren't persisted in a cell block_device_mappings table, | |
| 14:28:20 | mriedem | they are serialized as a json blob (like the instance) and stored in the nova_api.build_requests table | |
| 14:28:24 | mnaser | gotcha | |
| 14:28:33 | mriedem | which means, when we load them into the object, we don't set any default field values from the actual db record | |
| 14:28:41 | sahid | mriedem: any chance you ack this: https://review.openstack.org/#/c/515008/ ? | |
| 14:28:54 | mriedem | like if we load up a bdm record created 3 years ago, the attachment_id entry will be null and we'll set that on the object | |
| 14:29:17 | mnaser | mriedem: ok, so but if we did change the behaviour to set a default value, i assume that would involve bumping the object version which wouldn't make it very backportable | |
| 14:29:34 | mriedem | mnaser: no i'm not suggesting we change the object at all | |
| 14:29:45 | mnaser | mriedem: oh i know, i'm just thinking out loud | |
| 14:29:48 | mriedem | ok | |
| 14:29:50 | mnaser | trying to understand nova's codebase a tad bit more | |
| 14:30:14 | mnaser | anyways im going to test out your idea and see if it passes locally | |
| 14:34:26 | efried_omalley | Ye gods, even reading just the *titles* of 882 summit talks is a labor of hours. | |
| 14:35:59 | sean-k-mooney | sahid: im not sure if the intel nfv ci is triggering on os-vif. it should be triggering on any change to nova,neutron,os-vif,networking-ovs-dpdk and devstack but if it is that will do some validation of https://review.openstack.org/#/c/546588/ | |
| 14:37:14 | openstackgerrit | Rajesh Tailor proposed openstack/nova master: Reset instance status on invalid host https://review.openstack.org/401009 | |
| 14:37:46 | sean-k-mooney | sahid: zuul seams to be happy with it so that is a good sign. | |
| 14:38:33 | mriedem | lyarwood: since sahid left, question in https://review.openstack.org/#/c/515008/ | |
| 14:40:07 | mriedem | lyarwood: i mean, i guess the patch is ok in that if one thing fails the user has to retry (either updating the guest xml or the disconnect from the host) and either thing is now idempotent | |
| 14:40:19 | mriedem | just seems like you'd want to try the cleanup thing that's more likely to fail first | |
| 14:41:50 | dansmith | mriedem: trivial review to correct a stack trace in logs that confused multiple support people: https://review.openstack.org/#/c/546423/ | |
| 14:42:19 | jaypipes | efried_omalley: I can shortcut that for you. "Edge", "NFV", "Hyperconverged", "Kubernetes". Rinse and repeat. | |
| 14:42:31 | mriedem | dansmith: timely given i'm asking about https://review.openstack.org/#/c/515008/ | |
| 14:42:58 | dansmith | hah | |
| 14:43:04 | efried_omalley | jaypipes: Yeah, would be nice to have a list of checkboxes like Amazon does, where I could exclude those terms and filter down to the 20 or so talks that might interest me. | |
| 14:44:03 | dansmith | jaypipes: lol | |
| 14:44:10 | dansmith | jaypipes: early or late? | |
| 14:44:30 | jaypipes | dansmith: early of course. | |
| 14:44:38 | dansmith | jaypipes: good, just checking. | |
| 14:44:59 | jaypipes | dansmith: you know... pre-cloud. | |
| 14:45:16 | mnaser | wow i just realized this bug has 3 paths, < BFV_RESERVE_MIN_COMPUTE_VERSION --> _check_attach (reserves), >= BFV_RESERVE_MIN_COMPUTE_VERSION -> _check_attach_and_reserve_volume (can reserve if cinder version is too old), >= CINDER_V3_ATTACH_MIN_COMPUTE_VERSION -> _check_attach_and_reserve_volume (will create attachment) | |
| 14:45:18 | dansmith | jaypipes: even the ultra-modern starship days were pre-cloud, so I had to ask | |
| 14:45:29 | sean-k-mooney | jaypipes: im trying to think of something you missed but yep i think those 4 buzz words some it up well maybe add "serverless" of "FaaS" | |
| 14:45:38 | mnaser | so we reserve a volume in the _check_attach_and_reserve_volume path too | |
| 14:45:42 | mnaser | (or we could) | |
| 14:46:14 | mnaser | OH and also if the cinder api doesn't support attachments it will reserve too | |
| 14:46:27 | jaypipes | sean-k-mooney: I think you meant "FaaD". | |
| 14:51:32 | dansmith | mriedem: I think I answered your question on that patch | |
| 14:52:42 | lyarwood | mriedem: https://review.openstack.org/#/c/515008/13/nova/virt/libvirt/driver.py@1555 - otherwise we'd likely see QEMU getting into D state if the instance attempts to write to the underlying storage after we've disconnected it from the compute | |
| 14:53:05 | dansmith | lyarwood: if it even lets us disconnect | |
| 14:53:10 | lyarwood | right | |
| 14:53:17 | dansmith | I would expect it to always fail, | |
| 14:53:25 | dansmith | unless we're echoing into sdX/delete in sysfs | |
| 14:53:50 | lyarwood | yeah there are some backends in os-brick that force things to disconnect like that | |
| 14:53:55 | dansmith | ack | |
| 14:54:00 | dansmith | then that would be like bad and stuff :D | |
| 14:54:13 | mriedem | ok +2 on sahid's | |
| 14:54:15 | mriedem | -1 on dansmith's | |
| 14:55:14 | dansmith | mriedem: raising from there isn't putting the instance into error state, | |
| 14:55:19 | dansmith | but you're saying it does get a fault? | |
| 14:55:26 | mriedem | i never said it would be put into error state | |
| 14:55:36 | mriedem | but yes there is (1) a fault recorded and (2) the instance action event record is marked as failed | |
| 14:55:43 | mriedem | which are ways for an api user to track the detach volume operation in nova | |
| 14:55:47 | dansmith | I know you didn't, but I thought we didn't record a fault unless we put it into error state | |
| 14:55:52 | mriedem | nope | |
| 14:56:03 | mriedem | it's anytime a compute manager method raises an unhandled exception | |
| 14:56:12 | dansmith | okay, so the two people that hit this yesterday weren't looking at faults | |
| 14:56:18 | dansmith | it just never happened, | |
| 14:56:25 | dansmith | and then they saw the trace in the log | |
| 14:57:13 | openstackgerrit | sahid proposed openstack/nova stable/queens: libvirt: disconnect volume from host during detach https://review.openstack.org/546655 | |
| 14:57:16 | mriedem | from what i'm reading in the bug, they are just saying, 'don't traceback, give me a useful message' | |
| 14:57:31 | dansmith | right | |
| 14:57:36 | mriedem | your patch is doing the useful message, but then saying the detach was successful | |