Earlier  
Posted Nick Remark
#openstack-nova - 2017-11-29
09:50:55 openstackgerrit Chen Hanxiao proposed openstack/nova master: libvirt: throw NotImplementedError if qga is not responsive when setting password https://review.openstack.org/523828
10:10:31 openstackgerrit Claudiu Belu proposed openstack/nova master: POC: tests: autospecs all the mock.patch usages https://review.openstack.org/470775
10:42:22 openstackgerrit Surya Seetharaman proposed openstack/nova master: update_cell allows more than once cell to have the same db/transport url https://review.openstack.org/518556
11:40:05 openstackgerrit Erik Berg proposed openstack/nova master: Cool, wasn't sure about wether the transport_url needed to be unique aswell. The more you know :) https://review.openstack.org/523849
13:15:56 jaypipes *yawn*
13:15:59 jaypipes morning supernovas
13:28:43 bauzas jaypipes: morning
13:54:27 mriedem lucasagomes: you should take a look at this change https://review.openstack.org/#/c/523559/
13:59:12 efried jaypipes Looks like some microversion digits were missed in the rebase.
13:59:25 jaypipes efried: lemme look...
13:59:39 efried jaypipes I can take care of it - I have some work to do on the series anyway.
13:59:48 lucasagomes mriedem, hi there! I will take a look, although, I haven't been involved with ironic for awhile. It might be better to get some of the #openstack-ironic folks to take a look as well
14:00:00 efried jaypipes As long as you don't have local changes?
14:00:13 jaypipes efried: go for it.
14:00:18 efried rgr
14:11:42 lucasagomes mriedem, posted a question re using task_state + vm_state to determine if the rebuild failed or not
14:12:54 mriedem lucasagomes: heh, did you see my comment in the code?
14:12:59 mriedem basically the same idea
14:13:16 lucasagomes mriedem, oh, I looked at the wrong column ahah oh right
14:13:20 lucasagomes yeah i think that would be more flexible
14:13:24 lucasagomes if it works
14:15:47 lucasagomes replied to your comment basically agreeing with the task_state + vm_state idea :-)
14:25:01 stephenfin jaypipes: I've a question on https://github.com/openstack/nova/commit/15ac5b688bf6d91ac42ca33860d187d80289d82d
14:25:20 jaypipes stephenfin: yessir?
14:25:58 stephenfin jaypipes: That contains an online data migration. Would I need to run the `nova-manage db online_data_migrations` command for that to take place, or should it happen any time?
14:26:43 stephenfin I'd thought the UUID field would be populated any time I loaded an object from the DB, but then I saw that command
14:32:21 jaypipes stephenfin: there's no nova-manage db stuff in that patch.
14:32:47 jaypipes stephenfin: all data migrations are done upon load/save of the PciDevice object
14:34:21 jaypipes stephenfin: one might make an argument that there *should* have been a corresponding patch that added a nova-manage online data migration (that read in PciDevice objects in batches)
14:39:52 mriedem that's what we did when we added the uuid column to compute_nodes, services and migrations tables
14:40:05 mriedem you could still add one...
14:42:07 jaypipes mriedem: ack
14:42:34 jaypipes mriedem: would need to be done before the PCI device manager is integrated with placement.
14:42:53 stephenfin jaypipes, mriedem: I can do that today
14:42:57 openstackgerrit Sylvain Bauza proposed openstack/nova master: libvirt: Provide VGPU inventory for a single GPU type https://review.openstack.org/514763
14:43:12 stephenfin jaypipes: In the interim, I think there's a bug with that patch. See here
14:43:13 stephenfin https://bugzilla.redhat.com/show_bug.cgi?id=1516952
14:46:54 openstack bugzilla.redhat.com bug 1516952 in openstack-nova "Cannot boot vm with sriov port after upgrade OSP11 to OSP12" [Urgent,New] - Assigned to eglynn
14:46:54 mriedem i see the problem
14:46:54 mriedem _from_db_object isn't handling the uuid column properly
14:46:54 mriedem https://review.openstack.org/#/c/469147/2/nova/objects/pci_device.py@194
14:46:54 mriedem there should be a skip in there
14:46:54 mriedem if key not in ('extra_info', 'uuid'):
14:48:42 mriedem stephenfin: i updated https://bugzilla.redhat.com/show_bug.cgi?id=1516952 - open an lp bug and i'll push a fix
14:50:29 jaypipes dansmith: because we can't make them not-nullable until the fields are populated with something.
14:50:29 dansmith jaypipes: so leave them unset? a nullable field means it can be set to None, and that's extremely wrong for an id, IMHO
14:50:29 jaypipes dansmith: it gets set to a non-null value right after there..
14:50:29 stephenfin Couldn't we just move that non-null setting to the top of the function?
14:50:29 stephenfin then we don't need to skip anything
14:50:29 jaypipes dansmith: and then when the version of the object goes to the next major version, we change nullable to False and remove the data migration.
14:50:29 dansmith okay I'm not sure what you're saying, you want to make it null so that a generic loop can set it to none for a few cycles?
14:50:29 dansmith -2 on that :)
14:51:11 mriedem fwiw we've only ever bumped the major version on an object before, it doesn't happen really
14:51:19 mriedem Instance is the only one
14:51:29 jaypipes yes, I've complained about that before...
14:51:43 dansmith jaypipes: so do the work to bump.. it's not very fun :)
14:52:33 jaypipes well, sounds like I'm in the minority here, stephenfin, so just add a conditional in that setattr loop to check for whether db_dev['uuid'] is None and if so, don't set obj.uuid to None.
14:52:55 mriedem i've got a patch local
14:53:03 mriedem just need an lp bug
14:53:07 jaypipes dansmith: do we have a good guide to doing that work?
14:54:06 openstack bugzilla.redhat.com bug 1516952 in openstack-nova "Cannot boot vm with sriov port after upgrade OSP11 to OSP12" [Urgent,New] - Assigned to eglynn
14:54:19 stephenfin mriedem: https://bugs.launchpad.net/nova/+bug/1735188
14:54:22 mriedem https://bugs.launchpad.net/nova/+bug/1735189
14:54:24 mriedem you beat me
14:54:29 stephenfin Ha!
14:54:50 stephenfin so close
14:55:14 dansmith jaypipes: nope, it also takes work to put that together and nobody else has ever asked to do it. Happy to help with that, but like many other things, I'd value this well below a lot of the other things we've got going on at the moment
14:55:32 openstack Launchpad bug 1735188 in OpenStack Compute (nova) "PciDevice UUID field not populated" [Undecided,New]
14:55:33 openstack Launchpad bug 1735189 in OpenStack Compute (nova) "ValueError: Field `uuid' cannot be None in PciDevice._from_db_object" [Undecided,New]
14:55:42 jaypipes dansmith: ack. maybe a weekend project for me around the holidays.
14:55:54 dansmith jaypipes: you are a sick, sick man
14:56:03 jaypipes heh
14:59:16 mdbooth Oh, dear. I poked something apparently innocuous, and it broke archive_deleted_rows()
14:59:30 mdbooth I don't even know where I am any more
15:01:39 mdbooth Was I supposed to update the shadow table explicitly when I added a column?
15:02:27 mdbooth Ah, ha, it seems yes
15:02:31 jaypipes mdbooth: yep
15:06:48 bauzas jaypipes: reviewing https://review.openstack.org/#/c/377138/62/nova/db/sqlalchemy/api_models.py
15:07:07 bauzas jaypipes: SQLA does ON DELETE CASCADE when you provide a FK ?
15:07:42 mriedem we don't do cascading deletes
15:09:33 mriedem https://github.com/zzzeek/sqlalchemy/blob/rel_1_1_15/lib/sqlalchemy/sql/schema.py#L1514
15:09:37 mriedem ondelete=None
15:09:43 mriedem https://github.com/zzzeek/sqlalchemy/blob/rel_1_1_15/lib/sqlalchemy/sql/schema.py#L1544
15:09:51 jaypipes bauzas: no
15:10:10 bauzas jaypipes: so say you delete the root RP
15:10:23 bauzas jaypipes: should we delete the children too ?
15:10:28 mriedem which is part of the reason archive_deleted_rows used to always barf when we'd order the deletes incorrectly
15:10:29 bauzas AFAIK, yes, right?
15:10:31 jaypipes bauzas: we do.
15:10:47 bauzas jaypipes: well, looking at https://review.openstack.org/#/c/377138/62/nova/objects/resource_provider.py@823 and below
15:11:29 bauzas jaypipes: I don't see where we're deleting the children
15:11:49 jaypipes bauzas: we're not. we're *preventing* parents from being deleted if children exist.
15:12:10 bauzas jaypipes: that I saw
15:12:14 bauzas it's the first conditional
15:12:15 jaypipes bauzas: we require that callers delete children before parents.
15:12:31 bauzas wait
15:12:37 mriedem this is a head scratcher https://github.com/openstack/nova/blob/master/nova/objects/pci_device.py#L249-L251
15:12:38 mriedem if True
15:13:07 jaypipes bauzas: it's the second conditional, too... an IntegrityError will be raised if the DELETE on the parent ends up violating the foreign key constraint on parent_provider_id
15:13:37 bauzas jaypipes: oh right, the first conditional says "if children existing, then return no"

Earlier   Later