| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-03-04 | |||
| 16:34:20 | kukacz_ | dansmith: just for my curiosity - how does the pets/cattle apply in this case? | |
| 16:34:52 | dansmith | kukacz: it's a pet if you can't shoot it in the head and boot another one in its place | |
| 16:35:20 | dansmith | https://docs.openstack.org/nova/latest/reference/isolate-aggregates.html | |
| 16:37:37 | dansmith | also if you're willing to shelve/unshelve, you could just resize those instances to a flavor that has the new key in it | |
| 16:38:56 | kukacz_ | dansmith: unfortunately, this is queens. isolated aggregates seem to be from rocky | |
| 16:39:13 | dansmith | train actually | |
| 16:39:53 | kukacz_ | dansmith: yes, the resize method is something I was just thinking of. probably a way to go. but it's not my workload. I'll have to ask many customers to follow that rule | |
| 16:40:03 | dansmith | yup | |
| 16:50:48 | kukacz_ | dansmith: one more detail - how is the original set of flavor parameters stored for each instance? in nova.instances table I see instance_type_id pointing at the current flavor. it must be something else, I guess ... | |
| 16:51:23 | dansmith | kukacz_: it's a serialized json blob in instance_extra.flavor | |
| 16:51:52 | kukacz_ | dansmith: aha! | |
| 16:51:59 | kukacz_ | dansmith: thank you a lot for all the clarification! | |
| 16:52:18 | dansmith | kukacz_: how come you're willing to shelve something but not resize it? resize should be faster and less disturbing to the workload | |
| 16:54:24 | kukacz_ | dansmith: it's not problem of willingness to resize. it's just that our customers use shelving to pause billing on temporarily stopped instances. now we'll have to explain them, that they'll also need to issue resize call to avoid their instance end up running on hosts where we don't want them to be | |
| 16:55:09 | dansmith | oh okay I thought maybe you were shelving proactively | |
| 16:56:19 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/train: libvirt: Ignore DiskNotFound during update_available_resource https://review.opendev.org/711276 | |
| 16:57:06 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/stein: libvirt: Ignore DiskNotFound during update_available_resource https://review.opendev.org/711277 | |
| 16:57:32 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/rocky: libvirt: Ignore DiskNotFound during update_available_resource https://review.opendev.org/711278 | |
| 16:58:04 | openstackgerrit | Lee Yarwood proposed openstack/nova stable/queens: libvirt: Ignore DiskNotFound during update_available_resource https://review.opendev.org/711279 | |
| 16:58:06 | melwitt | stephenfin: what made you think https://review.opendev.org/711093 is blocking the gate? | |
| 16:58:54 | melwitt | it was just a heads up about an upcoming requirements update and should get normal review | |
| 16:58:54 | stephenfin | melwitt: We're referencing a module that's been deleted so we're broken with the latest version of oslo.db, no? | |
| 16:59:09 | stephenfin | ah, crap. I didn't realize it was pre-emptive | |
| 16:59:25 | stephenfin | I'll pull it out of the queue | |
| 16:59:31 | melwitt | yeah but I don't think the change to the latest happened yet, it's proposed. this is a standard thing that happens when requirements team looks to bump things | |
| 16:59:48 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Remove oslo_db.sqlalchemy.compat reference https://review.opendev.org/711093 | |
| 16:59:55 | kukacz_ | dansmith: no, as a service provider I mostly cannot touch customer instances, they manipulate them themselves | |
| 17:00:26 | stephenfin | melwitt: Gotcha. Yeah, sorry, missed that. Dragged it out ^ | |
| 17:41:08 | openstackgerrit | Stephen Finucane proposed openstack/nova master: libvirt: Use domain capabilities to get supported device models https://review.opendev.org/666915 | |
| 17:41:09 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Add transform_image_metadata request filter https://review.opendev.org/665775 | |
| 18:56:50 | ozzzo | can anyone help me set set pointer_model to None in nova.conf? | |
| 18:57:02 | ozzzo | it appears to be a bug; I opened https://bugs.launchpad.net/nova/+bug/1866106 | |
| 18:57:02 | openstack | Launchpad bug 1866106 in OpenStack Compute (nova) "Can't set "pointer_model = None" in nova.conf" [Undecided,New] | |
| 18:57:20 | ozzzo | the help text in nova.conf says to use None or <None> but nova errors on both | |
| 18:57:32 | ozzzo | ERROR nova ConfigFileValueError: Value for option pointer_model is not valid: Valid values are [None, ps2mouse, usbtablet], but found 'None' | |
| 18:57:57 | ozzzo | I tried leaving it blank but that fails also | |
| 18:58:29 | ozzzo | the underlying issue is that I need to not load the USB and PS2 drivers to build large-RAM Centos VMs, because Centos chokes while loading drivers on VMs with over 1064304G RAM | |
| 19:06:58 | melwitt | ozzzo: I agree that looks like a bug. the choice should instead be 'none' (I see several other examples, especially in nova/conf/libvirt.py) and handled accordingly in the code. I think the StrOpt won't ever recognize None as a non-string 'None' | |
| 19:07:49 | ozzzo | ok trying none | |
| 19:08:08 | melwitt | ozzzo: I mean I think you'll need a patch to do it | |
| 19:08:15 | ozzzo | oic ok | |
| 19:08:38 | melwitt | it needs to be fixed in order for you to choose none | |
| 19:10:08 | melwitt | lemme see if I can propose one real quick for you | |
| 19:10:23 | ozzzo | ok cool thank you! | |
| 19:10:44 | melwitt | thanks for opening the bug and letting us know | |
| 19:11:02 | ozzzo | no problem, my users are screaming for giant memory Centos VMs | |
| 19:11:03 | mriedem | the config is coercing None to 'None' | |
| 19:11:14 | ozzzo | I'm trying to get them to use Ironic instead but they don't want to | |
| 19:11:45 | mriedem | seems like that might be a bug in oslo.config rather than nova | |
| 19:13:07 | ozzzo | should I ask in their IRC channel? | |
| 19:13:48 | bnemec | The only way for a config opt to have a None value is for that to be the default and for the opt to be unset. | |
| 19:14:14 | bnemec | So completely absent from the file, not something like "opt=" | |
| 19:14:18 | mriedem | bingo https://github.com/openstack/oslo.config/blob/master/oslo_config/types.py#L142 | |
| 19:14:29 | mriedem | yeah the default is usbtablet | |
| 19:14:34 | mriedem | so you can't unset it to avoid the default | |
| 19:14:53 | ozzzo | am I on the right track; will setting this to none stop the USB driver from loading? | |
| 19:15:12 | mriedem | so you're looking at what? default being None, but then checking to see if the option is explicitly set to None or default to 'usbtablet' if not set to None explicitly? | |
| 19:15:39 | ozzzo | or is there a better way to not load USB? | |
| 19:16:11 | mriedem | bnemec: couldn't oslo.config just fix this line? https://github.com/openstack/oslo.config/blob/master/oslo_config/types.py#L142 | |
| 19:16:23 | mriedem | if value is None and None is a valid choice and not the default, then don't coerce to 'None' | |
| 19:18:19 | bnemec | I don't think it would help. I'm pretty sure the argument parser will never return None, it will return a string "None" anyway. | |
| 19:18:41 | bnemec | I actually think the cast is unnecessary because I'm pretty sure the raw values we get are all strings to begin with. | |
| 19:19:01 | bnemec | I could be wrong though. It's been a while since I've dug into the internals of oslo.config. | |
| 19:19:53 | mriedem | yeah maybe | |
| 19:20:44 | mriedem | guess you could hack a new choice "unset" or something to mean None | |
| 19:22:28 | ozzzo | my actual goal is to not load the USB and PS2 drivers. Is there a better way? | |
| 19:23:23 | mriedem | no, that's why i'm saying it sounds like you need a new choice on that option | |
| 19:26:47 | mriedem | i think that would basically take care of itself here https://github.com/openstack/nova/blob/757fc03b78d542e7262343b65eacea02ce11dd04/nova/virt/libvirt/driver.py#L5949 | |
| 19:27:13 | mriedem | that method would return None so a pointer device wouldn't be set in the guest xml https://github.com/openstack/nova/blob/757fc03b78d542e7262343b65eacea02ce11dd04/nova/virt/libvirt/driver.py#L5700 | |
| 19:27:55 | mriedem | a choice of 'none' like melwitt suggested would do it | |
| 19:28:17 | openstackgerrit | Merged openstack/nova master: Add test coverage of existing os-console-auth-tokens policies https://review.opendev.org/706687 | |
| 19:29:02 | mordred | mriedem: but if you don't pick usb or ps2, how will your keyboard work? | |
| 19:29:26 | melwitt | I'm working on a patch now. writing up the commit message | |
| 19:31:23 | dansmith | mordred: ten digit rotary phone dial | |
| 19:31:23 | ozzzo | these giant-memory VMs are running batch jobs; I may be wrong but I think we can live without a keyboard | |
| 19:31:34 | dansmith | mriedem: hack in the characters via their decimal ascii equivalent... duh. | |
| 19:32:01 | dansmith | er, mordred ^ :P | |
| 19:32:36 | mriedem | cripes | |
| 19:34:57 | openstackgerrit | melanie witt proposed openstack/nova master: Fix CONF.pointer_model choice None to use 'none' for StrOpt https://review.opendev.org/711315 | |
| 19:38:10 | openstackgerrit | Ghanshyam Mann proposed openstack/nova master: Introduce scope_types in os-console-auth-tokens https://review.opendev.org/706688 | |
| 19:39:42 | melwitt | gmann: hey I was wondering if you saw johnthetubaguy comment on this patch https://review.opendev.org/705127 I couldn't really follow it | |
| 19:41:36 | gmann | melwitt: yeah, i can move those to deprecated also, i did not do initially as those were ~3 years old and users might have switched to new one. | |
| 19:41:40 | gmann | updating.. | |
| 19:42:16 | melwitt | gmann: ok. since I didn't understand it I didn't agree or disagree, but wondered what you thought about it | |
| 19:48:14 | gmann | while new policy were introduced, we did not remove those old policy from enforcement from our API so operators might be relying on those old policies default or override. | |
| 19:48:31 | gmann | keeping them for deprecation phase does not harm much. | |
| 20:01:18 | melwitt | ozzzo, mriedem: I'm weirdly noticing in the code that setting pointer_model='ps2mouse' looks like it would have the same effect (nothing added to libvirt xml) as setting None if setting None were possible | |
| 20:02:19 | mriedem | i was wondering about that too | |
| 20:02:43 | ozzzo | interesting; I'll try it and then look at the XML | |
| 20:02:52 | mriedem | that pointer_model option was meant to replace use_usb_tablet back in newton but it was never fully removed because the upgrade compat path was really complicated (i tried and abandoned the attempt) | |
| 20:03:07 | mriedem | i wonder if there was a bad refactor at some point that broke the ps2mouse support | |
| 20:03:28 | melwitt | I was wondering the same thing | |
| 20:03:53 | mriedem | note that devstack sets it to ps2mouse explicitly https://github.com/openstack/devstack/blob/93d22d82988ee781feddf84535d65adf44472379/lib/nova_plugins/hypervisor-libvirt#L44 | |
| 20:04:05 | mriedem | so you could just check one of the gate job logs for a guest xml to see if the pointer device is not set | |
| 20:04:46 | melwitt | oh nice | |
| 20:07:17 | mriedem | code looks basically the same since newton https://github.com/openstack/nova/blob/newton-eol/nova/virt/libvirt/driver.py#L4675 | |
| 20:07:50 | melwitt | here's a guest xml https://zuul.opendev.org/t/openstack/build/fcc8380b76924d0ca8acf158f7571ad8/log/controller/logs/screen-n-cpu.txt#1888 | |
| 20:09:46 | ozzzo | I see the USB lines missing from the XML now, but I still see the PS2 mouse and keyboard lines. How can I get rid of those? | |
| 20:11:34 | mriedem | melwitt: i don't see any input devices in there | |
| 20:11:38 | mriedem | so seems that ps2mouse is doing the deed | |