| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-10-03 | |||
| 08:22:53 | bauzas | good morning Nova | |
| 08:59:47 | kashyap | Morning | |
| 09:00:41 | kashyap | stephenfin: sean-k-mooney: Do you know if any operators care about CPU hotplug? | |
| 09:00:45 | kashyap | (Or anyone) | |
| 09:01:12 | kashyap | (At least I see an old blueprint for it - https://blueprints.launchpad.net/nova/+spec/instance-mem-and-cpu-hot-plugging) | |
| 09:15:48 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Don't create instance_extra entry for deleted instance https://review.opendev.org/412771 | |
| 09:29:53 | openstack | bug 1781286 in OpenStack Compute (nova) "CantStartEngineError in cell conductor during reschedule - get_host_availability_zone up-call" [Medium,In progress] https://launchpad.net/bugs/1781286 - Assigned to Matt Riedemann (mriedem) | |
| 09:29:53 | openstackgerrit | Merged openstack/nova master: Add functional regression test for build part of bug 1781286 https://review.opendev.org/685998 | |
| 09:35:59 | openstack | bug 1781286 in OpenStack Compute (nova) "CantStartEngineError in cell conductor during reschedule - get_host_availability_zone up-call" [Medium,In progress] https://launchpad.net/bugs/1781286 - Assigned to Matt Riedemann (mriedem) | |
| 09:35:59 | openstackgerrit | Merged openstack/nova master: Add functional regression test for migrate part of bug 1781286 https://review.opendev.org/686017 | |
| 09:39:21 | openstackgerrit | Merged openstack/python-novaclient stable/stein: Stop silently ignoring invalid 'nova boot --hint' options https://review.opendev.org/685981 | |
| 10:03:31 | bauzas | gibi: <3 | |
| 10:03:52 | bauzas | gibi: you're totally right, I forgot to update my cell check when looking at the RPs | |
| 10:03:58 | bauzas | gibi: for the audit command | |
| 10:04:08 | bauzas | gibi: so that's why https://paste.ubuntu.com/p/J4S3Y3r4fh/ | |
| 10:38:53 | sean-k-mooney | kashyap: both memory and cpu hotplug have been reject in the past both as an api do explcitly added/remove each resource to/form an instnace and in the form of live reszie | |
| 10:39:11 | sean-k-mooney | but there has been requests for it | |
| 10:39:36 | sean-k-mooney | arbiatry hotplug was rejected as it basical breaks flavors | |
| 10:40:06 | sean-k-mooney | and how flavors are used for billing | |
| 10:41:39 | sean-k-mooney | i also suspec based on comment made by dansmith in the past that while we try to ues the embeded flavor everywhere that it maters there may be edgecase where we dont so adding hotplug support that is not flavor based could have implciations for move operations | |
| 10:41:54 | sean-k-mooney | the flavor based appach was reject for a diffrent reason | |
| 10:42:05 | sean-k-mooney | resize down if very hard | |
| 10:42:52 | sean-k-mooney | you technially can offline cpus or dimms in the linux kernel then hot unplug them but that requries guest coperation | |
| 10:43:46 | sean-k-mooney | hot adding of cpus and memory generaly requires you to forward declare a set of free dimm slots or cpu sockets | |
| 10:44:24 | sean-k-mooney | and like the pcie ports i suspect there is qemu overhead required to support that so if you were to do that by default you would waste ram | |
| 10:45:42 | sean-k-mooney | so ya im not sure it fits with the cloud model where i think the spot isntance model is much more correct. e.g. burst horizontally not vertically | |
| 10:50:03 | kashyap | sean-k-mooney: Hi, reading the scroll now | |
| 10:50:39 | kashyap | sean-k-mooney: (Yeah, I recall the perils of the resize down) | |
| 10:51:01 | kashyap | sean-k-mooney: Thanks for the input. | |
| 10:58:11 | gibi | bauzas: I'm happy that I could help | |
| 11:04:52 | bauzas | gibi: around ? I wonder how to fix the cells issue | |
| 11:05:19 | gibi | bauzas: partially, I'm on a full day internal workshop | |
| 11:05:46 | gibi | bauzas: but I think there is good example in the heal_allocations code about cell handling | |
| 11:08:42 | gibi | bauzas: https://github.com/openstack/nova/blob/caffac7bb06cf7606f7447d0f2ee37ba50dd0b48/nova/cmd/manage.py#L2448 | |
| 11:09:04 | bauzas | gibi: the problem is that I need to find the cell for a compute node UUID | |
| 11:09:24 | bauzas | gibi: the problem is that I don't know yet the hostname | |
| 11:09:53 | bauzas | anyway, /me needs to go the school for his daughters | |
| 11:09:57 | bauzas | back | |
| 11:10:07 | gibi | bauzas: talk to you later | |
| 11:54:16 | stephenfin | gibi: Replied on https://review.opendev.org/#/c/684334/ | |
| 12:07:30 | gibi | stephenfin: thanks for the explanation. | |
| 13:29:03 | mriedem | stephenfin: ping me when you get https://review.opendev.org/667133 updated and i'll take a look, don't want to lose track of that since it's huge | |
| 13:33:12 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/rocky: Skip test_parallel_evacuate_with_server_group until fixed https://review.opendev.org/686402 | |
| 13:39:51 | gibi | bauzas: I think I see your compute node uuid -> cell mapping issue in https://review.opendev.org/#/c/670112 | |
| 13:40:20 | gibi | bauzas: we cannot map a compute node back to a cell easily. | |
| 13:41:04 | gibi | bauzas: if we assume that the compute node RP's name is the hostname of the compute host, then we can map to cells. But the we cannot support virt drivers using more than one node per host | |
| 13:43:05 | mriedem | you can map the compute node to a host mapping which is in a cell | |
| 13:43:28 | bauzas | gibi: the problem is that we only know the RP UUID | |
| 13:43:57 | mriedem | rp uuid == compute node uuid == get the compute node == get the host mapping == get the cell | |
| 13:44:55 | bauzas | mriedem: sure, but in the nova-manage, I can't just ask https://review.opendev.org/#/c/670112/5/nova/cmd/manage.py@2669 directly, right? | |
| 13:46:35 | mriedem | oh i see, chicken and egg | |
| 13:46:53 | mriedem | you can scatter/gather cells looking for hte compute node by uuid | |
| 13:46:54 | dansmith | scatter/gather? | |
| 13:46:55 | dansmith | yeah | |
| 13:47:01 | mriedem | that's what the api does i think | |
| 13:47:47 | mriedem | well i guess it doesn't https://github.com/openstack/nova/blob/master/nova/compute/api.py#L5261 but it could | |
| 13:47:47 | gibi | yeah you have to search for the root RP UUID as a compute node id in every cell | |
| 13:48:07 | bauzas | I can scatter/gather for sure | |
| 13:48:14 | bauzas | but it will take time | |
| 13:48:28 | bauzas | I mean, it's a performance issue | |
| 13:48:42 | dansmith | eh? | |
| 13:48:45 | gibi | bauzas: would be better scatter / gather once to get all the compute node objects from all cells? | |
| 13:48:51 | bauzas | when calling the audit command, then we would have to look at all the cells to find the one having the CN UUID | |
| 13:48:54 | mriedem | scatter/gather non-cell0 cells since you shouldn't have compute nodes in cell0, | |
| 13:49:02 | mriedem | and for most deployments that's only going to be 1 cell to query | |
| 13:49:22 | dansmith | bauzas: you need to scatter/gather a get_by_uuid() right? | |
| 13:49:23 | dansmith | that should be uber fast | |
| 13:49:44 | bauzas | I did this for PS1 https://review.opendev.org/#/c/670112/1/nova/cmd/manage.py@2309 | |
| 13:50:08 | bauzas | dansmith: okay, lemme try to do it | |
| 13:50:30 | bauzas | and then we could for example ask CERN to verify the performance | |
| 13:50:37 | bauzas | or mnaser :) | |
| 13:51:11 | mriedem | my comment wasn't about using scatter/gather, it was about starting with compute nodes and working backward to resource providers | |
| 13:51:15 | bauzas | mriedem: gibi: dansmith: thanks for the help | |
| 13:51:29 | gibi | bauzas: np | |
| 13:51:50 | bauzas | mriedem: yeah, no worries, I already understood this, I just tried to explain that I already used scatter_gather so I already know it :) | |
| 13:51:55 | mriedem | being an audit / heal style command, i don't think blazying fast performance is the primary concern | |
| 13:52:04 | mriedem | *blazing even | |
| 13:52:46 | mriedem | do you allow passing in a single uuid to audit? if not you probably should so you don't have to audit all 20K nodes just to heal one of them that is a problem. | |
| 13:53:29 | mnaser | yeah i think we should loop over RPs instead of CNs | |
| 13:53:30 | gibi | mriedem: yes, the command has a --resource_provider flag | |
| 13:53:35 | mriedem | 20K compute services + x number of ironic VMs... | |
| 13:53:42 | mriedem | *ironic BMs / instances | |
| 13:53:48 | dansmith | mriedem: you know, this has come up before.. we really should move HostMapping to use (or at least have) the compute uuid in there | |
| 13:54:04 | mriedem | dansmith: the cardinality isn't correct for that | |
| 13:54:15 | mriedem | for ironic you have 1 host mapping to x nodes | |
| 13:54:30 | mriedem | gibi: ok good - except let's drop the underscore in the option name, i hate that | |
| 13:54:33 | mriedem | e.g. --max_rows | |
| 13:54:42 | mriedem | options should use dashes | |
| 13:54:51 | dansmith | mriedem: right, which also causes us trouble and why we need thatother mechanism of hostmapping discovery... | |
| 13:54:53 | mriedem | i think stephenfin and i might agree on one thing and that's probably it | |
| 13:55:22 | dansmith | mriedem: I the point is we kinda need nodes and hosts in there, by uuid or name depending :D | |
| 13:55:39 | mriedem | dansmith: so for an ironic compute service, the HostMapping just wouldn't have uuid set? | |
| 13:55:47 | sean-k-mooney | well we can still have a 1:n mapping in the 1:1 case it jsut a specific value of n | |
| 13:56:04 | sean-k-mooney | so we could model it in the db using a mapping table | |
| 13:56:11 | mriedem | .... | |
| 13:56:12 | sean-k-mooney | and in the object as a list right? | |
| 13:56:39 | sean-k-mooney | which might be what we alreday do | |
| 13:56:45 | sean-k-mooney | i was not following the conversation | |
| 13:57:01 | mriedem | from a coding api perspective, if i'm relying on the host mapping uuid to get/match the compute node uuid, then how do i know if that host is managing one or many nodes | |
| 13:57:09 | mriedem | also, | |