Earlier  
Posted Nick Remark
#openstack-nova - 2017-02-01
15:19:58 mriedem vsaienk0: http://lists.openstack.org/pipermail/openstack-dev/2017-January/111295.html
15:20:13 mriedem vsaienk0: https://bugs.launchpad.net/nova/+bug/1660973 is a duplicate
15:20:13 openstack Launchpad bug 1660973 in networking-bgpvpn ""No hosts found to map to cell, exiting" / PlacementNotConfigured exception" [Critical,In progress] - Assigned to Thomas Morin (tmmorin-orange)
15:20:49 dansmith mriedem: you sure that's the same?
15:20:57 mriedem it's not
15:20:58 mriedem nvm
15:21:02 mriedem http://logs.openstack.org/75/427675/2/check/gate-tempest-dsvm-ironic-ipa-wholedisk-agent_ipmitool-tinyipa-multinode-ubuntu-xenial-nv/3ff2401/logs/screen-n-cpu.txt.gz?level=TRACE is clean
15:21:11 dansmith yeah
15:21:22 dansmith n-cond too, an that's the important one for the mapping bug
15:21:53 vsaienk0 mriedem: on ironic multinode job placement api is enabled
15:22:04 mriedem vsaienk0: then it's something else
15:22:06 dansmith vsaienk0: is that test trying to target specific hosts with a boot?
15:22:53 mordred mriedem: done
15:23:03 mordred mriedem: I believe I said the same thing as sdague - exept worse and with more words
15:23:34 mriedem mordred: that's why i pinged you :)
15:24:54 vsaienk0 dansmith: yes, test_schedule_to_all_nodes is failing
15:25:21 dansmith vsaienk0: I see that from the logs, I'm asking what the test is doing, but I'll go look for myself
15:25:52 jaypipes sileht: thx for your fix on https://review.openstack.org/#/c/427667/. zzzeek, if you can give your attention to this patch, that would be appreciated. I will leave it to mriedem, sdague or bauzas to +W.
15:26:24 vsaienk0 dansmith: that is nova test, I don't know what exactly it is doing
15:26:36 dansmith vsaienk0: okay, yeah, so it's trying to specifically boot an instance targeted at a node
15:26:52 jaypipes sileht: for the record, the reason that uuid was the grouping expression there was that the original query I was using only returned the UUIDs of the resource providers :)
15:27:10 dansmith vsaienk0: so it may be similar to the issue mriedem pointed above, but manifesting differently, give me a sec to look at the logs
15:27:22 jaypipes rpodolyaka: thx for the heads up on https://review.openstack.org/#/c/427667/ :)
15:27:28 bauzas sileht: oh, nice catch, thanks for fixing that
15:28:11 dansmith vsaienk0: is this failing all the time now or just occasionally
15:28:30 vsaienk0 dansmith: all the time
15:28:45 dansmith vsaienk0: okay, let me put up a hacky devstack patch to try something
15:30:11 vsaienk0 dansmith thanks!
15:30:28 bauzas sileht: jaypipes: and FWIW, rpodolyaka is right, I did the GROUP BY because I wanted the HAVING clause
15:30:47 bauzas sileht: jaypipes: but that should work by the PK too
15:30:54 rpodolyaka jaypipes: np!
15:31:43 dansmith vsaienk0: can you do a canary change against ironic, depending on this? https://review.openstack.org/427772
15:32:51 vsaienk0 dansmith: done https://review.openstack.org/#/c/427675/ waiting for results, thanks!
15:33:25 dansmith vsaienk0: okay, this is the thing I was pointing to yesterday, which I suspect you're hitting. if this fixes it, we'll need to put it in a proper place of course
15:34:25 openstackgerrit Christopher Martin proposed openstack/nova: Stop using mox in test_compute_cells.py https://review.openstack.org/389750
15:34:54 dansmith vsaienk0: oh you guys are a devstack plugin, well that's why I couldn't find stuff... going forward we can just put this in your lib/ironic thing, so .. easier
15:36:35 sfinucan bauzas: Think there's a very minor logging mistake in https://review.openstack.org/#/c/427200, though otherwise LGTM
15:37:10 bauzas sfinucan: you can hurt me with a -1, I won't hit you :p
15:37:41 sfinucan bauzas: I don't usually -1 for things I'm not 100% sure are an issue, but you asked for it ;)
15:37:44 bauzas and I even prefer or I could miss the comments :)
15:38:11 bauzas sfinucan: well, I'm French so arguing is like my 2nd nature
15:39:01 openstackgerrit Matt Riedemann proposed openstack/nova: Ensure build request exists before creating instance https://review.openstack.org/427775
15:39:02 mriedem dansmith: melwitt: bauzas: ^ i'm assuming some sort of transactional lock would be best there, but not sure how to do it
15:40:18 dansmith mriedem: you can't, they're in separate databases
15:40:25 mriedem thought about that
15:40:26 mriedem yeah
15:40:28 dansmith mriedem: you should create the instance, then try to delete the buildreq, and if that fails, delete the instance
15:40:31 dansmith like we do below
15:42:04 mriedem we have a window either way
15:42:16 mriedem i'd rather not create the instance in the first place
15:42:44 mriedem if the build request doesn't exist before we create the instance, this catches it, if the build request doesn't exist after we create the instance, the existing check at the bottom handles it
15:43:20 dansmith mriedem: there's no window this way,
15:43:40 dansmith mriedem: and the check at the bottom will have to undo a bunch of other stuff, and will have done actions, notifications, etc
15:43:44 dansmith mriedem: but your call
15:44:14 dansmith mriedem: actually, yeah, that's fine
15:44:34 mriedem huh? why my change we don't create the instance, and continue, so the actions and notifications don't happen
15:44:54 dansmith mriedem: I meant if you delay the delete until below
15:44:58 mriedem s/why/with/
15:45:42 openstackgerrit Andy McCrae proposed openstack/nova: Allow placement endpoint interface to be set https://review.openstack.org/426163
15:45:43 dansmith since we don't have the instance mapping until a little later, we can't delete the build request yet up there, which means we have to wait
15:47:38 bauzas mriedem: dansmith: catching up your convo
15:47:38 openstackgerrit Lee Yarwood proposed openstack/nova: libvirt: Remove redundant bdm serial mangling and saving during swap_volume https://review.openstack.org/427364
15:47:57 dansmith mriedem: let me try to linearize the mess that came out of my head above
15:48:26 dansmith mriedem: when we create the instance where we do today, it's not find-able as an instance by the api until the instance mapping is created below
15:48:32 bauzas dansmith: mriedem: I think most of the corner cases about synchronizing have been written by alaski in its conductor method
15:48:38 bauzas lemme find it
15:48:54 dansmith mriedem: so if we delete the buildreq due to an external delete,
15:49:23 dansmith mriedem: and then create the instance, it's still not find-able until we add the instance mapping and then delete the buildreq
15:49:55 dansmith mriedem: so there might be a race between creating the mapping and noticing the buildreq is gone, but that is an extremely short time period
15:49:56 dansmith make sense?
15:51:41 mriedem dansmith: yeah, and my patch makes that window even smaller yes?
15:52:30 dansmith mriedem: hang on, I'm reading _get_instance()
15:52:47 mriedem dansmith: are you suggesting we move all of https://github.com/openstack/nova/blob/d308d1f70e7e840b1b0c8f4307998d89f9a5ddff/nova/conductor/manager.py#L925-L949 to right after the instance is created, before the notification and action stuff?
15:53:37 mriedem if we moved that up, we wouldn't need to keep track of bdms to cleanup...
15:54:09 mriedem i'm going to start on fixing the return/continue bug
15:54:48 dansmith mriedem: check this out: https://github.com/openstack/nova/blob/master/nova/compute/api.py#L2295-L2302
15:55:03 dansmith mriedem: that will short-circuit the logic we put in to make this atomic across both dbs
15:55:20 dansmith mriedem: and it says we should remove it once people have to use cellsv2
15:55:39 dansmith that will effectively go straight to the default cell without requiring the buildreq/instmap lock that we have in place
15:55:43 mriedem yeah i saw that last night, and remember specifically asking alaski to put that TODO in there
15:56:07 dansmith so, can we (a) remove that and see how it goes, (b) merge it if it looks good and see if the fails go away?
15:58:43 openstackgerrit Dan Smith proposed openstack/nova: WIP: Remove pre-cellsv2 short circuit in instance get https://review.openstack.org/427782
15:59:17 mriedem dansmith: would we get into that else in this case though? the inst_map could exist and have the cell mapping set
15:59:45 mriedem i guess if that's the case, the cleanup routine in conductor should have already deleted the instance
16:00:13 mriedem crap i havea 1x1, bbiab
16:04:11 dansmith hmm
16:08:01 bauzas dansmith: mriedem: so, I actually wonder why we wouldn't reproduce the logic in build_instances() where when refreshing the instance, we accept that there could be an InstanceNotFound ?
16:08:19 bauzas dansmith: mriedem: but here, we would just access the BuildRequest record instead
16:08:43 bauzas when we get_new_instance()
16:08:57 dansmith bauzas: until we have updated the instance mapping the instance itself could not be deleted, and the buildreq is how that happens
16:09:23 bauzas I'm missing a race condition here then
16:10:20 dansmith the one on L2311 also introduces a race between deleting the map and the instance, so I'll remove that one too
16:11:18 openstackgerrit Ildiko Vancsa proposed openstack/nova: Implement new attach/detach Cinder flow https://review.openstack.org/330285
16:11:19 openstackgerrit Ildiko Vancsa proposed openstack/nova: Remove check_attach https://review.openstack.org/335358
16:13:40 bauzas dansmith: both conditions are for existing instances that needed to have instance mappings, right?
16:14:03 bauzas dansmith: for a fresh new ocata instance, we suppose the mapping is created, right?
16:14:40 dansmith bauzas: as of ocata, all instances old and new have said mappings, yes
16:15:13 bauzas okay, so I agree with you that we should wipe those conditionals
16:15:22 bauzas because it's confusing
16:16:45 dansmith s/confusing/wrong.

Earlier   Later