Earlier  
Posted Nick Remark
#openstack-nova - 2019-02-27
21:09:54 mriedem yeah?
21:09:54 mriedem b/c the client is going to be polling the API for the server to be ACTIVE
21:10:20 melwitt yeah, I guess, another thought is if I re-worked the online_data_migrations to go the other direction, from instance mappings => cells (which was the original proposal)
21:10:32 dansmith I definitely think the less-complicated and more usual migration and update-on-read approach is good
21:10:40 melwitt but looking at the queued_for_delete migration made me think maybe it would be too inefficient to go the other direction
21:11:12 melwitt the reason it can come back as "all done" is about I made it iterate cells and migrate that way
21:11:24 mriedem hmm
21:11:29 melwitt *when there are instance in-flight being scheduled
21:11:40 mriedem so if i'm cern and i've got 72 cells and running this in batches,
21:11:57 mriedem it's going to query instance mappings from the same cells every time until it find something new to process right?
21:12:27 mriedem e.g. we've migrated everything for cells 1-50
21:12:35 dansmith are you talking about how to migrate the mappings in a migration?
21:12:39 mriedem to start processing cells after 50, we have to check 1-50 all over again
21:12:52 mriedem https://review.openstack.org/#/c/633351/14/nova/objects/instance_mapping.py@243
21:13:01 dansmith you process the records by which mappings have a null user_id
21:13:14 dansmith you collate those by cell, and do them in batches against the cell
21:13:23 dansmith you don't re-process anything because you've set the value to non-null once it's done
21:13:41 mriedem i don't tihnk that's what this is doing
21:13:41 melwitt yeah, I did it similar to queued_for_delete, it gets instance mappings that have instances in cells
21:14:00 dansmith I'm describing what it *should* do
21:14:35 melwitt but it will miss instance mappings that don't yet have an instance in a cell (I think)
21:14:56 dansmith the current implementation will you mean
21:14:58 melwitt yeah
21:15:07 dansmith sure, but iterating by cell makes no sense anyway, IMHO
21:15:11 mriedem well it's based on populate_queued_for_delete which dansmith wrote so i hope it's correct :)
21:15:32 melwitt ok :( I will redo it
21:16:48 mriedem well i guess have dansmith look at https://review.openstack.org/#/c/633351/14/nova/objects/instance_mapping.py and make sure we're on the same page
21:17:57 dansmith I probably did the qfd one by cell because you had to get a list of instances not deleted per cell
21:18:14 dansmith or rather, if you don't find an instance deleted per cell, then you mark all of those mappings as not deleted
21:18:40 dansmith but you don't need to do that in this case.. you want to batch/collate by cell, but you can do that with a single query I think in the other case
21:20:49 dansmith neither the user_id or qfd ones probably need to care about things in-flight that don't have that set,
21:21:07 dansmith since you have to run this after you've upgraded your controller code, so things in flight there would already be setting the new value
21:21:13 dansmith meaing, things that don't have a cell yet
21:25:07 melwitt right
21:26:15 melwitt oh, hm ok. I misread at first
21:26:54 melwitt have to run this after upgraded controller code, so things in flight there would already be setting user_id
21:28:06 dansmith right you have to have upgraded the code that can handle the new format for a thing before you start running migrations to move them into the new format of course
21:28:37 melwitt what about old controller, in-flight, upgrade controller, run online_data_migrations, doesn't that fall through the cracks?
21:28:37 openstackgerrit Matt Riedemann proposed openstack/nova master: Optimize populate_queued_for_delete online data migration https://review.openstack.org/639840
21:28:39 mriedem while we're talking about this ^
21:29:12 mriedem melwitt: if we hit that, the GET /servers/{server_id} would migrate the mapping
21:29:36 melwitt ok
21:30:58 melwitt ok, will take another stab at this
21:31:19 mriedem this, or something
21:31:25 mriedem something is getting stabbed
21:31:42 openstackgerrit sean mooney proposed openstack/os-vif master: add additional check and gate jobs for os-vif https://review.openstack.org/639732
21:31:44 dansmith melwitt: for the qfd you mean? I guess maybe, but it would still be cleared once you delete that
21:31:58 dansmith melwitt: for user_id if you process by mapping and not by cell, then it doesn't matter
21:32:09 melwitt no, for user_id
21:32:52 melwitt when you said "user_id doesn't need to care about things in-flight that don't have it set"
21:34:43 dansmith melwitt: I'm confused if or what you're asking
21:34:50 melwitt dansmith: but I think I get it now that if we process by mapping, it will catch them
21:34:56 dansmith right
21:35:02 dansmith I said
21:35:21 melwitt I was just thinking if we go by cell then we would miss something in a super specific timed case
21:35:26 dansmith "probably don't need to care" meaning that leaking things in flight probably isn't as big of a deal.. but not saying we should ignore them or not try to get them
21:35:37 dansmith sure
21:35:39 melwitt oh, I see. got it
21:37:39 openstackgerrit Matt Riedemann proposed openstack/python-novaclient master: Add support for microversion 2.70 - expose device tags https://review.openstack.org/636779
21:38:46 sean-k-mooney jaypipes: o/ i fixed yup the typos in https://review.openstack.org/#/c/639732/6 care to +2 +w again?
21:45:50 mriedem mordred: i think you'll enjoy this https://bugs.launchpad.net/nova/+bug/1817963
21:45:51 openstack Launchpad bug 1817963 in OpenStack Compute (nova) "API reference tells users to not create servers with availability_zone "nova" but the server create samples use "nova" for the AZ :(" [Medium,Triaged] - Assigned to Matt Riedemann (mriedem)
21:48:21 melwitt extra points for the sad face
21:48:39 mriedem "don't do this"
21:48:50 mriedem "here is an example of how to create a server, with exactly what not to do"
21:48:59 mriedem "you're welcome"
21:49:11 melwitt go us
21:51:19 artom Like something out of Zoolander
21:52:47 artom Bruce Migate
21:53:14 melwitt migrations that run good and do other stuff good too
21:57:03 artom What is this, a server for ants?
22:00:18 jaypipes sean-k-mooney: done
22:06:17 efried Howdy folks. How, in the ServersTestBase harness, does one go from a server dict to an Instance object?
22:06:41 cfriesen is anyone aware of weirdness with accessing image_meta in the resize code path in devstack?
22:07:28 artom cfriesen, weirdness? It's a method disguised as a property, but other than that...
22:07:36 artom So, you can't actually set it, IIRC
22:08:18 cfriesen artom: I'm not seeing entries that I think should be in there.
22:08:38 cfriesen artom: they're in the instance_system_metadata table in the DB
22:09:18 artom cfriesen, lazy-loading?
22:09:24 artom Guessing, mostly
22:09:33 openstackgerrit Eric Fried proposed openstack/nova master: Test proper allocation of devices during reshape https://review.openstack.org/639854
22:13:07 efried mriedem, jaypipes: I think vgpu reshape is ready to go https://review.openstack.org/#/c/636591/
22:14:23 melwitt efried: AFAIK, I don't think doing that is a thing. why do you want to do it?
22:14:55 efried melwitt: just because there's a libvirt method I want to call that expects Instance. See https://review.openstack.org/639854
22:15:48 melwitt oh, I see. I haven't seen a test like that before
22:16:36 melwitt mriedem is probably your best bet for an idea
22:17:08 mriedem cfriesen: that's because image meta is stored in instance_system_metadata
22:17:33 mriedem cfriesen: hence https://github.com/openstack/nova/blob/master/nova/objects/image_meta.py#L126
22:19:37 mordred mriedem: wow, yea. that's awesome
22:19:42 mriedem efried: commented
22:19:45 cfriesen mriedem: _get_guest_config() is called with "image_meta" as an arg, but image_meta.properties.get('traits_required') returns nothing
22:19:47 mriedem on your test that is
22:20:07 mordred mriedem: have we ever fixed documentation suggesting people not use "RegionOne" as the region names for their clouds?
22:20:21 melwitt heh, well that was easy
22:20:25 mriedem mordred: not familiar
22:20:28 efried thanks mriedem
22:20:36 cfriesen mriedem: I see "image_trait:COMPUTE_SECURITY_TPM_1_2" in table instance_system_metadata though
22:20:39 mordred mriedem: and here I thought you knew everything
22:21:17 mriedem mordred: i'm selfish and only care about compute api docs
22:21:42 mriedem heh lots o todos here https://developer.openstack.org/api-guide/compute/users.html

Earlier   Later