Earlier  
Posted Nick Remark
#openstack-nova - 2019-12-02
14:56:58 sean-k-mooney ye are talking about https://bugs.launchpad.net/nova/+bug/1844296 right
14:57:15 sean-k-mooney and this patch https://review.opendev.org/#/c/682594/
14:57:25 lyarwood sean-k-mooney: yeah, it cleans up after one type of failure, it doesn't stop the failure from happening.
14:57:38 sean-k-mooney ah i see
14:57:51 sean-k-mooney so its treating the symtoms not the cause
14:58:11 lyarwood sean-k-mooney: yeah and very specific symptoms at that.
14:58:47 sean-k-mooney you could make it partial-bug if you plan to try and fix it someother way on master in a follow up patch
14:59:19 lyarwood ah yeah I forgot about partial
14:59:21 lyarwood that might do
14:59:37 sean-k-mooney related bug makes sense too but i can see why you might what cloeses bug for stabel if you dont think any complete fix woudl be backportable
15:00:41 sean-k-mooney Partial-Bug i think is the most correct but that wont mark it as "fixed" on stable
15:00:45 mriedem see my comments from PS4
15:00:50 mriedem 1. Can we sort out the various bugs I've mentioned to see which ones this fixes and then duplicate whatever is a duplicate and decide on one (probably the oldest) bug for the same issue.
15:00:55 mriedem 2. I don't trust unit tests for this type of stuff since it involves (a) more than one service and (b) the database. Can we write a functional test to recreate the bug and then assert the fix resolves it?
15:01:26 mriedem i believe i sorted out the bazillion related bugs here https://review.opendev.org/#/c/692940/
15:02:35 lyarwood gah, I'm not sure how I missed that, sorry mriedem
15:03:03 mriedem probably distracted by all of the comments inline about races and locks and such that might mean this doesn't fix a bug
15:04:14 openstackgerrit Dan Smith proposed openstack/nova master: Add a way to exit early from a wait_for_instance_event() https://review.opendev.org/695985
15:10:00 mriedem if you want i could write the functional test if you don't want to bother with that
15:11:40 mriedem lyarwood: since the bdm.create is the last thing that happens on the compute, in what case would this cleanup catch and actually clean anything up?
15:11:55 mriedem like just the split second that we actually created the record and then got a messaging timeout?
15:13:03 lyarwood mriedem: happy to write the func test
15:13:26 lyarwood mriedem: and yeah but that's asssuming that is a split second and n-cpu isn't stuck somehow
15:13:38 lyarwood mriedem: as mdbooth suggested
15:14:02 lyarwood mriedem: FWIW we have seen this downstream at least, so either way it's possible to hit and reasonable to cleanup
15:14:16 mriedem sure, so if n-cpu is stuck on let's say getting the instance uuid lock, or doing something in the driver like _get_device_name_for_instance, we wouldn't create the bdm in that case anyway
15:14:32 mriedem where/how was it triggered downstream?
15:14:48 mriedem slow compute and the api timed out?
15:15:05 mriedem because if so, the change to make reserve_block_device_name using the long_rpc_timeout will fix that
15:15:54 lyarwood mriedem: https://bugzilla.redhat.com/show_bug.cgi?id=1752734 - I didn't get a root cause out of this as the env wasn't logging in DEBUG unfortunatley
15:15:55 openstack bugzilla.redhat.com bug 1752734 in openstack-nova "Invalid bdm record remains when reserve_block_device_name rpc call times out" [High,On_dev] - Assigned to lyarwood
15:16:16 lyarwood mriedem: but we did end up with stale BDM records in the DB after seeing timeouts
15:16:53 sean-k-mooney lyarwood: ok so there is a customer case attached to that so its not a ci issue
15:17:38 mriedem 3. nova-api again requests to nova-compute to do attaching operation 4. nova-compute updates bdm with retrieved connection info 5. if some error like timeout detected between 3-4, remove bdm record created at 2
15:17:43 mriedem so that's not the same thing
15:18:35 mriedem that's (1) reserve_block_device_name worked and created a bdm and then (2) when the api cast to attach_volume something timed out and the bdm was orphaned
15:19:37 lyarwood mriedem: yeah I think that description is wrong, there's reserve_block_device_name failures documented in the next private comment of the bug
15:20:26 lyarwood sean-k-mooney: ^ can confirm that, however I don't think we can share the actual logs here.
15:20:49 mriedem even so, the change to make reserve_block_device_name using the long_rpc_timeout will fix that
15:20:58 mriedem but i don't think that long rpc timeout goes back to queens
15:21:21 sean-k-mooney am i was reading it and im not sure the comment need to be private. we cant share the raw logs but i do not see antynig in comment 1 that is really an issue
15:21:36 mriedem if it's just a messagingtimeout i can understand that
15:21:48 sean-k-mooney MessagingTimeout: Timed out waiting for a reply to message ID fa3d55d2d8c248ba82a13c940350ea9c
15:21:49 lyarwood super secret volume uuids
15:21:52 lyarwood ;)
15:22:10 sean-k-mooney so the long rpc might fix it ya
15:22:14 mriedem it's a 60 second timeout by default with a blocking api - if the compute is slow or we're waiting on the instance uuid lock (maybe because a periodic is doing something with the instance at the time of attach), we could reasonably timeout
15:22:37 mriedem https://review.opendev.org/#/c/566696/ only goes back to rocky though, so you can't get the long_rpc_timeout fix to queens
15:22:43 mriedem so no use in saying that's the backportable fix
15:23:33 mriedem anyway, it just seems like a really small window where the fix in the api would handle it since the bdm create is the last thing to happen - if we timeout before that we still orphan the bdm record
15:23:54 mriedem and i know i'm contradicting my "what's the harm?" replies to mdbooth in the comments :)
15:24:07 mriedem the better longer term fix is the wip i posted, but that's not backportable
15:24:45 lyarwood yeah agreed on that part, we could backport long_rpc_timeout downstream *cough*
15:24:51 lyarwood but yeah
15:25:07 openstack Launchpad bug 1425352 in OpenStack Compute (nova) "A volume remains attached and cannot be detached after attaching it fails" [Low,Confirmed]
15:25:07 mriedem also your bug is definitely a duplicate of https://bugs.launchpad.net/nova/+bug/1425352
15:25:59 sean-k-mooney lyarwood: the issue would be the oslo.messaging min version bump
15:26:24 mriedem sean-k-mooney: correct we're not backporting that to queens-em upstream
15:27:14 lyarwood okay that's likely not an issue downstram
15:27:19 lyarwood downstream*
15:27:26 sean-k-mooney i dont know
15:27:37 sean-k-mooney i would not nessisarliy be comfrotable with that
15:27:46 sean-k-mooney but we could explore it as an option
15:28:07 sean-k-mooney it would depend on what version of oslo.messaging we are actully using downstream
15:28:16 lyarwood >= 5.29.0
15:28:29 lyarwood sean-k-mooney: when did this come in?
15:28:34 sean-k-mooney 6.3.0
15:29:08 lyarwood ah
15:29:11 lyarwood that would be an issue
15:29:17 sean-k-mooney https://github.com/openstack/requirements/blob/stable/queens/upper-constraints.txt#L145
15:29:23 sean-k-mooney so queens was capped a 5.35.6
15:29:31 sean-k-mooney so 6.3.0 proably will break things
15:29:31 lyarwood yeah guess what we use downstream
15:29:39 lyarwood okay that's dream is dead
15:29:42 lyarwood that*
15:30:14 sean-k-mooney is it higher then the upper-constraints for queens? cause i hate when we do that
15:30:42 lyarwood no it's not
15:30:52 sean-k-mooney cool
15:30:57 mriedem you could create your own workaround option as a timeout for this specific call that overrides the default rpc_response_timeout just for your queens-only change and drop it for long_rpc_timeout when you start using that for this call from upstream
15:32:44 sean-k-mooney ya is there an advantage to not useing the same config option
15:33:01 sean-k-mooney is it jsut to make it clear it applies to just this one call
15:37:24 mriedem lyarwood: i left some comments in the patch to try and summarize irc discussion and duplicated the bug to the existing one for the same issue. i'd hold off on writing a functional test until more people weigh in on what the correct direction is here given backports and such.
15:38:02 gibi sean-k-mooney: could you quickly respin https://review.opendev.org/#/c/695118/ to fix stephenfin nits in the conf doc and the release notes? The change looks good to me too but I guess you want to backpor it so a follow up won't help
15:38:58 sean-k-mooney yep i can do that in 5 mins thanks for taking a look
15:39:35 gibi sean-k-mooney: thanks. Ping me and I will +2
15:39:50 mriedem would be nice if any of the blizzard people would ack that change since they reported it
15:45:01 mriedem stephenfin: tbc i'm waiting on vmware ci results on https://review.opendev.org/#/c/696503/ before moving it forward
15:45:33 mriedem if that ci is busted (let's say we don't get results within the next 24 hours or something) then i'm cool with moving forward since if they can't maintain a working ci then we can't maintain their driver for them
15:45:43 stephenfin coolness
15:55:35 sean-k-mooney ... the release notes tox env takes forever to run
15:59:30 openstackgerrit sean mooney proposed openstack/nova master: add [libvirt]/max_queues config option https://review.opendev.org/695118
15:59:45 sean-k-mooney gibi: stephenfin ^ nits addressed no other changes
15:59:53 gibi sean-k-mooney: looking...
16:01:31 gibi eandersson: the bug is coming from blizzard ^^ could you check the bugfix from your perspective?
16:02:26 sean-k-mooney i will be filing and fixing a related bug for vhost-user seperatly but that should cover the case in the current bug if not let me know.
16:08:32 sean-k-mooney actully thinking about that i wonder if i should also add extra code to handel updating this on live migration?
16:11:12 sean-k-mooney i dont think we have code for the queue lenghts on live migration so i kind of feel a seperate patch to handel both queue lenght and max queues would make sense since that will need object changes and wont be backportable where as this simple fix is
16:13:15 sean-k-mooney gibi: stephenfin do you think that would be good to do as a followup? looking at the migrate data object we dont pass any of that info today
16:14:07 gibi sean-k-mooney: do you say that during live migration the server will use the source host config regarding the number of queues?
16:15:16 sean-k-mooney yes and rx/tx queue lenghts

Earlier   Later