| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2022-06-13 | |||
| 10:45:59 | sean-k-mooney | if that was a multi node job then you woudl also see a compute/logs/local.conf.txt | |
| 10:46:43 | sean-k-mooney | the local.conf is one of the files we capature and preserve in the log output dir | |
| 10:49:20 | songwenping | ok, thanks. | |
| 10:59:14 | sean-k-mooney | gibi: implying we supprot ffu in any way conviced me we should ignore my previous comment and put it down to a lack of morning coffee :) | |
| 10:59:41 | gibi | sean-k-mooney: FFU is hard | |
| 10:59:49 | gibi | without coffee it is even harder :D | |
| 11:00:53 | gibi | but yeah, if we want to talk about FFU then we need to start with testing it first | |
| 11:01:10 | gibi | as I'm not soo convinced that it can be done :) | |
| 11:01:23 | gibi | I mean can be FFU successfully | |
| 11:01:57 | rmart04 | Hey @sean-k-mooney hope you are well. Wondering if you might be able to provide some advice for some CPU profile pain? | |
| 11:07:03 | rmart04 | not strictly development I know :D | |
| 11:15:18 | rmart04 | I'll post the question just incase it piques your interest :D | |
| 11:15:36 | rmart04 | We're in the process of upgrading to C8Stream (OS Train) and noticed our crippled CPU profile (Skylake-Server-IBRS) we have been using across a couple of processor generations no longer works, nova-compute won't start. We get "invalid CPUinfo profile is not compatible with CPU". I'm guessing a microkernel update has changed the flags on the move from C7->C8 for our CascadeLake servers. Is there an easy way around this these days? I'm guessing | |
| 11:15:36 | rmart04 | if I change the flags I'm going to break future live migrations? :/ | |
| 11:17:33 | sean-k-mooney | rmart04: just back with coffee reading back | |
| 11:17:49 | opendevreview | Balazs Gibizer proposed openstack/nova master: Refactor the nested if-else forest https://review.opendev.org/c/openstack/nova/+/845581 | |
| 11:18:36 | sean-k-mooney | rmart04: this s almost certainly caused by the fact that tsx was disabled/removed by intel in a microcode | |
| 11:19:11 | gibi | Uggla: I made an attempt to transform out the nested if-else forest from the unshelve patch https://review.opendev.org/c/openstack/nova/+/845581 | |
| 11:19:16 | sean-k-mooney | i belive the Skylake-Server-IBRS has tsx enabeld but the cascadelake cpus woudl have it disabeld by the new microcode in c8s | |
| 11:20:50 | sean-k-mooney | rmart04: you are currently using Skylake-Server-IBRS i would guess Skylake-Server-noTSX-IBRS will work | |
| 11:21:53 | rmart04 | I was pointed in that same direction by JGarbutt too, but I couldn't see the TSX flag specified in the old SkyLake profile so thought it might be somthing else. Possibly its still in play even though not specifically specified. | |
| 11:22:04 | sean-k-mooney | vagrant@compute ~]$ diff /usr/share/libvirt/cpu_map/x86_Skylake-Server-IBRS.xml /usr/share/libvirt/cpu_map/x86_Skylake-Server-noTSX-IBRS.xml | |
| 11:22:06 | sean-k-mooney | 2,3c2,3 | |
| 11:22:08 | sean-k-mooney | < <model name='Skylake-Server-IBRS'> | |
| 11:22:10 | sean-k-mooney | < <decode host='on' guest='on'/> | |
| 11:22:12 | sean-k-mooney | --- | |
| 11:22:14 | sean-k-mooney | > <model name='Skylake-Server-noTSX-IBRS'> | |
| 11:22:16 | sean-k-mooney | > <decode host='on' guest='off'/> | |
| 11:22:18 | sean-k-mooney | 33d32 | |
| 11:22:20 | sean-k-mooney | < <feature name='hle'/> | |
| 11:22:22 | sean-k-mooney | 58d56 | |
| 11:22:24 | sean-k-mooney | < <feature name='rtm'/> | |
| 11:22:26 | sean-k-mooney | it sthe hle and rtm flags | |
| 11:22:31 | sean-k-mooney | that are used to provde the tsx functionality | |
| 11:22:54 | rmart04 | ah OK I see, I was looking for TSX specifically. | |
| 11:23:01 | rmart04 | OK that's really useful, thank you. | |
| 11:23:48 | rmart04 | I see there is a tsx=on flag in the kernel which might make this go away quietly but unfortunately that probably won't fly on this deployment. | |
| 11:24:05 | sean-k-mooney | this is basically what nova/libvirt is comptueing https://paste.opendev.org/show/bMJWSQkhwySkS1FlGRSG/ | |
| 11:24:23 | rmart04 | If I change the profile, its going to break lots of LM i guess? | |
| 11:24:35 | sean-k-mooney | rmart04: tsx=on wont work | |
| 11:25:13 | sean-k-mooney | if they try to use the tsx functionality it will fail | |
| 11:25:48 | sean-k-mooney | rmart04: the only way to change the cpu modle is via a hard reboot or cold migration | |
| 11:26:01 | sean-k-mooney | so to resolve this you will need guest downtime | |
| 11:26:10 | sean-k-mooney | there is no way to avoid that im affriad | |
| 11:28:38 | rmart04 | eek. OK well thanks for this very useful info | |
| 11:52:28 | jhartkopf | Hey, I am currently working on the implementation for the approved spec for updating user data (https://review.opendev.org/c/openstack/nova-specs/+/816542). Part of the spec is to regenerate the config drive on hard reboots (reboot implementations are driver-specific). My approach would be to do this on every hard reboot as there seems to be no trivial way to check whether user data has been actually changed. | |
| 11:52:45 | jhartkopf | Would this be something that every driver needs to support? Any ideas/opinions on this? | |
| 11:55:13 | sean-k-mooney | jhartkopf: no this should be done only when requested | |
| 11:55:52 | sean-k-mooney | jhartkopf: the spec i tought said the hard-reboot api woudl be extended with a new paramter for this | |
| 11:57:57 | sean-k-mooney | jhartkopf: hum https://review.opendev.org/c/openstack/nova-specs/+/816542/7/specs/zed/approved/update-userdata.rst#96 might actully be insfficent | |
| 11:58:19 | sean-k-mooney | so that provide a way to update the metadta on hard reboot by providing the data again | |
| 11:59:08 | sean-k-mooney | but we likely shoudl have a seccodn boolean parmater like regenerate_configdrive=True|false | |
| 12:00:10 | sean-k-mooney | gibi: ^ what do you think? | |
| 12:00:27 | sean-k-mooney | im not sure we want the perfomance hit of always regenerating the config drive on hard reboot | |
| 12:00:59 | sean-k-mooney | jhartkopf: it should be implmented for all drivers that support config drive ideally but if you started with just libvirt that proably would cover most usecases | |
| 12:02:03 | gibi | so the user_data parameter on reboot will be optional, isn't it? | |
| 12:02:09 | sean-k-mooney | jhartkopf: actully the other way to do this is to store a flag in the instance_system_metadata | |
| 12:02:22 | sean-k-mooney | gibi: yes but the edge case here is | |
| 12:02:40 | sean-k-mooney | how to regenerate teh config drive if i have use server update | |
| 12:02:51 | sean-k-mooney | to modify the user data on the next reboot | |
| 12:03:28 | sean-k-mooney | jhartkopf: gibi so what we could do is add a flag to the instance_system_metadata to track that the config drive is dirty | |
| 12:03:36 | sean-k-mooney | and then check that on reboot and clear it | |
| 12:03:59 | sean-k-mooney | if its dirty regenerate the config drive with the new data if not use the exisitng one | |
| 12:04:25 | gibi | ahh I see | |
| 12:04:49 | sean-k-mooney | the user data on hard reboot is for when you want to fully replace it on reboot | |
| 12:05:02 | gibi | I'm fine with a flag in system meta | |
| 12:05:02 | sean-k-mooney | which is how i woudl expect this to be used most offten honestly | |
| 12:05:17 | jhartkopf | sean-k-mooney: Yes, so with an additional variable, we could track if the config drive should be regenerated or not | |
| 12:06:00 | sean-k-mooney | jhartkopf: yep the instance_system_metadata table is internal to nova and jsut a key value pair with the instance as a primary key | |
| 12:06:31 | sean-k-mooney | jhartkopf: so you can jsut add a flag to that on server update if you update the user-data field | |
| 12:07:17 | sean-k-mooney | then reboot can check it and clear it. does ^ work for you | |
| 12:07:37 | sean-k-mooney | if so we can leave the spec as it is. | |
| 12:10:22 | jhartkopf | Seems to be the part that was missing, thanks! I will then try to implement this for libvirt initially. | |
| 12:15:39 | sean-k-mooney | jhartkopf: just an fyi the instance system metadata is a feild on the instance object https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L194= | |
| 12:16:14 | sean-k-mooney | so you will have direct access to that in the driver and you will be able to update it on save as part of the reboot flow | |
| 12:17:24 | sean-k-mooney | just set the key config_drive_dirty flag to false and it will be save when we next call save i.e. when we update the task/vm state | |
| 12:18:51 | sean-k-mooney | jhartkopf: if you want you can expose this directly as a property on the instance object to keep it clean so that the virt driver dont need to check the system metadata directly. | |
| 12:19:06 | sean-k-mooney | just have the property update the system metadata | |
| 12:33:24 | jhartkopf | sean-k-mooney: good point, I will look into this | |
| 13:11:24 | bauzas | sean-k-mooney: gibi: fwiw, I'm currently reviewing the hard https://review.opendev.org/c/openstack/nova/+/829248/9/nova/compute/manager.py | |
| 13:11:46 | bauzas | (that and doing some expense report...) | |
| 13:12:22 | sean-k-mooney | i dont think i have used concour sicne we switch to it | |
| 13:12:42 | sean-k-mooney | but if its like the deployment of concour we had at intel its much nicer | |
| 13:12:54 | sean-k-mooney | then the oracle suite we used to use for expenses | |
| 13:12:56 | gibi | expense was easy but that single line in the manager seems easier :D | |
| 13:12:57 | bauzas | concur is good for preparing your report | |
| 13:13:25 | bauzas | but there are some bugs in the concur android app | |
| 13:13:36 | bauzas | I can't modify some expenses | |
| 13:13:49 | sean-k-mooney | ah ok i have only really used the web app | |
| 13:13:59 | sean-k-mooney | i dont like haveing compay stuff on my personal phone | |
| 13:14:35 | sean-k-mooney | so i jsut take pictures fo the recipts and email them to my company adress and fill it out after the fact | |
| 13:15:38 | gibi | bauzas: yepp I had issues with the app but I was able to fix it with the web based too | |
| 13:15:41 | gibi | l | |
| 13:16:27 | gibi | I guess you hit the issue with setting expense type to ~food and the app asking for some additional fields that was not editable | |
| 13:17:38 | bauzas | gibi: yup | |
| 13:18:15 | bauzas | gibi: yeah, I provided all my receipts to concur thanks to the android app when waiting for my flight :) | |
| 13:18:31 | bauzas | gibi: but eventually I got some problem with a meal and for my hotel expense | |
| 13:19:03 | sean-k-mooney | bauzas: not to add to your paper work but are you plannign to send a writeup or operator feedback to the list or similar | |
| 13:19:06 | bauzas | but eventually, today I used the webapp and I was able to modify the expenses correctly | |
| 13:19:43 | bauzas | sean-k-mooney: we'll be discussing this tomorrow during the meeting and after that, I'll provide a feedback to the list | |