| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-06-16 | |||
| 10:47:14 | sean-k-mooney | although old nova will proably ignore the type so i might be over thinking it | |
| 10:47:34 | sean-k-mooney | future us problems | |
| 10:50:11 | gibi | yepp | |
| 10:53:05 | gibi | \one more architectural difference for today: for pci it cannot be decided if reshape is needed without checking existing nova allocations of pci also exists in placement too. As during rolling upgrade new pci allocations can arrive to a compute without placmeent allocation | |
| 10:53:32 | gibi | so for pci we will do periodic healing | |
| 10:53:37 | gibi | instead of a one time reshape | |
| 10:56:18 | sean-k-mooney | fun | |
| 10:56:27 | sean-k-mooney | is that not the case for cpus? | |
| 10:57:18 | sean-k-mooney | the reshape will be tied to the pci/repot_to_placement conf or whatever it was right | |
| 10:58:06 | sean-k-mooney | so this will be skiped if that is not set | |
| 11:10:48 | gibi | it seems for cpus we did not needed this | |
| 11:11:17 | sean-k-mooney | im not really sure why it woudl be differnt | |
| 11:11:32 | gibi | yes, the whole tracking and reshape code starts with an if not CONF.pci.report_in_placement: return | |
| 11:12:14 | gibi | sean-k-mooney: for cpus we do two a_c queries to enforce allocation if placement has inventory | |
| 11:12:29 | sean-k-mooney | oh the fallback query | |
| 11:12:31 | gibi | and fall back to legacy query | |
| 11:12:32 | gibi | yeah | |
| 11:12:39 | sean-k-mooney | i mean we can do that for pci | |
| 11:12:42 | sean-k-mooney | if we want too | |
| 11:13:45 | sean-k-mooney | i guess that does nto really work the same if we use a prefilter | |
| 11:13:57 | sean-k-mooney | we had to do some extra chagnes for the fallback | |
| 11:14:23 | gibi | periodic healing feels less complex to me code wise | |
| 11:14:31 | sean-k-mooney | ack | |
| 11:15:22 | gibi | I also would like make the healing code accessible from nova-manage | |
| 11:15:56 | gibi | healing / audit | |
| 11:16:09 | gibi | basically the same code can tell if something is missing and also can fix it | |
| 11:16:20 | gibi | or delete if there are overallocations in placement | |
| 11:23:45 | sean-k-mooney | yep that makes sense too | |
| 11:24:37 | sean-k-mooney | personally i think we should merge audit and heal by the way or at least move the delete allcoation logic form audit to heal | |
| 11:25:02 | sean-k-mooney | audit is very very badly named | |
| 11:25:08 | gibi | yepp | |
| 11:25:10 | gibi | I agree | |
| 11:25:23 | gibi | we need only one CLI to check and fix | |
| 11:25:40 | sean-k-mooney | yep basicaly one command with a dry run mode | |
| 11:26:00 | sean-k-mooney | that just prints the problems that would be fixed | |
| 11:26:46 | sean-k-mooney | but does not actully do them, if you are happy drop --dry-run or add --apply whatever way we want to set the default | |
| 11:28:11 | jkulik | may I ask, how do you run nova-manage? Do you have the config to access stuff "locally" or do you connect to some VM/container containing nova-api or something or do you have a special "manage" host/container for that? | |
| 11:28:31 | sean-k-mooney | you normlaly ssh to one of your contolers | |
| 11:28:34 | sean-k-mooney | and run it form there | |
| 11:28:52 | sean-k-mooney | but you can run it locally with configs yes if you need too | |
| 11:29:30 | sean-k-mooney | if you are using something like kolla you would do an exec into the contaienr to run it yes | |
| 11:29:33 | jkulik | ok. thanks. always felt a little wrong to me. why does it have to be a CLI and not an admin api? | |
| 11:30:13 | sean-k-mooney | the api process does not have access to everything that is needed to run it | |
| 11:31:11 | sean-k-mooney | jkulik: im sure you dont really want to be sendign you db/rabit password over a rest api request in general too | |
| 11:31:29 | opendevreview | Merged openstack/os-vif master: Drop lower-constraints.txt and its testing https://review.opendev.org/c/openstack/os-vif/+/840020 | |
| 11:32:10 | sean-k-mooney | jkulik: there would be ways to have apis do similar things but you need to use nova-manage to bootstrap things like the db | |
| 11:32:23 | jkulik | sean-k-mooney: you mean for setting up cells? otherwise, both are in the db | |
| 11:32:42 | sean-k-mooney | doing offline db migrations | |
| 11:33:03 | sean-k-mooney | openstack and nova in this case genreal requried all contoler process to agre on the db schema | |
| 11:33:47 | jkulik | hm ... yeah, didn't think about those. fair point, that there are definitely commmands that can't go via API | |
| 11:34:01 | sean-k-mooney | the cell info is generaly in the db yes but if you are using templated db/rabbit urls in the db the passwords come form the nova.config | |
| 11:34:32 | jkulik | oh. I didn't know about that possibility | |
| 11:35:12 | sean-k-mooney | https://docs.openstack.org/nova/latest/admin/cells.html#template-urls-in-cell-mappings | |
| 11:35:33 | sean-k-mooney | jkulik: they are optional | |
| 11:35:57 | sean-k-mooney | but they were created to make doing password rotation simplere with config tools like ansible | |
| 11:36:13 | sean-k-mooney | since you just need to update the configs and the passward on the db | |
| 11:36:34 | sean-k-mooney | that and to not store passwords in plain text in the db | |
| 11:36:44 | jkulik | yeah, immediately wondering if we want that, too | |
| 11:36:53 | jkulik | downstream I mean | |
| 11:37:12 | sean-k-mooney | in which downstream | |
| 11:37:35 | jkulik | I mean in our installations of Nova. sorry for the confusing wording | |
| 11:37:39 | sean-k-mooney | tripleo uses it by defualt i think | |
| 11:37:50 | jkulik | we have a helm-chart to deploy Nova | |
| 11:37:56 | sean-k-mooney | ah ok | |
| 11:38:09 | sean-k-mooney | i dont know if openstack ansible or kolla ever addopted it | |
| 11:38:22 | sean-k-mooney | but ya its up to each installer | |
| 11:47:44 | sean-k-mooney | gibi: just because i happen to be looking at the code do you knwo why we dont allwo you to plug in image_types backends using stevador extention points like we do for filteres? | |
| 11:47:57 | sean-k-mooney | i just noticed it was a dict https://github.com/openstack/nova/blob/93a65f06df67ce39d65827692150c78013c7f6d5/nova/virt/libvirt/imagebackend.py#L1286-L1294= | |
| 11:48:20 | gibi | I think nobody asked for it | |
| 11:48:42 | gibi | also we removed a bunch of extension points in the past | |
| 11:48:47 | gibi | so we might not want to add more | |
| 11:49:07 | gibi | but technically we could add one | |
| 11:49:29 | sean-k-mooney | ya i know proably more then we should have but that would be one way to allow people to play with a bfv backend and protype it. | |
| 11:50:06 | sean-k-mooney | the image ABC is intneded to define the api https://github.com/openstack/nova/blob/93a65f06df67ce39d65827692150c78013c7f6d5/nova/virt/libvirt/imagebackend.py#L81= | |
| 11:51:08 | sean-k-mooney | gibi: or for example add the ablity to use libvirt sotorage pools. | |
| 11:51:47 | sean-k-mooney | although im relaly not sure how solid that interface actully is | |
| 11:52:09 | gibi | but why this needs to be an extension why cannot be just proposed to nova as a backend? | |
| 11:53:03 | sean-k-mooney | because if its an exstion we can easilly move backend we dont like out of tree | |
| 11:53:41 | sean-k-mooney | but also because it seams liek a nice extion point ot have | |
| 11:53:47 | sean-k-mooney | i was just wondering | |
| 11:56:11 | jrosser_ | sean-k-mooney: OSA uses templated db url but there is a bug we hit https://github.com/openstack/openstack-ansible-os_nova/blob/master/tasks/nova_db_setup.yml#L58-L87 | |
| 11:56:49 | gibi | extension point has a cost though, we cannot change the API freely | |
| 11:57:15 | gibi | as that might break out of tree extensions | |
| 11:59:53 | sean-k-mooney | yep | |
| 12:47:46 | sean-k-mooney | gibi: by the way its a supper low priortiy right now but if i every get around to updating my black patch to the currnent 79 charater line lenght are you still interested in reviewing it | |
| 12:48:09 | sean-k-mooney | i was just cleaning up some terminals and closed the one i was working on that in | |
| 12:48:25 | sean-k-mooney | well one of them | |
| 12:48:30 | sean-k-mooney | i still have it open in emacs | |
| 12:49:08 | gibi | yes I stil think we should merge it on master with 79 lines | |
| 12:51:05 | sean-k-mooney | oh thats where i put the default chagne stuff | |
| 12:51:25 | sean-k-mooney | i started that in vscode since i was using that to debug the repoducer | |
| 12:51:46 | sean-k-mooney | i spent like 30 mins looking for it in differnt emacs and terminal windows | |
| 12:52:06 | gibi | :D | |
| 12:53:30 | sean-k-mooney | it also does not help that i have 4 copies of nova and i started workign on it in the one i reseve for quickly pulling down patches and testing them locally | |
| 12:53:48 | sean-k-mooney | aka ~/repos/openstack/nova-3 | |
| 12:53:51 | gibi | I started using git worktree so I can track where I my nova checkouts :D | |
| 12:54:01 | gibi | s/I/are/ | |
| 12:54:20 | sean-k-mooney | what is git worktree | |
| 12:54:33 | gibi | you can have multiple working direktory for a single git repo | |
| 12:54:42 | gibi | each directory can have a different version checked out | |