| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-03-26 | |||
| 15:49:01 | sean-k-mooney | well the TODO | |
| 15:49:12 | gibi | placement does not know the intention of the clients | |
| 15:49:13 | sean-k-mooney | gibi: yep it would be a logic error | |
| 15:49:20 | sean-k-mooney | but not invalid in general | |
| 15:49:31 | gibi | yepp from placement perspective creating a new root RP is valid | |
| 15:49:39 | sean-k-mooney | so used correctly i think its a useful feature | |
| 15:49:44 | gibi | yepp | |
| 15:50:06 | sean-k-mooney | i also think its slightly diffrent then reshaping | |
| 15:50:11 | gibi | it is | |
| 15:50:19 | gibi | reshape is to move allocations around | |
| 15:50:25 | gibi | this is to move RPs around :) | |
| 15:50:42 | sean-k-mooney | allocation and inventores and potentialy creating more or less RPs | |
| 15:50:50 | gibi | reshape does not create RPs | |
| 15:50:54 | sean-k-mooney | where as moving an RP is just that changing it postion in the grap | |
| 15:50:56 | gibi | but yes it move inventories and allocations | |
| 15:51:06 | sean-k-mooney | gibi: well it does not on the placment side | |
| 15:51:13 | sean-k-mooney | but our nova reshapes do | |
| 15:51:20 | gibi | nova creates RPs, and then reshape to those RPs | |
| 15:51:21 | sean-k-mooney | for example the vgpu reshpe | |
| 15:51:25 | sean-k-mooney | yep | |
| 15:51:29 | gibi | :) | |
| 15:51:49 | sean-k-mooney | we do multipel operation in the nova fucnitons that we incorreectly refer to as reshaping as a whole | |
| 15:52:04 | sean-k-mooney | but ya reshape in the placment api is a specific thing | |
| 15:52:11 | gibi | yepp | |
| 15:52:43 | sean-k-mooney | my original use case for this was moving pci device if we later added numa nodes | |
| 15:52:50 | sean-k-mooney | or vgpus | |
| 15:53:01 | gibi | yepp, I added that to the story as a reason | |
| 15:53:08 | sean-k-mooney | e.g. just changing the partent form the root rp to the numa ndoe | |
| 15:53:13 | gibi | exactly | |
| 15:53:34 | gibi | that will be a reshape in nova but a reparent in placement :) | |
| 15:53:43 | sean-k-mooney | the only thing that woudl be invalidated by that would be the allocation summaries | |
| 15:53:51 | sean-k-mooney | so as long as we are not boot a vm or moveign one | |
| 15:53:54 | sean-k-mooney | it hink it woudl be ok | |
| 15:53:55 | artom | stephenfin, that infamous comment of your for the cold migration functional test mocking is getting around | |
| 15:54:08 | artom | [artom@zoe nova]$ ag dumb nova/tests/functional/libvirt/ | wc -l | |
| 15:54:08 | artom | 11 | |
| 15:54:21 | stephenfin | the dog | |
| 15:54:22 | sean-k-mooney | artom: which one? | |
| 15:54:46 | sean-k-mooney | im surprised we have less use fo dumb in our func test :) | |
| 15:55:08 | artom | # TODO(stephenfin): The mock of 'migrate_disk_and_power_off' should probably be less...dumb | |
| 15:55:08 | sean-k-mooney | there are many silly things | |
| 15:55:24 | sean-k-mooney | hehe | |
| 15:55:33 | stephenfin | I did try to fix that one time | |
| 15:55:36 | stephenfin | and quickly gave up | |
| 15:55:37 | sean-k-mooney | i dont think i have actully seen that beofre or at least read it | |
| 15:55:43 | stephenfin | too much involved | |
| 15:55:43 | sean-k-mooney | but im sure it could be | |
| 16:03:17 | openstackgerrit | Merged openstack/os-vif master: Add Python3 xena unit tests https://review.opendev.org/c/openstack/os-vif/+/781891 | |
| 16:20:51 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: WIP: Test SRIOV port move operations with PCI conflicts https://review.opendev.org/c/openstack/nova/+/783084 | |
| 16:45:35 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: WIP: Test SRIOV port move operations with PCI conflicts https://review.opendev.org/c/openstack/nova/+/783084 | |
| 16:45:35 | openstackgerrit | Artom Lifshitz proposed openstack/nova master: WIP: Neutron fixture: don't clobber profile and vif_details if empty https://review.opendev.org/c/openstack/nova/+/783385 | |
| 16:45:52 | artom | sean-k-mooney, ^^ there :) Good time to pause for lunch | |
| 17:25:01 | sean-k-mooney | artom: yep that is a good approch | |
| 17:25:46 | sean-k-mooney | the inner move_operation fucntion true me for a sec but it makes sense | |
| 17:26:04 | artom | sean-k-mooney, yeah, it's not great, but I wanted to test cold migration too | |
| 17:26:08 | sean-k-mooney | this is where i woudl like to use named lambda but those are not allowed | |
| 17:26:09 | artom | That one works, thankfully | |
| 17:26:54 | sean-k-mooney | as far as i am aware this cannot happen for live mifgation since we dont use the claims in the same way | |
| 17:27:09 | sean-k-mooney | so ya | |
| 17:27:14 | sean-k-mooney | just cold migratoien and shelve | |
| 17:27:22 | sean-k-mooney | although evacualte might also be affected | |
| 17:27:58 | artom | In fact for unshelve we don't have any claims | |
| 17:28:08 | artom | I guess when it was written it was supposed to never change hosts? | |
| 17:28:12 | sean-k-mooney | well we do | |
| 17:28:23 | sean-k-mooney | we have pci claims in the db | |
| 17:28:27 | artom | I dunno, but the way I read it, we just plop the instance on the compute, no questions asked | |
| 17:28:30 | sean-k-mooney | in the pci tracker | |
| 17:28:47 | sean-k-mooney | we do not use move claims | |
| 17:28:57 | sean-k-mooney | because its not actully a move operations | |
| 17:29:13 | sean-k-mooney | unshelve basically uses spawn | |
| 17:29:48 | sean-k-mooney | the vm never really exist in two compute hosts at the same time liek with migrrate and live migrate or evacuate | |
| 17:30:21 | sean-k-mooney | artom: we use the normal instance claim wich is created on the compute node | |
| 17:31:06 | openstackgerrit | Stephen Finucane proposed openstack/nova master: conf: Deprecate AggregateImagePropertiesIsolation opts https://review.opendev.org/c/openstack/nova/+/783396 | |
| 17:31:09 | stephenfin | sean-k-mooney: ^ | |
| 17:31:39 | sean-k-mooney | cool too bad that didnt happen 2 weeks ago | |
| 17:31:50 | sean-k-mooney | ill take a look shortly | |
| 17:32:58 | sean-k-mooney | artom: i dont know if you have looked at unshelve but we go to task state spawning https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6525 | |
| 17:33:07 | sean-k-mooney | then we do a normal instance claim | |
| 17:33:15 | sean-k-mooney | and call driver.spwan | |
| 17:33:17 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6577-L6585 | |
| 17:33:44 | sean-k-mooney | artom: so we use https://github.com/openstack/nova/blob/68ad2c67d891935c66e8c0e5a368695c202a9f49/nova/compute/claims.py#L49 | |
| 17:33:54 | sean-k-mooney | for unshelve just like we do for a new boot | |
| 17:36:21 | sean-k-mooney | artom: by the way im not sure why you need https://review.opendev.org/c/openstack/nova/+/783385/1/nova/tests/fixtures.py | |
| 17:36:56 | sean-k-mooney | you are removing the copies that we make which im not sure is correct | |
| 17:37:18 | sean-k-mooney | other wise what you wote is logically the same | |
| 17:38:03 | artom | sean-k-mooney, that fixes the KeyError | |
| 17:38:06 | sean-k-mooney | i mean if it works cool i just dont know why it does | |
| 17:38:24 | sean-k-mooney | right but body['port'].get('binding:profile') or {} | |
| 17:38:27 | sean-k-mooney | shoudl do the same thing | |
| 17:38:48 | sean-k-mooney | as | |
| 17:38:50 | sean-k-mooney | if body['port'].get('binding:profile'): | |
| 17:38:52 | sean-k-mooney | update['profile'] = body['port']['binding:profile'] | |
| 17:39:19 | sean-k-mooney | well not quite it wont set {} | |
| 17:39:27 | sean-k-mooney | if there is no profile | |
| 17:39:34 | sean-k-mooney | but that hsoudl not clober things | |
| 17:39:59 | artom | sean-k-mooney, right, but it means that if we update with no binding:profile, we'll hit the 'or {}', and assign that | |
| 17:40:00 | sean-k-mooney | oh i see whats hapening | |
| 17:40:05 | artom | Which effectively clobbers | |
| 17:40:14 | sean-k-mooney | ya | |
| 17:40:21 | sean-k-mooney | that is not how the real api work | |