Earlier  
Posted Nick Remark
#openstack-nova - 2023-04-14
20:38:24 opendevreview melanie witt proposed openstack/nova master: Call volume detach rollback API if detach fails https://review.opendev.org/c/openstack/nova/+/880399
21:30:19 opendevreview Merged openstack/nova master: Update to the PTL guide https://review.opendev.org/c/openstack/nova/+/875730
22:36:52 opendevreview Robert Breker proposed openstack/nova master: Fix nova-manage image_property show unexpected keyword https://review.opendev.org/c/openstack/nova/+/880557
#openstack-nova - 2023-04-17
01:08:27 opendevreview Merged openstack/nova master: db: Remove legacy migrations https://review.opendev.org/c/openstack/nova/+/872428
09:05:30 Uggla sean-k-mooney, gibi, bauzas I'm facing an issue. I can mount a share on the compute if I'am an admin, but not a regular user. I think it is something around privsep but I did not figure what it could be. Any idea what could be the issue ?
09:06:57 gibi Uggla: how this fails?
09:07:06 Uggla I receive this error as a regular user : mount.nfs: mounting 192.168.122.76:/opt/stack/data/manila/mnt/share-7643c9cb-bf52-4263-b048-2b3589451cd9 failed, reason given by server: No such file or directory\n'
09:07:24 Uggla however the directory exists.
09:08:54 Uggla as an example using the mount -t nfs 192.168.122.76:/opt/stack/data/manila/mnt/share-7643c9cb-bf52-4263-b048-2b3589451cd9 /opt/stack/data/nova/mnt/57c1c5f49444e0ccdcd1d46b5d640827 command as root is ok.
09:09:14 opendevreview Stephen Finucane proposed openstack/nova master: doc: Update version info https://review.opendev.org/c/openstack/nova/+/880614
09:09:26 Uggla as root
09:15:23 Uggla gibi, https://paste.opendev.org/show/bypnmFjxs469LqyF1nsB/
09:16:58 bauzas Uggla: I'm unclear, is the mount failing ?
09:18:18 Uggla bauzas, yes the mount is failing if I am an openstack "regular" user (demo). Not if I am an admin.
09:18:46 bauzas I see
09:19:10 bauzas which service is doing the mount ?
09:19:15 bauzas nova-compute right?
09:19:18 Uggla bauzas, compute
09:19:19 Uggla yes
09:19:39 bauzas sec
09:20:50 gibi it is strange the mount call does not take the ctx so I'm not sure how this code can depend on the user token
09:23:35 bauzas I'm confused, I'm trying to see where we internally syscall mount
09:23:44 Uggla gibi, hopefully I have a witness (artom) prooving I'm not totally mad. ;)
09:24:28 bauzas ah, found it
09:24:37 bauzas in https://review.opendev.org/c/openstack/nova/+/833090/29/nova/virt/libvirt/driver.py#4115
09:25:49 bauzas you're calling nfs.LibvirtNFSVolumeDriver with connect_volume()
09:25:54 bauzas Uggla: amirite ?
09:26:15 Uggla yes
09:26:46 Uggla then it is calling mount --> privsep --> fs
09:27:52 bauzas https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume/fs.py#L113
09:27:55 bauzas found it
09:28:51 bauzas https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume/mount.py#L262 this is what's eventually called
09:29:20 bauzas which indeed calls a prevsep helper https://github.com/openstack/nova/blob/master/nova/virt/libvirt/volume/mount.py#L308
09:29:53 bauzas and yeah look https://github.com/openstack/nova/blob/master/nova/privsep/fs.py#L30
09:33:01 bauzas oh wait
09:33:25 Uggla bauzas, yes and as gibi said there is no link with the context. That's the reason why I don't understand the issue.
09:33:37 bauzas Uggla: as a reminder, the privsep helper doesn't run as root
09:34:49 bauzas it runs as the nova user with sudo rights, which is different
09:36:43 bauzas iirc, rootwrap only runs privsep with https://github.com/openstack/nova/blob/master/etc/nova/rootwrap.d/compute.filters
09:37:14 bauzas and then the privsep client connects to the privsep socket
09:37:58 bauzas that's why I'm suspecting you miss some privsep capability
09:39:37 Uggla bauzas, hum you lost me. As privsep is a replacement for rootwrap in my mind.
09:41:31 bauzas Uggla: privsep is a deamon https://github.com/openstack/oslo.privsep/blob/master/oslo_privsep/daemon.py
09:41:54 bauzas and iirc, we start it thru rootwrap https://github.com/openstack/oslo.privsep/blob/master/oslo_privsep/daemon.py#L32
09:42:23 bauzas then, the privsep client connects to the deamon which has escalated rights
09:42:24 gibi bauzas: if the same sequence works with and admin user token but not with the demo user token then I don't think this is a privsep capability issue but I have no better idea :/
09:42:45 bauzas gibi: I haven't understand the same
09:43:10 bauzas I thought Uggla was saying that the mount wasn't working with a nova user, but a mount command was working fine with sudo righrs
09:43:35 bauzas hence me thinking this was about a missing cap
09:44:12 bauzas but agreed, if an admin API call can mount thru nova, then yeah, this is a keystone context problem and not a privsep one
09:46:37 Uggla bauzas, the sudo mount command was just to prove that it is not an issue with missing directory and that mount.nfs is possible on the host. And it works fine as an os admin and not as a os user.
09:46:50 bauzas ohok
09:46:54 bauzas my bad then
09:47:03 bauzas soooo, pdb it
09:48:24 stephenfin sqlalchemy-migrate is finally gone. Whoop! 🥳
09:48:24 stephenfin sqlalchemy-migrate is finally gone. Whoop! 🥳
09:48:31 bauzas Uggla: have you checked that all the attributes for the privsep.mount call are the same, between a standard user and an admin user?
09:48:32 stephenfin Now to get the other projects to do the same
09:48:40 stephenfin Thanks for the reviews :)
09:48:43 bauzas stephenfin: kudos for the win.
09:49:11 stephenfin I hope nova jobs will start passing here shortly https://review.opendev.org/c/openstack/requirements/+/879743
09:49:12 Uggla bauzas, unless if I'm wrong we are calling the same.
09:50:09 Uggla bauzas, if you wish I can show you a demo in the beginning of the afternoon.
09:50:28 bauzas Uggla: I've seen a couple of log debug messages, should be quick to verify
09:50:31 bauzas Uggla: sure
10:26:32 songwenping bauzas, sean-k-mooney: hi guys, i have attach nvidia gpu(v100/A100) to the vm with 'virsh attach-device --persistent --live' , i can find the gpu in the vm with lspci, but nvidia-smi cnanot find the gpu, with the error 'NVRM: GPU 0000:05:00.0: RmInitAdapter failed! ', do you have any advices?
11:29:52 opendevreview Rajesh Tailor proposed openstack/nova master: Fix case-sensitivity for metadata keys https://review.opendev.org/c/openstack/nova/+/873901
12:07:51 bauzas songwenping: this is unfortunately not a nova issue, IMHO
12:08:18 bauzas if you can list the vgpu by lcpci, it looks to me a nvidia driver issue
12:14:12 songwenping bauzas: right, but where can we find some doc to prove it's nvidia driver issue?
12:24:08 opendevreview Stephen Finucane proposed openstack/placement master: db: Replace use of deprecated API https://review.opendev.org/c/openstack/placement/+/880623
12:24:09 opendevreview Stephen Finucane proposed openstack/placement master: tests: Use base class for all functional tests https://review.opendev.org/c/openstack/placement/+/880624
12:24:09 opendevreview Stephen Finucane proposed openstack/placement master: tests: Warn on *any* SAWarning warning https://review.opendev.org/c/openstack/placement/+/880625
12:31:57 Uggla gibi, bauzas I have progressed a little. In fact I was fooled. The mount issue is not linked to user vs admin. But the first to the api is failing, but the second one is working, and this is not linked to timing.
12:32:22 Uggla s/first/first call/
12:46:58 bauzas Uggla: let's discuss this directly by gmeet if you want ;)
12:47:08 Uggla ok
12:47:17 Uggla cleaning my env and calling you
12:48:13 bauzas songwenping: honestly, nova just adds a mdev on the libvirt XML https://libvirt.org/drvnodedev.html#mediated-devices-mdevs
12:48:32 bauzas Uggla: ok
13:22:03 artom Uggla, oh, the privsep mount thing
13:22:09 artom Yeah, it's super weird, I am indeed a witness
13:41:30 opendevreview Dan Smith proposed openstack/nova master: Remove silent failure to find a node on rebuild https://review.opendev.org/c/openstack/nova/+/880632
13:41:30 opendevreview Dan Smith proposed openstack/nova master: Stop ignoring missing compute nodes in claims https://review.opendev.org/c/openstack/nova/+/880633
13:41:41 dansmith bauzas: I pulled the RT stuff out into a separate set^
13:42:02 bauzas dansmith: on a long call with Uggla but okay, I'll try
13:42:07 dansmith and fixed another silent failure we ignore in evacuate
14:21:10 bauzas gibi: dansmith: sean-k-mooney: fyi, we discussed with Uggla about his series and we discovered a potential large leak for ACLs in Manila access rights
14:21:32 gibi ack
14:21:39 bauzas gibi: dansmith: sean-k-mooney: when adding an access-allow for the share, we pass the compute IP address to Manila
14:21:55 dansmith which is visible by the user?
14:21:57 bauzas then the IP address can be seen by any user in the same project, and also any user can delete this ACL
14:22:19 dansmith that'd be bad
14:22:42 bauzas so we need to tell the Manila folks to somehow hide those details
14:22:57 dansmith yeah
14:23:22 bauzas if the ACL is done by a service, it shouldn't be seen by an enduser, neither be able to delete it
14:23:46 bauzas if we ask Manila to lock a share, that's a different concern
14:23:55 sean-k-mooney bauzas: this is partly why i wanted to use the cert auth method not the ip one
14:23:57 bauzas because users can delete ACLs without unlocking
14:24:09 dansmith ...yup

Earlier   Later