| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-11-16 | |||
| 09:43:31 | kashyap | Good question, I don't even know top off my head. Perhaps bauzas or gibi | |
| 09:43:44 | gibi | zigo: you cannot change the policy of the group | |
| 09:44:06 | zigo | gibi: What's the way to evacuate my node then? | |
| 09:44:35 | gibi | zigo: if you want to live migrate the VM then you can use old microversion to specify the target host with force=true | |
| 09:44:52 | gibi | then the scheduler will not do any checks | |
| 09:44:58 | zigo | Oh, thanks! :) | |
| 09:45:09 | gibi | force available until 2.67 | |
| 09:46:14 | zigo | I'm on Victoria on that cluster, so that's 2.87... :) | |
| 09:48:55 | zigo | openstack server migrate: error: unrecognized arguments: --force | |
| 09:50:18 | zigo | "The Force" isn't with me ... :/ | |
| 09:51:58 | gibi | hm , I don't see --force in openstack client | |
| 09:53:34 | zigo | Right, so how do I do force=true ? | |
| 09:55:28 | gibi | if you use microversion < 2.30 the --host will also mean force as well. but please note that nova will not check the target host if it is valid or not | |
| 09:56:04 | gibi | also if you have an instance with nested allocation like bandwith, vgpu then forcing a host will not work properly, you will probably use the nested allocations | |
| 09:56:25 | gibi | s/use/lose/ | |
| 09:57:33 | gibi | if you want to have safe live migration then you need to disable the server group filter in the scheduler temporarily and do the migration without --host and then restore the filter | |
| 09:58:00 | zigo | Ah, ok. | |
| 09:58:30 | gibi | we lack the capability to change a policy on a server group so affinity is very sticky | |
| 10:01:33 | gibi | (with a small DB hack you can change the affinity to soft-affinity on the group :D) | |
| 10:17:03 | opendevreview | Amit Uniyal proposed openstack/nova stable/train: functional: Rework '_delete_server' https://review.opendev.org/c/openstack/nova/+/864721 | |
| 11:00:43 | zigo | gibi: That's what I ended-up doing, yes ... | |
| 11:00:54 | zigo | I just had a few "Error monitoring migration: internal error: client socket is closed: libvirt.libvirtError: internal error: client socket is closed" | |
| 11:01:00 | zigo | What does this mean, and how to avoid it? | |
| 11:01:55 | sean-k-mooney | that sound like the qemu instance crashed or at least teh qemu monitor connection | |
| 11:15:04 | zigo | ok... | |
| 12:17:38 | opendevreview | Kirill proposed openstack/nova-specs master: new spec: support of vnc console for ironic https://review.opendev.org/c/openstack/nova-specs/+/863773 | |
| 12:31:39 | opendevreview | Sahid Orentino Ferdjaoui proposed openstack/nova-specs master: spec: allowing target state for evacuate https://review.opendev.org/c/openstack/nova-specs/+/857838 | |
| 12:40:01 | opendevreview | Kirill proposed openstack/nova-specs master: new spec: support of vnc console for ironic https://review.opendev.org/c/openstack/nova-specs/+/863773 | |
| 12:42:42 | Kirill_ | hope i covered all wishes) | |
| 12:57:42 | sean-k-mooney | Kirill_: one benifit of looking up the password wehn you connec tby the way is you can actully rotate teh vnc passworkd on the ironic side if that is required by your security policy | |
| 12:58:00 | sean-k-mooney | iw we saved it in the nova db you could never change the vnc password on the ironic host | |
| 13:00:00 | Kirill_ | its not actually true. i mean if we change password on ironic side we will get new password via get_vnc_console method. and it will be stored in nova db. in auth_tokens table we have records for each vnc request | |
| 13:00:39 | Kirill_ | but as you said we need a db migration, so it is easier to make your realisation | |
| 13:00:44 | sean-k-mooney | you mean if you create a new console via the api | |
| 13:00:55 | sean-k-mooney | i guess it would update that way yes | |
| 13:01:41 | sean-k-mooney | so i kind of expect other to ask for more detail in the spec as you have not really explianed how your going to impmletne this in the proxy | |
| 13:04:43 | Kirill_ | just to clarify: more details with realisation with storing password on Nova side? cause with out storing there is nothing to add. i mean only realisation new class which can work with rfb protocol and addifn get_vnc_console method to ironic virt driver. | |
| 13:05:08 | Kirill_ | with out storing password there will e more changes on ironic side | |
| 13:05:32 | Kirill_ | adding new request to ironic_cli. but i think that need to discuss it in ironic channak | |
| 13:05:45 | sean-k-mooney | so without storing the password it would be nice to hav emore then 1 line on the change to the novnc proxy | |
| 13:06:36 | sean-k-mooney | we shoudl call out the depency on the ironic change and deatail the workflow that will be implmented | |
| 13:07:09 | sean-k-mooney | 1 user create console that creaate a token whihc is used by the proxy to corraltate the proxy request to the instnace | |
| 13:07:28 | sean-k-mooney | 2 the user connecct to the proxy with the token and the proxy looks up the password in ironic | |
| 13:08:06 | sean-k-mooney | 3 if that succeed the proxy connect to the vnc console exposed by the bmc and stream the result to the user | |
| 13:09:14 | sean-k-mooney | in step too it woudl be good to call out which ironic endpoint in the api we will invoke to get the password | |
| 13:09:57 | sean-k-mooney | nova does not use the cli by the way to the password need to be accesabel via the ironic api | |
| 13:10:36 | Kirill_ | oh, what do you use instead? | |
| 13:11:49 | sean-k-mooney | inter service comunciation is directly to the rest api. we can use the ironnic-pythonclinet to provide python binding for the rest api but we do not invoke the cli in a subshell | |
| 13:12:14 | sean-k-mooney | eventrually we want to drop the project client and move to the openstack sdk instead | |
| 13:12:44 | Kirill_ | ++ | |
| 13:13:07 | sean-k-mooney | if the info is already acceabel via the sdk you can just use that directly | |
| 13:13:35 | opendevreview | Alexey Stupnikov proposed openstack/nova stable/wallaby: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/864691 | |
| 13:14:49 | sean-k-mooney | Kirill_: currently we are using the ironic client for most things realted to ironic https://github.com/openstack/nova/blob/master/nova/virt/ironic/client_wrapper.py#L57 | |
| 13:15:42 | Kirill_ | i'd like to do smth like this:console = self.ironicclient.call('node.get_console', node_uuid = node_uuid) | |
| 13:15:47 | sean-k-mooney | but we do use the sdk in places | |
| 13:15:48 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L378-L385 | |
| 13:16:05 | Kirill_ | get_console_> get_vnc_password | |
| 13:17:07 | sean-k-mooney | where is the vnc password stored | |
| 13:17:18 | sean-k-mooney | is it directly on the node | |
| 13:17:19 | Kirill_ | in ironic, idrac-info | |
| 13:17:34 | Kirill_ | on node | |
| 13:18:13 | Kirill_ | node show will return vnc_pasword:**** | |
| 13:18:42 | sean-k-mooney | ok we alreay have a get node function https://github.com/openstack/nova/blob/master/nova/virt/ironic/driver.py#L215-L226 | |
| 13:19:20 | sean-k-mooney | so you should jsut be able to call that and do pwd = node.vnc_password | |
| 13:21:10 | Kirill_ | yep, sound good | |
| 13:23:09 | sean-k-mooney | i dont directly see it here https://github.com/openstack/openstacksdk/blob/master/openstack/baremetal/v1/node.py#L97-L246 but its proably there on a sub filed of one of those properties | |
| 13:25:54 | sean-k-mooney | its not directly in https://github.com/openstack/python-ironicclient/blob/master/ironicclient/v1/node.py either so im guessing its a subfield | |
| 13:26:58 | Kirill_ | thanks, need to check it | |
| 13:40:03 | opendevreview | Alexey Stupnikov proposed openstack/nova stable/victoria: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/864730 | |
| 13:41:52 | opendevreview | Alexey Stupnikov proposed openstack/nova stable/victoria: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/864730 | |
| 13:48:28 | opendevreview | Alexey Stupnikov proposed openstack/nova stable/ussuri: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/864732 | |
| 13:51:15 | opendevreview | Alexey Stupnikov proposed openstack/nova stable/train: Cleanup old resize instances dir before resize https://review.opendev.org/c/openstack/nova/+/864692 | |
| 14:05:58 | Uggla | bauzas, shit ! I have just encountered a "great python" ! ;) | |
| 14:17:15 | bauzas | sorry, was at the doc for a inflamed shoulder ;) | |
| 14:40:05 | sahid | o/ gibi,sean-k-mooney again me :-) About your point on the spec https://review.opendev.org/c/openstack/nova-specs/+/857838 | |
| 14:40:46 | sahid | so I have to add a check to here which verifies that the RPC version is supported | |
| 14:40:49 | sahid | https://review.opendev.org/c/openstack/nova/+/858384/19/nova/api/openstack/compute/evacuate.py#98 | |
| 14:41:34 | sahid | that is the point? I'm verify sorry I'm not so famialiar with the API/RPC part | |
| 14:44:46 | sean-k-mooney | so indie that if | |
| 14:44:51 | sean-k-mooney | *inside | |
| 14:45:01 | sean-k-mooney | you can get the min compute service verion | |
| 14:45:13 | sean-k-mooney | and raise an excption if it below the one required for your feature | |
| 14:45:29 | sahid | perfect, got it! | |
| 14:45:35 | sahid | thanks a lot | |
| 14:46:07 | sean-k-mooney | min_ver = objects.service.get_minimum_version_all_cells( | |
| 14:46:09 | sean-k-mooney | nova_context.get_admin_context(), ['nova-compute'] | |
| 14:46:11 | sean-k-mooney | ) | |
| 14:46:13 | sean-k-mooney | that will give you the min version | |
| 14:46:32 | sean-k-mooney | so just to if min_ver < X raise ... | |
| 14:47:05 | sahid | :-) | |
| 14:47:22 | sean-k-mooney | we normally do this latter but its similar to do it there | |
| 16:14:27 | opendevreview | Rafael Weingartner proposed openstack/nova master: Nova to honor "cross_az_attach" during server(VM) migrations https://review.opendev.org/c/openstack/nova/+/864760 | |
| 16:27:03 | bauzas | sean-k-mooney: I'm not opposed to the fact we don't hardly specific cpu governors in nova and we let the operator decide which ones they want https://review.opendev.org/c/openstack/nova-specs/+/861591/comments/6a5d4488_55cda4bd | |
| 16:27:17 | bauzas | sean-k-mooney: but I wonder how we could let the operators *specify* it | |
| 16:27:27 | bauzas | a ListOpt doesn't really help | |
| 16:27:51 | bauzas | as we would need to guess which governor is the powersaving one and which one is the best performant | |
| 16:28:41 | bauzas | sean-k-mooney: and I feel a DictOpt is too much painful to add | |
| 16:29:10 | bauzas | sean-k-mooney: see my concern ? | |
| 16:39:25 | sean-k-mooney | well i was thinking of having the first be the low power and second high | |
| 16:39:37 | sean-k-mooney | but you could just add 2 config options | |