Failed to read "/sys/bus/pci/devices/0000:05:00.0/vpd": open /sys/bus/pci/devices/0000:05:00.0/vpd: permission denied

Bug #1973304 reported by Björn Tillenius
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MAAS
Fix Released
High
Alberto Donato

Bug Description

This is using 3.2.0~beta4-11929-g.17a5a5fa7 as a snap.

The controller can not refresh its networking/hardware configuration:

2022-05-13 10:21:54 twisted.internet.defer: [critical] Unhandled error in Deferred:
2022-05-13 10:21:54 twisted.internet.defer: [critical]
        Traceback (most recent call last):
          File "/usr/lib/python3.8/threading.py", line 870, in run
            self._target(*self._args, **self._kwargs)
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 821, in worker
            return target()
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/_threads/_threadworker.py", line 46, in work
            task()
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/_threads/_team.py", line 190, in doWork
            task()
        --- <exception caught here> ---
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 250, in inContext
            result = inContext.theWork()
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/python/threadpool.py", line 266, in <lambda>
            inContext.theWork = lambda: context.call(ctx, func, *args, **kw)
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/python/context.py", line 122, in callWithContext
            return self.currentContext().callWithContext(ctx, func, *args, **kw)
          File "/snap/maas/20983/usr/lib/python3/dist-packages/twisted/python/context.py", line 85, in callWithContext
            return func(*args,**kw)
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 856, in callInContext
            return func(*args, **kwargs)
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/twisted.py", line 202, in wrapper
            result = func(*args, **kwargs)
          File "/snap/maas/20983/lib/python3.8/site-packages/maasserver/utils/orm.py", line 756, in call_within_transaction
            return func_outside_txn(*args, **kwargs)
          File "/snap/maas/20983/lib/python3.8/site-packages/maasserver/utils/orm.py", line 559, in retrier
            return func(*args, **kwargs)
          File "/usr/lib/python3.8/contextlib.py", line 75, in inner
            return func(*args, **kwds)
          File "/snap/maas/20983/lib/python3.8/site-packages/maasserver/ipc.py", line 361, in create_endpoints
            self._updateEndpoints(process, self._getListenAddresses(port))
          File "/snap/maas/20983/lib/python3.8/site-packages/maasserver/ipc.py", line 303, in _getListenAddresses
            addresses = get_all_interface_source_addresses()
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/network.py", line 1207, in get_all_interface_source_addresses
            for network in get_all_interface_subnets():
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/network.py", line 1192, in get_all_interface_subnets
            for interface in get_all_interfaces_definition().values()
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/network.py", line 1139, in get_all_interfaces_definition
            for name, ipaddr in get_ip_addr().items()
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/ipaddr.py", line 28, in get_ip_addr
            output = call_and_check(command)
          File "/snap/maas/20983/lib/python3.8/site-packages/provisioningserver/utils/shell.py", line 106, in call_and_check
            raise ExternalProcessError(process.returncode, command, output=stderr)
        provisioningserver.utils.shell.ExternalProcessError: Command `/snap/maas/20983/usr/share/maas/machine-resources/amd64` returned non-zero exit status 1:
        ERROR: Failed to retrieve PCI information: Failed to read "/sys/bus/pci/devices/0000:05:00.0/vpd": open /sys/bus/pci/devices/0000:05:00.0/vpd: permission denied

Related branches

Changed in maas:
milestone: none → 3.2.0
assignee: nobody → Alberto Donato (ack)
importance: Undecided → High
status: New → Triaged
Revision history for this message
Björn Tillenius (bjornt) wrote :

It seems like the vpd file can't be read from within a container. This is the file on the container:

maas-dev:~> sudo find /sys -name vpd
-rw------- 1 nobody nogroup 0 May 13 10:17 /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:05:00.0/vpd
-rw------- 1 nobody nogroup 0 May 16 08:01 /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:04.0/0000:06:00.0/vpd

maas-dev:~> sudo less /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:05:00.0/vpd
/sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:05:00.0/vpd: Permission denied

From the host, the file looks like this (and can be read):

salvia:~> sudo sudo find /sys -name vpd | xargs ls -l
-rw------- 1 root root 0 maj 12 09:00 /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:02.0/0000:05:00.0/vpd
-rw------- 1 root root 0 maj 12 09:00 /sys/devices/pci0000:00/0000:00:01.2/0000:02:00.0/0000:03:04.0/0000:06:00.0/vpd

Alberto Donato (ack)
Changed in maas:
status: Triaged → In Progress
Changed in maas:
status: In Progress → Fix Committed
Changed in maas:
milestone: 3.2.0 → 3.2.0-beta5
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.