Hi Ryan,
The fix doesn't need to be backported as I think the apparmor profile
for lsblk is not on Plucky either in previous LTSs, and the test works
fine:
ubuntu@t-pluckye-check-package:~$ history
1 dpkg -l azure-vm-utils
2 lsb_release -a
3 l
4 exit
5 l
6 sudo ./selftest.py
7 history
ubuntu@t-pluckye-check-package:~$ !2
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 25.04
Release: 25.04
Codename: plucky
ubuntu@t-pluckye-check-package:~$ !6
sudo ./selftest.py
[2025-10-07 10:02:13,361] azure-nvme-id info:
AzureNvmeIdInfo(azure_nvme_id_stdout='/dev/nvme0n1:
type=local,index=1,name=nvme-110G-1\n/dev/nvme1n1: type=os\n',
azure_nvme_id_stderr='', azure_nvme_id_returncode=0,
azure_nvme_id_disks={'nvme0n1': AzureNvmeIdDevice(device='/dev/nvme0n1',
model=None, nvme_id='type=local,index=1,name=nvme-110G-1', type='local',
index=1, lun=None, name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})},
azure_nvme_id_json_stdout='[\n {\n "path": "/dev/nvme0n1",\n "model":
"Microsoft NVMe Direct Disk v2",\n "properties": {\n "type": "local",\n
"index": 1,\n "name": "nvme-110G-1"\n },\n "vs":
"type=local,index=1,name=nvme-110G-1"\n },\n {\n "path": "/dev/nvme1n1",\n
"model": "MSFT NVMe Accelerator v1.0",\n "properties": {\n "type":
"os"\n },\n "vs": ""\n }\n]\n', azure_nvme_id_json_stderr='',
azure_nvme_id_json_returncode=0, azure_nvme_id_json_disks={'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model='Microsoft NVMe Direct Disk v2',
nvme_id='', type='local', index=1, lun=None, name='nvme-110G-1', extra={}),
'nvme1n1': AzureNvmeIdDevice(device='/dev/nvme1n1', model='MSFT NVMe
Accelerator v1.0', nvme_id='', type='os', index=None, lun=None, name=None,
extra={})}, azure_nvme_id_help_stdout='Usage: azure-nvme-id [-d|--debug]
[-u|--udev|-h|--help|-v|--version]\n -d, --debug Enable debug
mode\n -f, --format {plain|json} Output format (default=plain)\n -h, --help
Display this help message\n -u, --udev Enable udev
mode\n -v, --version Display the version\n',
azure_nvme_id_help_stderr='', azure_nvme_id_help_returncode=0,
azure_nvme_id_version_stdout='azure-nvme-id 0.6.0-4~ubuntu0.25.04.1\n',
azure_nvme_id_version_stderr='', azure_nvme_id_version_returncode=0,
azure_nvme_id_version='0.6.0-4~ubuntu0.25.04.1',
azure_nvme_id_zzz_stdout='Usage: azure-nvme-id [-d|--debug]
[-u|--udev|-h|--help|-v|--version]\n -d, --debug Enable debug
mode\n -f, --format {plain|json} Output format (default=plain)\n -h, --help
Display this help message\n -u, --udev Enable udev
mode\n -v, --version Display the version\n',
azure_nvme_id_zzz_stderr='invalid argument: zzz\n',
azure_nvme_id_zzz_returncode=1)
[2025-10-07 10:02:13,367] no SCSI resource disk found
[2025-10-07 10:02:13,367] disks info: DiskInfo(root_device='nvme1n1p1',
dev_disk_azure_links=['/dev/disk/azure/local/by-index/1',
'/dev/disk/azure/local/by-name/nvme-110G-1',
'/dev/disk/azure/local/by-serial/c1e1ac271b3066100001', '/dev/disk/azure/os',
'/dev/disk/azure/os-part1', '/dev/disk/azure/os-part13',
'/dev/disk/azure/os-part14', '/dev/disk/azure/os-part15'],
dev_disk_azure_resource_disk=None, dev_disk_azure_resource_disk_size_gib=0,
nvme_local_disk_size_gib=110, nvme_local_disks_v1=[],
nvme_local_disks_v2=['nvme0n1'], nvme_local_disks=['nvme0n1'],
nvme_remote_data_disks=[], nvme_remote_disks=[], nvme_remote_os_disk='nvme1n1',
root_device_is_nvme=True, scsi_resource_disk=None,
scsi_resource_disk_size_gib=0)
[2025-10-07 10:02:13,389] sku config: None
[2025-10-07 10:02:13,390] validate_azure_nvme_id_help OK: 'Usage: azure-nvme-id
[-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format (default=plain)\n
-h, --help Display this help message\n -u, --udev
Enable udev mode\n -v, --version Display the version\n'
[2025-10-07 10:02:13,390] validate_azure_nvme_id_version OK:
0.6.0-4~ubuntu0.25.04.1
[2025-10-07 10:02:13,390] validate_azure_nvme_id_invalid_arg OK: 'Usage:
azure-nvme-id [-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format
(default=plain)\n -h, --help Display this help message\n -u,
--udev Enable udev mode\n -v, --version Display the
version\n'
[2025-10-07 10:02:13,390] validate_azure_nvme_disks OK: {'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model=None,
nvme_id='type=local,index=1,name=nvme-110G-1', type='local', index=1, lun=None,
name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})}
[2025-10-07 10:02:13,390] validate_azure_nvmve_id OK: '/dev/nvme0n1:
type=local,index=1,name=nvme-110G-1\n/dev/nvme1n1: type=os\n'
[2025-10-07 10:02:13,390] validate_azure_nvme_disks OK: {'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model=None,
nvme_id='type=local,index=1,name=nvme-110G-1', type='local', index=1, lun=None,
name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})}
[2025-10-07 10:02:13,390] validate_azure_nvmve_id_json OK: '[\n {\n "path":
"/dev/nvme0n1",\n "model": "Microsoft NVMe Direct Disk v2",\n
"properties": {\n "type": "local",\n "index": 1,\n "name":
"nvme-110G-1"\n },\n "vs": "type=local,index=1,name=nvme-110G-1"\n },\n
{\n "path": "/dev/nvme1n1",\n "model": "MSFT NVMe Accelerator v1.0",\n
"properties": {\n "type": "os"\n },\n "vs": ""\n }\n]\n'
[2025-10-07 10:02:13,390] validate_dev_disk_azure_links_data OK: []
[2025-10-07 10:02:13,390] validate_dev_disk_azure_links_local OK:
['/dev/disk/azure/local/by-index/1',
'/dev/disk/azure/local/by-name/nvme-110G-1',
'/dev/disk/azure/local/by-serial/c1e1ac271b3066100001']
[2025-10-07 10:02:13,390] validate_dev_disk_azure_links_os OK:
'/dev/disk/azure/os'
[2025-10-07 10:02:13,390] validate_dev_disk_azure_links_resource OK:
'/dev/disk/azure/resource'
[2025-10-07 10:02:13,390] validate_scsi_resource_disk OK:
/dev/disk/azure/resource => None
[2025-10-07 10:02:13,390] validate_interface eth0 OK:
NetworkInterface(name='eth0', driver='hv_netvsc', mac='7c:ed:8d:95:29:04',
ipv4_addrs=['10.0.0.23'], udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/7ced8d95-2904-7ced-8d95-29047ced8d95/net/eth0',
'INTERFACE': 'eth0', 'IFINDEX': '2', 'SUBSYSTEM': 'net', 'USEC_INITIALIZED':
'3547338', 'ID_NET_DRIVER': 'hv_netvsc', 'NM_UNMANAGED': '1',
'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC': 'enx7ced8d952904',
'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00', 'ID_PATH_TAG': 'acpi-MSFT1000_00', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'eth0',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/eth0', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})
[2025-10-07 10:02:13,390] validate_interface enP30399s1 OK:
NetworkInterface(name='enP30399s1', driver='mlx5_core',
mac='7c:ed:8d:95:29:04', ipv4_addrs=[], udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/6bdc1437-76bf-4020-88e7-d9fa2919195f/pci76bf:00/76bf:00:02.0/net/enP30399s1',
'INTERFACE': 'enP30399s1', 'IFINDEX': '3', 'SUBSYSTEM': 'net',
'USEC_INITIALIZED': '8908461', 'AZURE_UNMANAGED_SRIOV': '1',
'ID_NET_MANAGED_BY': 'unmanaged', 'NM_UNMANAGED': '1', 'ID_NET_DRIVER':
'mlx5_core', 'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC':
'enx7ced8d952904', 'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_NET_NAME_PATH':
'enP30399p0s2', 'ID_NET_NAME_SLOT': 'enP30399s1', 'ID_BUS': 'pci',
'ID_VENDOR_ID': '0x15b3', 'ID_MODEL_ID': '0x101a',
'ID_PCI_CLASS_FROM_DATABASE': 'Network controller',
'ID_PCI_SUBCLASS_FROM_DATABASE': 'Ethernet controller',
'ID_VENDOR_FROM_DATABASE': 'Mellanox Technologies', 'ID_MODEL_FROM_DATABASE':
'MT28800 Family [ConnectX-5 Ex Virtual Function]', 'ID_MM_CANDIDATE': '1',
'ID_PATH': 'acpi-MSFT1000:00-pci-76bf:00:02.0', 'ID_PATH_TAG':
'acpi-MSFT1000_00-pci-76bf_00_02_0', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'enP30399s1',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/enP30399s1', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})
[2025-10-07 10:02:13,390] validate_networking OK:
NetworkInfo(interfaces={'eth0': NetworkInterface(name='eth0',
driver='hv_netvsc', mac='7c:ed:8d:95:29:04', ipv4_addrs=['10.0.0.23'],
udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/7ced8d95-2904-7ced-8d95-29047ced8d95/net/eth0',
'INTERFACE': 'eth0', 'IFINDEX': '2', 'SUBSYSTEM': 'net', 'USEC_INITIALIZED':
'3547338', 'ID_NET_DRIVER': 'hv_netvsc', 'NM_UNMANAGED': '1',
'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC': 'enx7ced8d952904',
'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00', 'ID_PATH_TAG': 'acpi-MSFT1000_00', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'eth0',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/eth0', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'}), 'enP30399s1':
NetworkInterface(name='enP30399s1', driver='mlx5_core',
mac='7c:ed:8d:95:29:04', ipv4_addrs=[], udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/6bdc1437-76bf-4020-88e7-d9fa2919195f/pci76bf:00/76bf:00:02.0/net/enP30399s1',
'INTERFACE': 'enP30399s1', 'IFINDEX': '3', 'SUBSYSTEM': 'net',
'USEC_INITIALIZED': '8908461', 'AZURE_UNMANAGED_SRIOV': '1',
'ID_NET_MANAGED_BY': 'unmanaged', 'NM_UNMANAGED': '1', 'ID_NET_DRIVER':
'mlx5_core', 'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC':
'enx7ced8d952904', 'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_NET_NAME_PATH':
'enP30399p0s2', 'ID_NET_NAME_SLOT': 'enP30399s1', 'ID_BUS': 'pci',
'ID_VENDOR_ID': '0x15b3', 'ID_MODEL_ID': '0x101a',
'ID_PCI_CLASS_FROM_DATABASE': 'Network controller',
'ID_PCI_SUBCLASS_FROM_DATABASE': 'Ethernet controller',
'ID_VENDOR_FROM_DATABASE': 'Mellanox Technologies', 'ID_MODEL_FROM_DATABASE':
'MT28800 Family [ConnectX-5 Ex Virtual Function]', 'ID_MM_CANDIDATE': '1',
'ID_PATH': 'acpi-MSFT1000:00-pci-76bf:00:02.0', 'ID_PATH_TAG':
'acpi-MSFT1000_00-pci-76bf_00_02_0', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'enP30399s1',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/enP30399s1', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})})
[2025-10-07 10:02:13,390] validate_sku_config SKIPPED: no sku configuration for
VM size 'Standard_E2ads_v6'
[2025-10-07 10:02:13,390] success!
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to apparmor in Ubuntu.
https://bugs.launchpad.net/bugs/2126920
Title:
lsblk profile need to allow read access to Azure NVMe ACPI hierarchy
Status in apparmor package in Ubuntu:
New
Status in apparmor source package in Questing:
New
Bug description:
When running tests of azure-vm-utils package on Questing 25.10 on an
Azure VM machines we see:
ubuntu@nmvedirect:~$ python3 --version
Python 3.13.7
ubuntu@nmvedirect:~$ sudo python3 ./selftest.py
azure-nvme-id info: AzureNvmeIdInfo(azure_nvme_id_stdout='/dev/nvme0n1:
type=os\n/dev/nvme1n1: type=local,index=1,name=nvme-110G-1\n',
azure_nvme_id_stderr='', azure_nvme_id_returncode=0,
azure_nvme_id_disks={'nvme0n1': AzureNvmeIdDevice(device='/dev/nvme0n1',
model=None, nvme_id='type=os', type='os', index=None, lun=None, name=None,
extra={}), 'nvme1n1': AzureNvmeIdDevice(device='/dev/nvme1n1', model=None,
nvme_id='type=local,index=1,name=nvme-110G-1', type='local', index=1, lun=None,
name='nvme-110G-1', extra={})}, azure_nvme_id_json_stdout='[\n {\n "path":
"/dev/nvme0n1",\n "model": "MSFT NVMe Accelerator v1.0",\n "properties":
{\n "type": "os"\n },\n "vs": ""\n },\n {\n "path":
"/dev/nvme1n1",\n "model": "Microsoft NVMe Direct Disk v2",\n
"properties": {\n "type": "local",\n "index": 1,\n "name":
"nvme-110G-1"\n },\n "vs": "type=local,index=1,name=nvme-110G-1"\n
}\n]\n', azure_nvme_id_json_stderr='', azure_nvme_id_json_returncode=0,
azure_nvme_id_json_disks={'nvme0n1': AzureNvmeIdDevice(device='/dev/nvme0n1',
model='MSFT NVMe Accelerator v1.0', nvme_id='', type='os', index=None,
lun=None, name=None, extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model='Microsoft NVMe Direct Disk v2',
nvme_id='', type='local', index=1, lun=None, name='nvme-110G-1', extra={})},
azure_nvme_id_help_stdout='Usage: azure-nvme-id [-d|--debug]
[-u|--udev|-h|--help|-v|--version]\n -d, --debug Enable debug
mode\n -f, --format {plain|json} Output format (default=plain)\n -h, --help
Display this help message\n -u, --udev Enable udev
mode\n -v, --version Display the version\n',
azure_nvme_id_help_stderr='', azure_nvme_id_help_returncode=0,
azure_nvme_id_version_stdout='azure-nvme-id 0.6.0-4\n',
azure_nvme_id_version_stderr='', azure_nvme_id_version_returncode=0,
azure_nvme_id_version='0.6.0-4', azure_nvme_id_zzz_stdout='Usage: azure-nvme-id
[-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format (default=plain)\n
-h, --help Display this help message\n -u, --udev
Enable udev mode\n -v, --version Display the version\n',
azure_nvme_id_zzz_stderr='invalid argument: zzz\n',
azure_nvme_id_zzz_returncode=1)
error while fetching disk size: CalledProcessError(32, ['lsblk', '-b', '-n',
'-o', 'SIZE', '-d', '/dev/nvme1n1'])
Traceback (most recent call last):
File "/home/ubuntu/./selftest.py", line 1118, in <module>
main()
~~~~^^
File "/home/ubuntu/./selftest.py", line 1110, in main
validator = AzureVmUtilsValidator(
skip_imds_validation=args.skip_imds_validation,
skip_symlink_validation=args.skip_symlink_validation,
)
File "/home/ubuntu/./selftest.py", line 867, in __init__
self.disk_info = DiskInfo.gather()
~~~~~~~~~~~~~~~^^
File "/home/ubuntu/./selftest.py", line 427, in gather
nvme_local_disk_size_gib = min(
get_disk_size_gib(f"/dev/{disk}") for disk in nvme_local_disks
)
File "/home/ubuntu/./selftest.py", line 428, in <genexpr>
get_disk_size_gib(f"/dev/{disk}") for disk in nvme_local_disks
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/home/ubuntu/./selftest.py", line 195, in get_disk_size_gib
proc = subprocess.run(
["lsblk", "-b", "-n", "-o", "SIZE", "-d", disk_path],
...<3 lines>...
check=True,
)
File "/usr/lib/python3.13/subprocess.py", line 577, in run
raise CalledProcessError(retcode, process.args,
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['lsblk', '-b', '-n', '-o', 'SIZE',
'-d', '/dev/nvme1n1']' returned non-zero exit status 32.
This is due to apparmor lsblk profile:
sudo dmesg | grep lsblk
[ 461.611820] audit: type=1400 audit(1759492274.036:192): apparmor="DENIED"
operation="open" class="file" profile="lsblk"
name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/70b4ac38-05b7-4efe-8862-db2456dfec84/pci05b7:00/05b7:00:00.0/nvme/nvme0/nvme0n1/"
pid=1707 comm="lsblk" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
I'm submitting the attached patch to upstream to fix it, which I
tested is OK:
ubuntu@t-questing-check-package:~$ sudo vim /etc/apparmor.d/lsblk
ubuntu@t-questing-check-package:~$ sudo apparmor_parser -r
/etc/apparmor.d/lsblk
ubuntu@t-questing-check-package:~$ sudo systemctl reload apparmor
ubuntu@t-questing-check-package:~$ sudo ./selftest.py
[2025-10-03 14:31:00,379] azure-nvme-id info:
AzureNvmeIdInfo(azure_nvme_id_stdout='/dev/nvme0n1:
type=local,index=1,name=nvme-110G-1\n/dev/nvme1n1: type=os\n',
azure_nvme_id_stderr='', azure_nvme_id_returncode=0,
azure_nvme_id_disks={'nvme0n1': AzureNvmeIdDevice(device='/dev/nvme0n1',
model=None, nvme_id='type=local,index=1,name=nvme-110G-1', type='local',
index=1, lun=None, name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})},
azure_nvme_id_json_stdout='[\n {\n "path": "/dev/nvme0n1",\n "model":
"Microsoft NVMe Direct Disk v2",\n "properties": {\n "type": "local",\n
"index": 1,\n "name": "nvme-110G-1"\n },\n "vs":
"type=local,index=1,name=nvme-110G-1"\n },\n {\n "path": "/dev/nvme1n1",\n
"model": "MSFT NVMe Accelerator v1.0",\n "properties": {\n "type":
"os"\n },\n "vs": ""\n }\n]\n', azure_nvme_id_json_stderr='',
azure_nvme_id_json_returncode=0, azure_nvme_id_json_disks={'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model='Microsoft NVMe Direct Disk v2',
nvme_id='', type='local', index=1, lun=None, name='nvme-110G-1', extra={}),
'nvme1n1': AzureNvmeIdDevice(device='/dev/nvme1n1', model='MSFT NVMe
Accelerator v1.0', nvme_id='', type='os', index=None, lun=None, name=None,
extra={})}, azure_nvme_id_help_stdout='Usage: azure-nvme-id [-d|--debug]
[-u|--udev|-h|--help|-v|--version]\n -d, --debug Enable debug
mode\n -f, --format {plain|json} Output format (default=plain)\n -h, --help
Display this help message\n -u, --udev Enable udev
mode\n -v, --version Display the version\n',
azure_nvme_id_help_stderr='', azure_nvme_id_help_returncode=0,
azure_nvme_id_version_stdout='azure-nvme-id 0.6.0-4\n',
azure_nvme_id_version_stderr='', azure_nvme_id_version_returncode=0,
azure_nvme_id_version='0.6.0-4', azure_nvme_id_zzz_stdout='Usage: azure-nvme-id
[-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format (default=plain)\n
-h, --help Display this help message\n -u, --udev
Enable udev mode\n -v, --version Display the version\n',
azure_nvme_id_zzz_stderr='invalid argument: zzz\n',
azure_nvme_id_zzz_returncode=1)
[2025-10-03 14:31:00,385] no SCSI resource disk found
[2025-10-03 14:31:00,385] disks info: DiskInfo(root_device='nvme1n1p1',
dev_disk_azure_links=['/dev/disk/azure/local/by-index/1',
'/dev/disk/azure/local/by-name/nvme-110G-1',
'/dev/disk/azure/local/by-serial/90df032a12b60d6c0001', '/dev/disk/azure/os',
'/dev/disk/azure/os-part1', '/dev/disk/azure/os-part13',
'/dev/disk/azure/os-part14', '/dev/disk/azure/os-part15'],
dev_disk_azure_resource_disk=None, dev_disk_azure_resource_disk_size_gib=0,
nvme_local_disk_size_gib=110, nvme_local_disks_v1=[],
nvme_local_disks_v2=['nvme0n1'], nvme_local_disks=['nvme0n1'],
nvme_remote_data_disks=[], nvme_remote_disks=[], nvme_remote_os_disk='nvme1n1',
root_device_is_nvme=True, scsi_resource_disk=None,
scsi_resource_disk_size_gib=0)
[2025-10-03 14:31:00,408] sku config: None
[2025-10-03 14:31:00,408] validate_azure_nvme_id_help OK: 'Usage:
azure-nvme-id [-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format
(default=plain)\n -h, --help Display this help message\n -u,
--udev Enable udev mode\n -v, --version Display the
version\n'
[2025-10-03 14:31:00,408] validate_azure_nvme_id_version OK: 0.6.0-4
[2025-10-03 14:31:00,408] validate_azure_nvme_id_invalid_arg OK: 'Usage:
azure-nvme-id [-d|--debug] [-u|--udev|-h|--help|-v|--version]\n -d, --debug
Enable debug mode\n -f, --format {plain|json} Output format
(default=plain)\n -h, --help Display this help message\n -u,
--udev Enable udev mode\n -v, --version Display the
version\n'
[2025-10-03 14:31:00,408] validate_azure_nvme_disks OK: {'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model=None,
nvme_id='type=local,index=1,name=nvme-110G-1', type='local', index=1, lun=None,
name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})}
[2025-10-03 14:31:00,408] validate_azure_nvmve_id OK: '/dev/nvme0n1:
type=local,index=1,name=nvme-110G-1\n/dev/nvme1n1: type=os\n'
[2025-10-03 14:31:00,408] validate_azure_nvme_disks OK: {'nvme0n1':
AzureNvmeIdDevice(device='/dev/nvme0n1', model=None,
nvme_id='type=local,index=1,name=nvme-110G-1', type='local', index=1, lun=None,
name='nvme-110G-1', extra={}), 'nvme1n1':
AzureNvmeIdDevice(device='/dev/nvme1n1', model=None, nvme_id='type=os',
type='os', index=None, lun=None, name=None, extra={})}
[2025-10-03 14:31:00,408] validate_azure_nvmve_id_json OK: '[\n {\n
"path": "/dev/nvme0n1",\n "model": "Microsoft NVMe Direct Disk v2",\n
"properties": {\n "type": "local",\n "index": 1,\n "name":
"nvme-110G-1"\n },\n "vs": "type=local,index=1,name=nvme-110G-1"\n },\n
{\n "path": "/dev/nvme1n1",\n "model": "MSFT NVMe Accelerator v1.0",\n
"properties": {\n "type": "os"\n },\n "vs": ""\n }\n]\n'
[2025-10-03 14:31:00,408] validate_dev_disk_azure_links_data OK: []
[2025-10-03 14:31:00,408] validate_dev_disk_azure_links_local OK:
['/dev/disk/azure/local/by-index/1',
'/dev/disk/azure/local/by-name/nvme-110G-1',
'/dev/disk/azure/local/by-serial/90df032a12b60d6c0001']
[2025-10-03 14:31:00,408] validate_dev_disk_azure_links_os OK:
'/dev/disk/azure/os'
[2025-10-03 14:31:00,408] validate_dev_disk_azure_links_resource OK:
'/dev/disk/azure/resource'
[2025-10-03 14:31:00,408] validate_scsi_resource_disk OK:
/dev/disk/azure/resource => None
[2025-10-03 14:31:00,408] validate_interface enP64000s1 OK:
NetworkInterface(name='enP64000s1', driver='mlx5_core',
mac='7c:1e:52:5d:4e:18', ipv4_addrs=[], udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/74be939c-fa00-4f1c-92d2-01b92989e8bc/pcifa00:00/fa00:00:02.0/net/enP64000s1',
'INTERFACE': 'enP64000s1', 'IFINDEX': '3', 'SUBSYSTEM': 'net',
'USEC_INITIALIZED': '9137589', 'AZURE_UNMANAGED_SRIOV': '1',
'ID_NET_MANAGED_BY': 'unmanaged', 'NM_UNMANAGED': '1', 'ID_NET_DRIVER':
'mlx5_core', 'ID_BUS': 'pci', 'ID_VENDOR_ID': '0x15b3', 'ID_MODEL_ID':
'0x101a', 'ID_PCI_CLASS_FROM_DATABASE': 'Network controller',
'ID_PCI_SUBCLASS_FROM_DATABASE': 'Ethernet controller',
'ID_VENDOR_FROM_DATABASE': 'Mellanox Technologies', 'ID_MODEL_FROM_DATABASE':
'MT28800 Family [ConnectX-5 Ex Virtual Function]', 'ID_NET_NAMING_SCHEME':
'v257', 'ID_NET_NAME_MAC': 'enx7c1e525d4e18', 'ID_OUI_FROM_DATABASE':
'Microsoft', 'ID_NET_NAME_PATH': 'enP64000p0s2', 'ID_NET_NAME_SLOT':
'enP64000s1', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00-pci-fa00:00:02.0', 'ID_PATH_TAG':
'acpi-MSFT1000_00-pci-fa00_00_02_0', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'enP64000s1',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/enP64000s1', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})
[2025-10-03 14:31:00,408] validate_interface eth0 OK:
NetworkInterface(name='eth0', driver='hv_netvsc', mac='7c:1e:52:5d:4e:18',
ipv4_addrs=['10.0.0.49'], udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/7c1e525d-4e18-7c1e-525d-4e187c1e525d/net/eth0',
'INTERFACE': 'eth0', 'IFINDEX': '2', 'SUBSYSTEM': 'net', 'USEC_INITIALIZED':
'3514337', 'ID_NET_DRIVER': 'hv_netvsc', 'NM_UNMANAGED': '1',
'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC': 'enx7c1e525d4e18',
'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00', 'ID_PATH_TAG': 'acpi-MSFT1000_00', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'eth0',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/eth0', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})
[2025-10-03 14:31:00,408] validate_networking OK:
NetworkInfo(interfaces={'enP64000s1': NetworkInterface(name='enP64000s1',
driver='mlx5_core', mac='7c:1e:52:5d:4e:18', ipv4_addrs=[],
udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/74be939c-fa00-4f1c-92d2-01b92989e8bc/pcifa00:00/fa00:00:02.0/net/enP64000s1',
'INTERFACE': 'enP64000s1', 'IFINDEX': '3', 'SUBSYSTEM': 'net',
'USEC_INITIALIZED': '9137589', 'AZURE_UNMANAGED_SRIOV': '1',
'ID_NET_MANAGED_BY': 'unmanaged', 'NM_UNMANAGED': '1', 'ID_NET_DRIVER':
'mlx5_core', 'ID_BUS': 'pci', 'ID_VENDOR_ID': '0x15b3', 'ID_MODEL_ID':
'0x101a', 'ID_PCI_CLASS_FROM_DATABASE': 'Network controller',
'ID_PCI_SUBCLASS_FROM_DATABASE': 'Ethernet controller',
'ID_VENDOR_FROM_DATABASE': 'Mellanox Technologies', 'ID_MODEL_FROM_DATABASE':
'MT28800 Family [ConnectX-5 Ex Virtual Function]', 'ID_NET_NAMING_SCHEME':
'v257', 'ID_NET_NAME_MAC': 'enx7c1e525d4e18', 'ID_OUI_FROM_DATABASE':
'Microsoft', 'ID_NET_NAME_PATH': 'enP64000p0s2', 'ID_NET_NAME_SLOT':
'enP64000s1', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00-pci-fa00:00:02.0', 'ID_PATH_TAG':
'acpi-MSFT1000_00-pci-fa00_00_02_0', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'enP64000s1',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/enP64000s1', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'}), 'eth0': NetworkInterface(name='eth0',
driver='hv_netvsc', mac='7c:1e:52:5d:4e:18', ipv4_addrs=['10.0.0.49'],
udev_properties={'DEVPATH':
'/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/7c1e525d-4e18-7c1e-525d-4e187c1e525d/net/eth0',
'INTERFACE': 'eth0', 'IFINDEX': '2', 'SUBSYSTEM': 'net', 'USEC_INITIALIZED':
'3514337', 'ID_NET_DRIVER': 'hv_netvsc', 'NM_UNMANAGED': '1',
'ID_NET_NAMING_SCHEME': 'v257', 'ID_NET_NAME_MAC': 'enx7c1e525d4e18',
'ID_OUI_FROM_DATABASE': 'Microsoft', 'ID_MM_CANDIDATE': '1', 'ID_PATH':
'acpi-MSFT1000:00', 'ID_PATH_TAG': 'acpi-MSFT1000_00', 'ID_NET_LINK_FILE':
'/usr/lib/systemd/network/99-default.link', 'ID_NET_NAME': 'eth0',
'SYSTEMD_ALIAS': '/sys/subsystem/net/devices/eth0', 'TAGS': ':systemd:',
'CURRENT_TAGS': ':systemd:'})})
[2025-10-03 14:31:00,408] validate_sku_config SKIPPED: no sku configuration
for VM size 'Standard_E2ads_v6'
[2025-10-03 14:31:00,408] success!
And, in dmesg:
[ 2477.205168] audit: type=1400 audit(1759494289.696:387): apparmor="STATUS"
operation="profile_replace" profile="unconfined" name="lsblk" pid=4270
comm="apparmor_parser"
[ 2512.115007] audit: type=1400 audit(1759494324.607:388): apparmor="ALLOWED"
operation="open" class="file" profile="lsblk"
name="/sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0004:00/MSFT1000:00/70b4ac38-05b7-4efe-8862-db2456dfec84/pci05b7:00/05b7:00:00.0/nvme/nvme0/nvme0n1/"
pid=4287 comm="lsblk" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
Actually, the tests are skipped as they need to be run inside an Azure
VM, but in the CPC Azure squad, we run them manually as part of this
package validation.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2126920/+subscriptions
--
Mailing list: https://launchpad.net/~touch-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help : https://help.launchpad.net/ListHelp