Earlier  
Posted Nick Remark
#openstack-nova - 2020-03-04
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 ozzzo these giant-memory VMs are running batch jobs; I may be wrong but I think we can live without a keyboard
19:31:23 dansmith mordred: ten digit rotary phone dial
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
20:11:50 melwitt yeah I don't either
20:11:55 mriedem ozzzo: you set pointer_model=ps2mouse on your computes?
20:12:07 ozzzo only on the HV
20:12:20 mriedem HV = nova-compute nodes?
20:12:24 ozzzo yes
20:12:34 mriedem restarted the service and booted a new vm on that node?
20:12:36 ozzzo just the one I'm testing
20:12:48 ozzzo no, I stopped and started the VM, but that rewrites the XML
20:12:57 ozzzo do I need to delete it and build a new one?
20:12:58 mriedem you have to restart the compute service to refresh the config
20:13:09 mriedem then you could reboot the vm
20:13:10 melwitt ozzzo: that won't refresh the nova config though
20:13:29 ozzzo I stop/started nova-compute on the compute node
20:13:30 melwitt that reminds me, did SIGHUP ever get fixed?
20:13:34 ozzzo then stop/started the VM
20:13:38 melwitt oh ok
20:13:45 mriedem paste your guest xml i guess
20:13:55 mriedem in a paste/gist
20:14:16 melwitt well, I'm wondering if this is what the config help is describing "'Uses default behavior provided by drivers (mouse on PS2 for libvirt x86)"
20:14:32 mriedem but we're running libvirt x86 in the gate
20:14:40 melwitt ... true
20:14:48 melwitt hm what the heck
20:15:08 mriedem unless y'all moved over to ARM in the last few months
20:15:27 ozzzo http://paste.openstack.org/show/790313/
20:16:45 mriedem huh yeah - which version of libvirt?
20:22:26 melwitt looks like usb tablet is the only input device we're capable of adding https://github.com/openstack/nova/blob/master/nova/virt/libvirt/config.py#L1802
20:23:33 melwitt I mean, I guess we already knew that but there's where all the configs are
20:25:49 melwitt here's danpb stating "We don't specify anything actually. QEMU always gives you a ps2 keyboard + mouse no matter what & AFAIK, there's no way to disable that. Any other mouse should override the PS2 mouse, provided the guest OS actually initializes the non-ps2 mouse." https://bugzilla.redhat.com/show_bug.cgi?id=953064#c4
20:25:50 openstack bugzilla.redhat.com bug 953064 in libvirt "allow disabling ps2 mouse, it overrides tablet on macosx guests" [Medium,Closed: deferred] - Assigned to libvirt-maint
20:27:33 mriedem ok so ozzzo's bug is invalid / won't fix, just need to set pointer_model=ps2mouse
20:27:45 mriedem and remove that None option as a choice since it's invalid - i guess that's the bug
20:28:31 melwitt yeah, it's weird. None is supposed to mean "use the libvirt defaults" which it is doing
20:29:24 melwitt and setting ps2mouse does the same thing, uses the defaults. almost seems like the choices should be 'usbtablet' and 'default' instead or something
20:30:11 melwitt I mean, if None worked, it would be doing what it says, using the defaults
20:30:13 ozzzo so it's not possible to not load the PS2 driver, and that has nothing to do with openstack; it is a qemu limitation?
20:30:55 melwitt looks like it yeah, according to that libvirt bz
20:34:00 ozzzo ok I'll talk to the guys in #centos again I guess; they are telling me to not load the USB and PS2 drivers because it appears that they choke on large RAM
20:35:15 melwitt yeah ... we need to chat with a libvirt/qemu person I think too
20:35:25 ozzzo thanks for your help and advice!
20:36:25 melwitt https://libvirt.org/contact.html#irc
20:36:55 melwitt they have a mailing list too
20:37:09 ozzzo ok I'll try them, ty
21:00:53 openstackgerrit Merged openstack/nova master: Pass the actual target in os-availability-zone policy https://review.opendev.org/706691
21:01:03 openstackgerrit Merged openstack/nova master: Fix os-os-deferred-delete policy to be admin_or_owner https://review.opendev.org/707457
21:01:11 openstackgerrit Merged openstack/nova master: Add test coverage of existing deferred_delete policies https://review.opendev.org/707455
21:05:07 melwitt bus https://libvirt.org/formatdomain.html#elementsInput
21:05:07 melwitt ozzzo: this might be totally useless but ... I googled around out of curiosity and found this reddit post https://www.reddit.com/r/VFIO/comments/8qo468/stuttering_caused_by_evdev_with_ps2_input_devices/ where they changed their keyboard and mouse bus to 'virtio' and installed the necessary drivers. they're calling this "passing through the mouse and keyboard". and I saw that as of libvirt 1.3.0, 'virtio' is an option for input device
21:09:24 melwitt I would probably try something like that in a test/lab environment to see if it helps (if you don't find any other info when you inquire) by making manual updates to the xml. but I really don't know what I'm talking about so you should probably ignore me. this problem is interesting
21:11:11 openstackgerrit Ghanshyam Mann proposed openstack/nova master: Add test coverage of existing attach_interfaces policies https://review.opendev.org/705126
21:18:29 openstackgerrit Ghanshyam Mann proposed openstack/nova master: Introduce scope_types in os-attach-interfaces https://review.opendev.org/705799
21:18:42 openstackgerrit Ghanshyam Mann proposed openstack/nova master: Add new default roles in os-atttach-inerfaces policies https://review.opendev.org/706672
21:50:51 openstackgerrit Artom Lifshitz proposed openstack/nova master: tests: work around malformed serial XML https://review.opendev.org/705546
21:50:51 openstackgerrit Artom Lifshitz proposed openstack/nova master: func tests: move _run_periodics() into own mixin https://review.opendev.org/705545
21:50:52 openstackgerrit Artom Lifshitz proposed openstack/nova master: Functional tests for NUMA live migration https://review.opendev.org/672595

Earlier   Later