Earlier  
Posted Nick Remark
#openstack-nova - 2021-09-07
16:40:04 gibi :)
16:40:17 gibi any other topic for today?
16:42:10 gibi then lets closed this
16:42:17 gibi thanks for joining
16:42:23 gibi #endmeeting
16:42:23 opendevmeet Meeting ended Tue Sep 7 16:42:23 2021 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)
16:42:23 opendevmeet Minutes: https://meetings.opendev.org/meetings/nova/2021/nova.2021-09-07-16.00.html
16:42:23 opendevmeet Minutes (text): https://meetings.opendev.org/meetings/nova/2021/nova.2021-09-07-16.00.txt
16:42:23 opendevmeet Log: https://meetings.opendev.org/meetings/nova/2021/nova.2021-09-07-16.00.log.html
16:42:59 bauzas holy shit, I was already knowing about it
16:44:35 mloza Thanks. I think the instance should have extra_specs and prefer live migrating without a target host. If I have to add to extra_specs in the instance, is it instance_extra table that I have to modify ?
16:45:03 mloza instance_uuid='a65b26f5-a278-4200-a573-84e01c685699'; which has "extra_specs": {"aggregate_instance_extra_specs:cephcomputestorage": "true"}
16:45:12 mloza https://paste.opendev.org/raw/bMf35OK3I9aYbCNCv9jm/
16:45:59 gibi mloza: yepp if you want to hack the db then that is the place
16:47:04 sean-k-mooney well there are 2 palces
16:47:20 sean-k-mooney the instance extra table is what woud be used for generating the vm xml and on the compute node
16:47:56 opendevreview melanie witt proposed openstack/placement master: Narrow scope of set allocations database transaction https://review.opendev.org/c/openstack/placement/+/807014
16:48:58 sean-k-mooney i woudl hope that is the same falvor we use for move operation inthat are not resize but we do also have flavor info in the request spec which is what is passed to the schduler filters
16:49:32 sean-k-mooney the schduler never uses the info in the instance_extra tabel driectly
16:51:18 mloza where does the scheduler pull info if not from instance_extra table ?
16:52:01 sean-k-mooney i belive we invoke the schduler with a populated request spec object when we do the select destioantion call form the conductor
16:52:16 sean-k-mooney but technially there is a request_sepcs table in the api db
16:52:23 sean-k-mooney with a serialised copy of the requst spec
16:53:15 bauzas sean-k-mooney: this is correct
16:53:25 bauzas but when you resize (eg.) you update the request spec
16:53:33 sean-k-mooney yes
16:53:37 bauzas for the flavor, I mean
16:53:40 sean-k-mooney but what about live migrate and cold migrate
16:53:48 sean-k-mooney do they just use the api db copy
16:54:03 sean-k-mooney or reconstruct it form the embeded flavor in the cell db
16:54:37 bauzas cold and live migrate don't modify the resources, right?
16:54:48 bauzas resize and rebuild do
16:55:08 bauzas so, yes, we just call out the request spec from the api table
16:55:23 bauzas we never lookup the cell db
16:55:37 sean-k-mooney right which has an enbeded copy of the flavor extra specs
16:55:49 bauzas the instance table, you mean?
16:56:06 sean-k-mooney mloza: so you would have to update both the instnace_extra table for the compute node to use and request_specs table for the scuduler to use
16:56:28 sean-k-mooney bauzas: no the request_spec has a full embeded copy of the flavor as a json blob
16:56:40 sean-k-mooney well seriasised nova object
16:56:42 bauzas ah this
16:56:46 bauzas yes
16:57:03 bauzas we have the embedded flavor stored in two places
16:57:03 sean-k-mooney so if mloza is changing it to make live migrateion work they need to update the request_sepc version
16:57:09 sean-k-mooney bauzas: yes
16:57:16 bauzas one in the api db within the request_specs table
16:57:26 bauzas one in the cell db within the instances table
16:57:40 bauzas the instances table is never used for scheduling decisions
16:57:42 sean-k-mooney instance_extra but yes
16:57:49 bauzas my bad, yes indeed
16:58:08 mloza i looked at request_specs in nova api db and indeed, there is extra_specs
16:58:11 sean-k-mooney so mloza you would have to keep both in sync if you do decide to hack the db
16:59:56 mloza noted. thanks for the info
17:01:04 mloza nbeed to figure out the query to modify the json blob in the table extra_specs and request_specs
17:01:36 bauzas use the python objects directly
17:01:43 bauzas simple and quick
17:02:11 bauzas but you need to run the python script somewhere where you have some nova code
17:02:40 sean-k-mooney this come up often
17:02:47 bauzas in the past, we said those instances can be rebuilt
17:02:54 sean-k-mooney not for flavor
17:03:01 sean-k-mooney but ya resized
17:03:03 bauzas or resized
17:03:07 sean-k-mooney but this comes up alot
17:03:22 bauzas and we said we are cloud
17:03:31 sean-k-mooney it is a significant downstream and upstream
17:03:38 bauzas for some reason, people thought we were vmware
17:03:42 sean-k-mooney right and there is a cloud native way to do it
17:04:00 sean-k-mooney well k8 swould suport this too alto0ugh it would delete it and recreate it
17:04:00 bauzas resize --live ?
17:04:15 bauzas you could even use bfv
17:04:18 sean-k-mooney no resize to same flavor updates embeded extra specs
17:04:34 sean-k-mooney we agreeed i should write a spec for that
17:04:41 sean-k-mooney just didnt do it last cycle
17:04:51 sean-k-mooney still a move op with downtime
17:05:05 sean-k-mooney like normal resie just we don tallow resize to same flavor today
17:05:24 sean-k-mooney so you have to duplicate the flavor rather then update it and then update all your exsiting vms
17:09:43 dansmith resize to same flavor might involve a reschedule though right?
17:09:59 dansmith so you'd need to have a "move me if necessary" or "don't move me and abort if I would have to move" option
17:10:25 sean-k-mooney dansmith: yes its a normal resize just removing the requirement to have a different flavor
17:10:50 dansmith right but people wanting this will likely want to violate those assumptions
17:11:09 dansmith the person asking for this wanted to resize to the same flavor, but without moving or even rebooting, so they could then live migrate
17:11:11 sean-k-mooney i think the assumtion would be its alwasy going to change host
17:11:19 sean-k-mooney it might now but proably will
17:11:23 dansmith that wouldn't do what the person wanted though
17:11:23 sean-k-mooney *not
17:11:36 dansmith so I'm just saying, it's sticky :)
17:11:44 dansmith or slippery, or whatever
17:11:56 sean-k-mooney true its the only safe way to do it if we allow you to update anything
17:12:01 sean-k-mooney e.g. numa or cpu pinning
17:12:59 sean-k-mooney by the way we dont correctly update extra spec on resize https://review.opendev.org/c/openstack/nova/+/805882/1/nova/tests/functional/libvirt/test_pci_sriov_servers.py
17:13:05 sean-k-mooney artom is working on that
17:13:23 artom Once I surface from these esclations, but yes
17:13:27 sean-k-mooney https://launchpad.net/bugs/1941005
17:13:42 sean-k-mooney im pretty sure we regressed this at some point
17:13:56 sean-k-mooney but ya that is also a thing right now
17:16:42 sean-k-mooney although im slight confusted why this set of tempest test is passign https://review.opendev.org/c/openstack/whitebox-tempest-plugin/+/806239/6/whitebox_tempest_plugin/api/compute/test_vpmu.py
17:19:12 artom sean-k-mooney, maybe we update the request spec when we confirm the resize?
17:19:23 sean-k-mooney oh ya that could be it
17:19:40 sean-k-mooney so we need that refactoring i suggested where we can assert thing during resize verify
17:20:04 artom Aye
17:20:12 sean-k-mooney that would also explain why we have not notcied this if it update on confirm

Earlier   Later