| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-07-08 | |||
| 16:23:34 | mriedem | ok i don't know why that would happen | |
| 16:24:12 | prometheanfire | I'm fine waiting til I can reproduce, I've left stuff in debug | |
| 16:26:37 | sean-k-mooney | stephenfin: jangutter so as i was saying on the placmeent channel ... i adressed my nit in https://review.opendev.org/#/c/666387/2 if ye want to take a look at that | |
| 16:28:08 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Translatable output strings in heal allocation https://review.opendev.org/668925 | |
| 16:33:25 | sean-k-mooney | aspiers: so you know that domaincap api you added for sev ... its broken | |
| 16:34:45 | sean-k-mooney | we cant default to q35 here https://github.com/openstack/nova/blob/master/nova/virt/libvirt/host.py#L744-L745 the logic breaks if you have emulators installed that dont support it | |
| 16:35:43 | sean-k-mooney | currently we dont call this code in nova yet because your sev stuff that uses it has not merged yet but i tried to use it for my device model filter stuff and it expolodes beautifully | |
| 16:38:02 | efried | mriedem: I'm going to bump current runways by, what say, 2 days due to last week's holiday? | |
| 16:39:28 | mriedem | shrug | |
| 16:39:35 | mriedem | not sure how much it matters | |
| 16:40:50 | efried | aspiers: SEV series is in merge conflict - any chance of getting that rebased soon? | |
| 16:54:01 | sean-k-mooney | mriedem: so quick question. https://review.opendev.org/#/c/659703/8 change the behavior of force config drive to remove the config drive after first boot | |
| 16:55:15 | sean-k-mooney | to me that seams like a regression as it could lead to data lose in the form of injected files if the user does not copy the injected files form the config_drive or if the operator customerises the config dirve contentce with data scripts that run on each boot | |
| 16:57:17 | sean-k-mooney | if you are using the dynamic vendor data and do not have teh metadta service deployed is this not an issue? | |
| 16:58:36 | sean-k-mooney | the injected files case might be ok if that sets instance.config_drive automaticall but i think https://review.opendev.org/#/c/659703/8/nova/virt/configdrive.py@169 might break some usecauses | |
| 16:59:44 | sean-k-mooney | as such im not sure how safe it is to backport this | |
| 17:02:57 | mriedem | "change the behavior of force config drive to remove the config drive after first boot" - you mean if you boot the server with force_config_drive=True, then change to force_config_drive=False? the bug is actually the opposite - they created a server without a config drive, then changed to force_config_drive=True and after that they can't reboot the servers on the host w/o a config drive since the file doesn't exist | |
| 17:03:35 | mriedem | i said on lyarwood's stein backport, "I'd like to move a bit slowly with this one since it's a very latent issue and is a bit of a behavior change, though justified for the reboot issue. It should also be pretty rare (I don't imagine lots of people are changing the force_config_drive value on their computes once they are deployed)." | |
| 17:03:38 | mriedem | so there it's been sitting | |
| 17:04:08 | sean-k-mooney | mriedem: no what im concerned about is the comment sugges that on a reboot the config drive will be removed | |
| 17:04:12 | mriedem | sean-k-mooney: i'm not really following you on what specific use case you think this regressed | |
| 17:04:15 | sean-k-mooney | e.g. its only present on first boot | |
| 17:04:44 | mriedem | what comment? | |
| 17:05:02 | sean-k-mooney | https://review.opendev.org/#/c/660914/1/nova/virt/configdrive.py | |
| 17:05:50 | mriedem | from the bug, if you go from no config drive to a forced config drive and reboot the vm, it pukes in libvirt | |
| 17:05:53 | mriedem | that's the bug they are fixing | |
| 17:05:54 | sean-k-mooney | if we reboot the vm that was started with a config drive launched_at will not be null right | |
| 17:06:22 | sean-k-mooney | no im talkinbg about if you boot a vme with force_config=ture | |
| 17:06:33 | sean-k-mooney | then you reboot it it should continute to have a config drive | |
| 17:06:48 | sean-k-mooney | but instance.launched_at will not be None on the second boot | |
| 17:06:58 | mriedem | you mean on the reboot | |
| 17:07:07 | sean-k-mooney | yes | |
| 17:07:19 | sean-k-mooney | boot with force it will have a config drive | |
| 17:07:24 | mriedem | so boot with force_config_drive=true, change force_config_drive=false, reboot the vm, the config drive isn't in the vm | |
| 17:07:29 | sean-k-mooney | then if you hard reboot it will go away right | |
| 17:07:45 | sean-k-mooney | no config change | |
| 17:07:55 | sean-k-mooney | if you leave it at force_config_drive=true | |
| 17:07:59 | sean-k-mooney | always | |
| 17:08:03 | sean-k-mooney | boot a vm | |
| 17:08:07 | sean-k-mooney | then hard reboot it | |
| 17:08:17 | sean-k-mooney | it should still have a config drive after the reboot | |
| 17:08:33 | sean-k-mooney | but on the reboot launched_at would be non None | |
| 17:09:02 | mriedem | yeah i see what you're saying, and instance.config_drive is only set from the API? | |
| 17:09:02 | sean-k-mooney | so and not instance.launched_at would be false | |
| 17:09:19 | sean-k-mooney | i think its set in the flavor or image | |
| 17:09:23 | sean-k-mooney | actully no | |
| 17:09:25 | sean-k-mooney | you are right | |
| 17:09:28 | sean-k-mooney | the api | |
| 17:09:43 | sean-k-mooney | so im thinking about deployment where the metadata service is not deployed | |
| 17:10:04 | sean-k-mooney | so you use force_config_drive=true to make cloud init work and for things like vendor data or device role tagging | |
| 17:10:14 | sean-k-mooney | or file injection with the v2.1 api | |
| 17:11:27 | sean-k-mooney | the last point is less relevent beacue that is depercated so i would be ok with that on master but im not sure we should backport that change and it might break people on upgrade that dont deploy the metadata service | |
| 17:11:54 | mriedem | yeah as i said i wasn't totally comfortable with backporting it | |
| 17:12:21 | mriedem | oh wait | |
| 17:12:25 | mriedem | i remember digging into this | |
| 17:12:46 | mriedem | https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1758 | |
| 17:13:10 | mriedem | instance.config_drive will be set on compute if force_config_drive=True and the user doesn't specify it in the api | |
| 17:13:30 | mriedem | so i don't think your scenario holds | |
| 17:13:44 | mriedem | https://review.opendev.org/#/c/659703/4/nova/virt/configdrive.py@169 | |
| 17:14:32 | mriedem | so tl;dr, you likely need to recreate whatever regression you think there is and report a bug if we're going to talk about reverting that change | |
| 17:14:40 | mriedem | and i've got a hungry kid here and need to make lunch | |
| 17:15:16 | sean-k-mooney | https://github.com/openstack/nova/blob/master/nova/virt/configdrive.py#L181 | |
| 17:15:35 | sean-k-mooney | so if we have already set instace.launched_at then it wont | |
| 17:15:58 | sean-k-mooney | mriedem: sure take care of lunch :) | |
| 17:16:34 | mriedem | on first create, if the host has force_config_drive=True, we'll set instance.config_drive=True, and on subsequent calls to update_instance we won't update it because "if not True" is False | |
| 17:16:57 | mriedem | anyway, like i said, this would be easier if you can actually recreate a problem and report a bug rather than both of us mostly just guessing based on code | |
| 17:17:03 | mriedem | but i did look into this earlier on the patch | |
| 17:17:04 | sean-k-mooney | i think we need to reorder 1757 and 1758 https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1758 | |
| 17:17:19 | sean-k-mooney | mriedem: ok no worries | |
| 17:17:33 | sean-k-mooney | i can test this in my devstack setup and see if it causes an issue or not | |
| 17:18:17 | sean-k-mooney | go make food :) ill let you know if i find anything | |
| 17:21:39 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Update AZ admin doc to mention the new way to specify hosts https://review.opendev.org/666767 | |
| 17:21:39 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add host and hypervisor_hostname flag to create server https://review.opendev.org/645520 | |
| 17:35:58 | openstackgerrit | Merged openstack/nova stable/rocky: Ignore hw_vif_type for direct, direct-physical vNIC types https://review.opendev.org/667355 | |
| 17:40:24 | sean-k-mooney | ya so with master if you set force_config_drive=true, then boot a new vm and hard reboot it it will not have the config dirve on teh second boot | |
| 17:40:31 | sean-k-mooney | so that intoduced a new bug | |
| 17:41:02 | sean-k-mooney | which should be fixable by swapping instance.launched_at and configdrive.update_instace here https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1758 | |
| 17:41:12 | sean-k-mooney | which ill go test now | |
| 17:45:57 | sean-k-mooney | yep that fixes it | |
| 17:46:06 | sean-k-mooney | ill file a bug and push a patch | |
| 17:47:05 | sean-k-mooney | the order didnt matter befoce because required_by did not depend on the launched_at field not it does so we need to set that after | |
| 17:47:24 | sean-k-mooney | ill try these change teh config to diable force and see if ti does the right thing now | |
| 17:54:25 | sean-k-mooney | yep it works corectly after config updte too. old vms keep the config drive an new ones dont have them. and if i go back from false to true old vms dont get a config drive but new vms do | |
| 18:30:58 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Add host and hypervisor_hostname flag to create server https://review.opendev.org/645520 | |
| 18:30:59 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Update AZ admin doc to mention the new way to specify hosts https://review.opendev.org/666767 | |
| 18:32:47 | spatel | sean-k-mooney: one of my vm stuck in powering-on stat so i did | |
| 18:32:48 | spatel | nova reset-state --active 368f2b45-c4b8-460e-9269-023ef80a69d1 | |
| 18:33:18 | spatel | now now when i start vm it is saying - Cannot 'start' instance 368f2b45-c4b8-460e-9269-023ef80a69d1 while it is in vm_state active (HTTP 409) (Request-ID: req-29b635ac-4d8f-4139-9170-19824f019806) | |
| 18:33:39 | mriedem | i'm +2 on "Add host and hypervisor_hostname flag to create server https://review.opendev.org/645520" now | |
| 18:33:50 | sean-k-mooney | spatel: you will need to hard reboot it | |
| 18:36:28 | spatel | what is the option for command line to hard-reboot? | |
| 18:36:39 | spatel | let me try from GUI | |
| 18:37:12 | sean-k-mooney | "openstack server reboot --hard" but its available in horizon too | |
| 18:42:15 | openstackgerrit | sean mooney proposed openstack/nova master: libvirt: make config drives sticky bug 1835822 https://review.opendev.org/669738 | |
| 18:42:16 | openstack | bug 1835822 in OpenStack Compute (nova) "vms loose acess to config drive with CONF.force_config_drive=True after hard reboot" [Medium,Confirmed] https://launchpad.net/bugs/1835822 - Assigned to sean mooney (sean-k-mooney) | |
| 18:42:28 | sean-k-mooney | mriedem: ^ that is the fix for the config drive issue | |
| 18:43:26 | spatel | sean-k-mooney: that works :)_ | |
| 18:43:34 | spatel | you are awesome | |
| 18:43:55 | sean-k-mooney | no i just have hit the same proablem | |
| 18:44:12 | sean-k-mooney | if you use reset-state to set it to active you need to use hard-reboot to fix it | |