| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-08-24 | |||
| 09:47:14 | sean-k-mooney | by the way if an object suppots soft delele is determin by if it has the softDeleteMixin in the db model | |
| 09:47:16 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/db/main/models.py#L139 | |
| 09:47:19 | sean-k-mooney | not the ovo | |
| 09:47:39 | sean-k-mooney | Uggla: its something i have wanted to do for a few releases | |
| 09:48:20 | sean-k-mooney | basically i want to remove or custom db backup/audit facilaties sicne operator have written there own | |
| 09:48:45 | sean-k-mooney | nova i think is the only project with shadow tabels so they wroge a solution that worked for all of them | |
| 09:50:43 | sean-k-mooney | https://github.com/ovh/osarchiver/ | |
| 09:50:45 | sean-k-mooney | ^ | |
| 09:51:08 | sean-k-mooney | i woudl like to replace or in tree shadow tabels with that solution eventually | |
| 09:52:20 | sean-k-mooney | i would propose formally deprecating Shadow tabels in AA and remove them in BB | |
| 09:52:38 | sean-k-mooney | soft delete we might want to keep becuase you can undelete instnaces | |
| 09:52:50 | sean-k-mooney | if the soft delete functionlatiy is enbaled itn the config | |
| 09:56:06 | sean-k-mooney | Uggla: gibi by the way we do not support fog deleteing for the api db resouces | |
| 09:56:07 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/db/api/models.py#L61-L95 | |
| 09:56:59 | sean-k-mooney | we do for all the cell db resouce excpt server tags and console auth tokens | |
| 09:57:01 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/db/main/models.py#L1023-L1073 | |
| 09:57:05 | gibi | yep I noted that above that the aggregate db table has not deleted_at column so no need to contract | |
| 09:57:48 | sean-k-mooney | so for the share mappign we dont actully need a new ovo | |
| 09:58:02 | sean-k-mooney | we can just not add the soft delete mixing to the table in the db model | |
| 09:59:38 | sean-k-mooney | Uggla: https://github.com/openstack/oslo.db/blob/master/oslo_db/sqlalchemy/models.py#L129-L137 is where soft delete is implemented | |
| 10:00:12 | gibi | the ovo base class adds deleted_at column today | |
| 10:00:16 | gibi | to the ovo | |
| 10:00:23 | sean-k-mooney | to the object sent over the wire | |
| 10:00:36 | sean-k-mooney | but that does not mean it needs to be in the api reponce or the db model | |
| 10:01:23 | sean-k-mooney | we can just ignore them. if we want to have a new base class that does not have them that is also ok | |
| 10:01:25 | gibi | my original comment on Uggla's patch was to not hack out the deleted_at column from the ShareMapping ovo but not add it in the first place | |
| 10:01:50 | sean-k-mooney | ya im fine with that too | |
| 10:02:01 | gibi | https://review.opendev.org/c/openstack/nova/+/839401/6/nova/objects/share_mapping.py#49 | |
| 10:02:54 | sean-k-mooney | so they dont need to do that | |
| 10:03:05 | sean-k-mooney | if they just dont defien the columns in the db model | |
| 10:03:52 | gibi | honestly I don't want to to have columns in a new ovo that are not used | |
| 10:04:05 | sean-k-mooney | ack | |
| 10:04:18 | sean-k-mooney | we have that alredy for many object | |
| 10:04:37 | gibi | yes, but don't increase that debt if not really necesary | |
| 10:04:44 | sean-k-mooney | sure | |
| 10:05:05 | sean-k-mooney | so i think we are agreed Uggla should add one new base class without those fields | |
| 10:05:09 | sean-k-mooney | and not touch any of the rest | |
| 10:05:38 | sean-k-mooney | and we can disucss at the ptg if we will have time to do object cleanup in AA or BB and the faith of shadow tables | |
| 10:05:55 | gibi | agreed | |
| 10:05:56 | gibi | :) | |
| 10:06:24 | Uggla | sounds good to me. thanks. | |
| 10:08:28 | gibi | sean-k-mooney: re pci: I have to retract my original statement about nova splitting pools per PF. It splitted in my original test due to numa node differences (the fixture creates numa automatically). So on the same numa node we create pools with multiple PFs (of PCI devs). But as I already confirmed that the scheduler logic can split a request over multiple pools I can (and will) cahnge the pooling | |
| 10:08:34 | gibi | logic not to merge pools from different PFs or PCI devs | |
| 10:09:37 | sean-k-mooney | ack | |
| 10:09:39 | gibi | I realized that when I created a host with 3 PCI devs. so numa0 got two | |
| 10:09:47 | sean-k-mooney | ah | |
| 10:09:55 | sean-k-mooney | ya so i know it did it for numa | |
| 10:10:02 | sean-k-mooney | but within a numa node i was not sure | |
| 10:10:11 | sean-k-mooney | i think it also splits for differnnt tags | |
| 10:10:15 | sean-k-mooney | i.e. physnets | |
| 10:10:21 | sean-k-mooney | or tursted vs non trusted | |
| 10:10:24 | gibi | yes I assumed so, what I did not relaized that the fixture automatically split devices equally between numa0 and numa1 | |
| 10:10:31 | sean-k-mooney | but i guess it combines if they are the same | |
| 10:10:49 | sean-k-mooney | ah yes it does | |
| 10:11:06 | sean-k-mooney | you can just create the device manually but the fixture i generally nicer to use | |
| 10:11:14 | gibi | yep | |
| 10:13:36 | gibi | basic cold migrate and resize works with miniumal changes in the conductor so I think evac and unshelve will be easy too | |
| 10:13:53 | gibi | and live migration is not supported for flavor based PCI so that is super easy :D | |
| 10:14:31 | gibi | then I will look at resize revert, reschedule, and multi create in this order | |
| 10:15:14 | sean-k-mooney | lol yep live migration should be trivial :P | |
| 10:15:45 | sean-k-mooney | fortunetly you can also verify them on real hardware for a change too once its working in the func test env | |
| 10:15:58 | gibi | yes I will do a final round in the lab too | |
| 10:16:17 | sean-k-mooney | i still need to go extend the reservation fo those nodes | |
| 10:16:20 | sean-k-mooney | ill do that now | |
| 10:16:22 | gibi | thanks | |
| 10:16:52 | gibi | I use those nodes to run the func and unit tests in bluk too as it is a lot faster there :D | |
| 10:17:24 | gibi | I rsync up my local dev repo and run tox via ssh | |
| 10:17:31 | sean-k-mooney | yep thats why i often do dev on my home server | |
| 10:17:49 | opendevreview | ribaudr proposed openstack/nova master: Default Nova persistent objects without soft delete. https://review.opendev.org/c/openstack/nova/+/854355 | |
| 10:18:05 | sean-k-mooney | its avaiabel until 02-Nov-2022 but that seem longer then we need any prefered end date | |
| 10:18:15 | sean-k-mooney | we can return them early too | |
| 10:18:26 | sean-k-mooney | will i extend it to october 1st? | |
| 10:18:34 | sean-k-mooney | that gives us a month of grace period | |
| 10:19:01 | gibi | oct 1 is totally ok | |
| 10:20:49 | sean-k-mooney | ok done | |
| 10:20:58 | gibi | thanks | |
| 10:21:38 | gibi | OK, so pools are splitted on these keys https://github.com/openstack/nova/blob/master/nova/pci/stats.py#L66 and I need to actaully check parent_addr there as well | |
| 10:22:25 | gibi | if the parent_addr is None or not equal betweent two devs then we need to split | |
| 10:22:51 | sean-k-mooney | yep that makes sense | |
| 10:23:03 | sean-k-mooney | although hum | |
| 10:23:11 | sean-k-mooney | we shoudl be spliting on more then that | |
| 10:23:15 | sean-k-mooney | like phsynet | |
| 10:23:44 | gibi | yes for neutron based sriov we might need that too | |
| 10:24:02 | sean-k-mooney | can you add that while your adding the partent adress | |
| 10:24:32 | sean-k-mooney | im wondering about trusted too | |
| 10:24:49 | sean-k-mooney | i dont know if we need to split based on that | |
| 10:24:49 | gibi | wait | |
| 10:25:00 | gibi | I have to correct myself | |
| 10:25:18 | gibi | https://github.com/openstack/nova/blob/94065763d32287606895c07bd5882bab083a4e48/nova/pci/stats.py#L136-L138 | |
| 10:25:29 | gibi | we split on both those dev fields and the devspec tags | |
| 10:25:39 | gibi | to physnet is handled | |
| 10:26:02 | sean-k-mooney | ah ok as is trusted | |
| 10:26:32 | sean-k-mooney | so this will auto split on traits and resouce class | |
| 10:26:50 | gibi | hehe :) | |
| 10:26:50 | sean-k-mooney | technially we allow operator provided tags too but they were never uable for anything | |
| 10:26:53 | sean-k-mooney | we just ignore them | |
| 10:27:46 | sean-k-mooney | at one point there was talk of allowign the pci alias to match on extra tags | |
| 10:27:51 | gibi | I had to ignore traits and resource_class https://review.opendev.org/c/openstack/nova/+/853316/4/nova/pci/stats.py to keep the pool matching work | |
| 10:28:55 | sean-k-mooney | ah ok hehe | |
| 10:29:10 | gibi | it is mostly ther to keep _filter_pools_for_spec happy as the request contains the traits tag but the pool will not mapped to traits just to RPs | |