Earlier  
Posted Nick Remark
#openstack-nova - 2020-07-24
09:34:54 stephenfin probably the implementation of getopt they're using is borked
09:35:04 bauzas in theory, you could also scp -rC
09:35:32 gibi I can reproduce the ordering requirement of scp locally
09:35:50 gibi so the manpage is incomplete :)
09:35:54 bauzas gibi: I honesly never used the -C flag
09:36:14 bauzas like I said, I tend to use tar over nc when I wanted to transfer large files
09:36:23 stephenfin tbf, parsing command line arguments is hard work
09:36:25 bauzas waaaaay more efficient
09:36:40 gibi scp is secure tar + nc is fast, it is a tradeoff :)
09:36:46 stephenfin so broken :-(
09:37:51 stephenfin to the point that click (which is actually awesome) uses the deprecated optparse. Less magical and more reliable, apparently
09:42:17 gibi stephenfin: btw https://that.guru/blog/the-numa-scheduling-story-in-nova/ is a great article that made me think about where and when nova selects the resources to consume
09:42:51 bauzas stephenfin: gibi: that's an argparse bug http://paste.openstack.org/show/796277/
09:42:59 bauzas definitely not scp-related
09:43:04 stephenfin gibi: You can thank sean-k-mooney for most of that. I just spell checked and reorganized :)
09:43:29 stephenfin bauzas: Put '-C' at the end
09:43:36 bauzas oh that
09:43:43 stephenfin the issue isn't with the order of the positionals
09:43:44 bauzas of course, it won't work then
09:43:47 stephenfin options
09:43:55 stephenfin it's with options coming after positionals
09:44:01 bauzas you shock me if you thought it would work :p
09:44:13 stephenfin but it does in many applications!
09:44:21 bauzas but I honestly haven't paid attention at the argparse result :)
09:44:27 openstackgerrit Merged openstack/nova master: trivial: Test object backporting against correct version https://review.opendev.org/742650
09:44:29 bauzas it NEVER worked with scp then :)
09:44:41 bauzas and many BSD commands
09:44:48 bauzas (many many)
09:46:19 stephenfin bauzas: http://paste.openstack.org/show/796278/
09:46:31 stephenfin run that with e.g. 'python test.py 123 MB -b test'
09:46:39 stephenfin it'll work just fine
09:47:00 stephenfin so optparse (or whatever scp is using) is just plain broken
09:47:10 stephenfin but hey, I'm not going to fix it :)
09:48:25 gibi yeah 'grep foo ./ -R' works too
09:49:48 gibi sean-k-mooney: good article https://that.guru/blog/the-numa-scheduling-story-in-nova/ :)
09:50:25 bauzas stephenfin: fyk https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
09:50:55 bauzas tl;dr: options != operands
09:51:28 bauzas argparse was probably written by Linux geeks who weren't knowing about UNIX :p
09:51:37 bauzas time for a quote
09:52:43 bauzas BSD is what you get when a bunch of UNIX hackers sit down to try to port a UNIX system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a UNIX system for the PC
09:53:45 tosky nice as a quote, even though iirc historically incorrect: when BSD started, there were no PC
09:54:17 bauzas that's not coming from me :)
09:54:43 bauzas but I used to play with some BSD OSes in the past, and this pun was very well known
09:55:19 bauzas do people know that 'ps' has a very specific POSIX syntax that people can use indefffrently from the OS ?
10:08:31 stephenfin bauzas: I was taught to use e.g. 'ps aux' which I think is BSD compatible too
10:09:29 bauzas that's correct, and that's the old syntax
10:09:51 bauzas we made it forward compatible
10:09:57 bauzas whoops
10:10:01 bauzas they, not we
10:10:12 bauzas I'm not THAT modest
10:10:55 bauzas tl;dr: options without the dash come from BSD
10:11:06 bauzas and Linux ported them
10:11:33 bauzas but in theory, you *should* always follow the POSIX syntax to be 100% compliant across all platforms
10:12:35 bauzas https://askubuntu.com/questions/484982/what-is-the-difference-between-standard-syntax-and-bsd-syntax
10:15:27 bauzas or slighly better https://man7.org/linux/man-pages/man1/ps.1.html
11:52:56 openstackgerrit Stephen Finucane proposed openstack/nova master: scheduler: Default request group to None https://review.opendev.org/742651
11:52:56 openstackgerrit Stephen Finucane proposed openstack/nova master: tests: Add helpers for suspend, resume and reboot of server https://review.opendev.org/741285
11:52:57 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Pass context, instance to '_create_domain' https://review.opendev.org/741286
11:52:57 openstackgerrit Stephen Finucane proposed openstack/nova master: api: Reject non-spawn operations for vTPM https://review.opendev.org/741500
11:52:58 openstackgerrit Stephen Finucane proposed openstack/nova master: libvirt: Add emulated TPM support to Nova https://review.opendev.org/631363
11:52:58 openstackgerrit Stephen Finucane proposed openstack/nova master: docs: Add docs for vTPM support https://review.opendev.org/739213
11:52:59 openstackgerrit Stephen Finucane proposed openstack/nova master: Don't unset Instance.old_flavor, new_flavor until necessary https://review.opendev.org/741995
11:52:59 openstackgerrit Stephen Finucane proposed openstack/nova master: Add support for resize and cold migration of emulated TPM files https://review.opendev.org/639934
11:53:00 openstackgerrit Stephen Finucane proposed openstack/nova master: Add type hints to 'nova.compute.manager' https://review.opendev.org/742863
11:53:00 openstackgerrit Stephen Finucane proposed openstack/nova master: privsep: Add support for recursive chown, move_tree operations https://review.opendev.org/742864
11:53:01 openstackgerrit Stephen Finucane proposed openstack/nova master: Add type hints to 'nova.virt.libvirt.utils' https://review.opendev.org/742865
13:41:04 openstackgerrit Elod Illes proposed openstack/nova stable/rocky: compute: Allow snapshots to be created from PAUSED volume backed instances https://review.opendev.org/729177
13:48:22 openstackgerrit Artom Lifshitz proposed openstack/nova master: Add regression test for bug 1879787 https://review.opendev.org/741230
13:48:22 openstack bug 1879787 in OpenStack Compute (nova) "post_live_migration does not handle Neutron errors" [Medium,In progress] https://launchpad.net/bugs/1879787 - Assigned to Artom Lifshitz (notartom)
13:48:22 openstackgerrit Artom Lifshitz proposed openstack/nova master: Handle Neutron errors in _post_live_migration() https://review.opendev.org/729763
13:49:02 openstackgerrit Merged openstack/nova stable/ussuri: libvirt: Handle VIR_ERR_DEVICE_MISSING when detaching devices https://review.opendev.org/742414
13:54:45 sean-k-mooney gibi: hi o/ i was away for a funeral this week so just seeing your commnet on the attach/detach patch now. i can take a look at it more closely next week but still pretty burt out today. hopefully ill be less mentally exausted after the weekend
13:56:28 sean-k-mooney so ya i think your right there is a bug related to macvtap detach that is prexisting in the libvirt driver
13:57:33 sean-k-mooney well 2 one its not updating the domain correctly because its not finding the device properly and 2 its not relasing the vf claim because we just dont do that today for sriov detach
13:58:18 sean-k-mooney problem 1 is want prevents the vf mac from being reset and the macvtap being removed on detach
13:58:19 gibi sean-k-mooney: no worries. take your time to recover
13:58:53 gibi sean-k-mooney: I think I've just found the reason of 2
13:58:57 gibi and I think I can fix it
13:59:06 gibi I will be away next week
13:59:34 gibi so feel free to touch my code or add patches to the series while I'm away and I will continue the weak after
13:59:48 sean-k-mooney what proably makes sense is to have 3 patches. 1 that block detach in the api, then your current one and a final patch for macvtap
14:00:20 gibi yes, make sense to have separate patches for the separate issues
14:00:58 sean-k-mooney we also need a ptach for direct-physical but it is basically the same issue the device lookup fails although it fails for a different reason
14:01:24 sean-k-mooney it filas because the mac is not present rather then the target_dev
14:01:58 sean-k-mooney but its still failing in the same if i belive https://github.com/openstack/nova/blob/4a925cf01ac6ca313ff10c3075a86d65095de299/nova/virt/libvirt/guest.py#L252-L257
14:02:27 gibi sean-k-mooney: cool. I haven't had time to try direct-physical yet,
14:03:44 sean-k-mooney what i think make sense is to just have 2 code paths. if its an sriov inteface find it by the pci adresss and remove it
14:03:51 sean-k-mooney if not find it by its mac and remove it
14:05:45 sean-k-mooney ill have to look at the code and see if that makes sense in partice however as im not sure if we have the vnic_type or vif type avaiable
14:06:32 gibi the code that searchs for the interface has access to the vif 124: enp129s16f6: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
14:06:39 gibi bah
14:06:53 gibi the code that searchs for the interface has access to the vif 124: enp129s16f6: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN group default qlen 1000
14:07:03 gibi my copy paste buffer is brokn :/
14:07:19 sean-k-mooney ok cool
14:07:28 gibi https://github.com/openstack/nova/blob/4a925cf01ac6ca313ff10c3075a86d65095de299/nova/virt/libvirt/guest.py#L252-L257
14:07:56 gibi nah, this is the place where the matching between the current domain and the vif being detached happens https://github.com/openstack/nova/blob/4a925cf01ac6ca313ff10c3075a86d65095de299/nova/virt/libvirt/guest.py#L252-L257
14:09:06 sean-k-mooney same link :) i think you ment https://github.com/openstack/nova/blob/4a925cf01ac6ca313ff10c3075a86d65095de299/nova/virt/libvirt/driver.py#L2199
14:09:14 sean-k-mooney and yes it has the vif
14:10:03 stephenfin lyarwood: Are you the person I need to shout at for nova-ceph-multistore failing? :P
14:10:22 sean-k-mooney so we could add a get_interface_by_pci_address and call that instead for sriov devices.

Earlier   Later