** Description changed:

- ======WIP============
- 
-   [Impact]
+ [ Impact ]
+ 
    This release contains both bug-fixes and new
    features and we would like to make sure all of our supported customers have
-   access to these improvements. The notable ones are:
- 
-   *** <TODO: list any LP: # included>
- 
-   See the changelog entry below for a full list of changes and bugs.
- 
-   [Test Case]
-   The following development and SRU process was followed:
-   
https://documentation.ubuntu.com/sru/en/latest/reference/exception-azure-vm-utils-Updates
- 
-   The Microsoft team will execute their testsuite, against the azure-vm-utils
-   that is in -proposed. A successful run will be required before the proposed
-   azure-vm-utils can be let into -updates.
- 
-   The CPC team will be in charge of attaching a summary of testing to the bug.
-   CPC team members will not mark ‘verification-done’ until this has happened.
+   access to these improvements. 
+   
+   Full release notes are available at:
+     https://github.com/Azure/azure-vm-utils/releases/tag/v0.6.0
+   
+ 
+ [ Test Plan ]
+ 
+   A) Ensure the selftests run at autopkgtest time, and pass.
+   B) Check installation/upgrade/removal in Azure VM machine
+   C) Manual testing in Azure VM machines (hardware dependent) composed of
+       1. For any MANA, mlx4, or mlx5 SR-IOV devices with the IFF_SLAVE flag 
+            set:
+               (a) The appropriate udev properties should be configured; and
+               (b) systemd-networkd should report these devices as unmanaged
+ 
+       2. Any network devices not matching the above criteria are left 
+            unaffected.
+       3. Manually check that the command `DEVNAME=<nvme device name> azure-
+            nvme-id --udev gives correct output for some device. Only Direct 
+            Disk v2 is fully supported for now.
+       4. Check that expected /dev/disk/azure symlinks are created for the 
+            device.
+       5. Use unmkintramfs to ensure that the udev rules are copied to the 
+            initrd correctly.
+ 
+   Detailed commands can be found below. A) y B) are not detailed - it is 
+   understood that the reviewer or tester knows how to do it.
+   
+   Results of this test plan should be attached to the bug in comments per 
+   target series of the SRU for the SRU Team (Andreas Hasenack) to review.
+   
+   Requeriments: 
+  
+       Some azure VM are required to test this package, as it contains 
+         specific configurations for Ubuntu on Azure. An Azure account and 
+         access to the Azure portal is needed.
+  
+       azure-cli package is needed for command line VM creation ( 
https://packages.microsoft.com/repos/azure-cli/ ).
+  
+   Preparing the manual testing:
+  
+       ## 0.0 ## AZURE VM CREATION: selection of VM's family size depending on 
what disk and net driver we need to check:
+ 
+         For Microsoft NVMe Direct Disk v2, MSFT NVMe Accelerator v1.0
+ and networking on mellanox v5 -> az vm create --resource-group miriam-
+ azure-vm-utils --name nmve_direct --image
+ "Canonical:ubuntu-25_10-daily:server:latest" --ssh-key-values
+ ~/.ssh/id_rsa.pub --size Standard_E2ads_v6 --admin-username ubuntu
+ 
+         For Microsoft NVMe Direct Disk -> az vm create --resource-group
+ miriam-azure-vm-utils --name nmve_direct_noversion --image
+ "Canonical:ubuntu-25_10-daily:server:latest" --ssh-key-values
+ ~/.ssh/id_rsa.pub --size Standard_D2alds_v6 --admin-username ubuntu
+ 
+       For Net mana driver -> az vm create --resource-group 
miriam-azure-vm-utils --name nmvemana --image 
"Canonical:ubuntu-25_10-daily:server:latest" --ssh-key-values ~/.ssh/id_rsa.pub 
--size Standard_D2ls_v6 --admin-username ubuntu
+  
+       Note: Earlier v2/v3/v4 sizes with AN enabled is most likely to result 
in mlx4, but there's no guarantee. Therefore, we may never have the opportunity 
to test mlx4 for sure.
+  
+        ## 0.1 ## CHECK DEVICES IN ORIGINAL STATE
+ 
+        # DISKS
+        
+        $ nvme list | grep -e "Microsoft NVMe Direct Disk v2" -e "MSFT NVMe 
Accelerator v1.0" -e "Microsoft NVMe Direct Disk"
+        
+        # NETWORK
+        
+        To record differences before and after installing the package plus 
+        rebooting, the following command  
+  
+        $ networkctl status -a -l | grep -v Jul | tee net_{before,after}.txt
+ 
+        was used. Please, change the month in the second part of the command 
to 
+        fit the actual month the manual testing is being done. Note that 
actual  
+        differences are occasioned by the rebooting of systemd-networkd , not 
by 
+        the deployment of the azure-vm-utils package. However, we include the  
 
+        step for a sanity check.
+        
+        To check driver presence (mana, mlx4, mlx5)
+        
+        $ networkctl status $(ip a | grep SLAVE | cut -d':' -f2 | xargs) | 
grep -i driver | grep -e mana -e mlx
+ 
+ 
+        To check udev rules (at this stage, only showing the driver):
+       
+        $ udevadm info /sys/class/net/$(ip a | grep SLAVE | cut -d':' -f2 | 
xargs) | grep -e AZURE_UNMANAGED_SRIOV -e ID_NET_MANAGED_BY -e ID_NET_DRIVER
+ 
+        ## 0.2 ## INSTALLING PACKAGE 
+        
+        $ sudo apt install azure-vm-utils
+        
+        checking all went well:
+        
+        $ dpkg -l azure-vm-utils | grep ii
+        
+        ## 0. 3 ## ENABLING SYSTEMD-NETWORKD IN DEBUG MODE
+        
+        $ sudo mkdir -p /etc/systemd/system/systemd-networkd.service.d/
+ 
+        $ sudo cat > 
/etc/systemd/system/systemd-networkd.service.d/10-debug.conf <<EOF
+ [Service]
+ Environment=SYSTEMD_LOG_LEVEL=debug
+ EOF
+ 
+        ## 0. 4 ## REBOOTING
+        
+        $ sudo shutdown -r now
+ 
+   Performing manual testing C):
+   
+       ## 1.a ## UDEV CONFIGURED 
+       
+       $ udevadm info /sys/class/net/$(ip a | grep SLAVE | cut -d':' -f2 | 
xargs) | grep -e AZURE_UNMANAGED_SRIOV -e ID_NET_MANAGED_BY -e ID_NET_DRIVER
+       
+       ## 1.b ## NETWORKD-SYSTEMD PROCESS THE FILE FOR SRI-OV DEVICES AND 
RETURNS THEM UNMANAGED 
+       
+       $ sudo journalctl -b -u systemd-networkd | grep azure
+       
+       $ sudo journalctl -b -u systemd-networkd | grep $(ip a | grep SLAVE | 
cut -d':' -f2 | xargs) | grep -e SLAVE -e unmanaged
+       
+       
+       ## 2 ## NO OTHER NETWORKING ITEMS AFFECTED
+       
+       $ networkctl status -a -l | grep -v Jul | tee net_after.txt
+       
+       $ diff net_before.txt net_after.txt
+       
+       The output should be something similar to:
+       
+         17c17
+       <                    Link File: /usr/lib/systemd/network/99-default.link
+       ---
+       >                    Link File: 
/run/systemd/network/10-netplan-eth0.link
+       24d23
+       <            Alternative Names: enx002248814532
+       52a52
+       >                               enx002248814532
+       
+       ## 3 ## azure-nvme UTIL WORKS FOR NMVE DISK V2
+ 
+       $ sudo DEVNAME=$(nvme list | grep v2 | cut -d' ' -f1) azure-nvme-id 
--udev
+       
+       ## 4 ## SYMLINKS ARE CREATED FOR THE NVME DEVICES
+       
+       $ udevadm info $(nvme list | grep v2 | cut -d' ' -f1) | grep -i -e 
model -e azure
+       
+       ## 5 ## UDEV RULES ARE COPIED TO INITRD
+       
+       $ unmkinitramfs /boot/initrd.img-$(uname -r) initramfs/
+       
+       $ ls initramfs/lib/udev/rules.d/*0*azure* | wc  -l  # it should return 
only 2
+       
+       
+       
+ [ Where problems could occur ]
+ 
+  Although azure-vm-utils is a package to be used intentionally for Ubuntu on  
+  Azure, this package could be installed on all Ubuntu systems by users, which 
+  should remain unaffected by any changes made to this package.
+ 
+  Sometimes this extends beyond what we might consider supportable 
+  configurations; we try to stretch ourselves so that no user who apparently
+  has an otherwise functional system is affected by this package or changes
+  to it.
+ 
+  This mainly includes regressions caused by the introduction of new udev 
rules 
+  that conflict with the existing mapping, specially netplan configurations 
+  generated by cloud-init.
+ 
+  The test plan above is intended to foresee this situation and prevent any  
+  risk. In addition, due to hardware constraints and awareness of the above, 
+  upstream performs a test with a custom netplan configuration that enables 
DHCP 
+  on all Ethernet devices and validates that the interface is unmanaged.   
+  
+  
+ [ Other Info ]
+ 
+  The QA process consists of three stages:  pre-SRU tests (the [Test Plan] 
+  section), SRU tests and SRU Verification.
+  
+  Output reports per target series of the [Test Plan] should be attached
+  to this bug before them can be reviewed by the SRU team.
+  
+  
+  SRU Test Cases
+  ..............
+ 
+  The following will be executed for representative combinations of supported
+  architectures, image types and machine sizes:
+  
+     1.) Build new cloud image with -proposed package
+     2.) Boot machine from image
+     3.) Run all CPC image tests against machine
+ 
+  SRU Verification
+  ................
+ 
+  When a new version of azure-vm-utils is uploaded to -proposed, there will be 
+  validate actions performed by the CPC azure squad and others from Microsoft 
+  maintainers. Therefore, the following will be done:
+ 
+  - By The CPC Azure squad team
+ 
+    -  the CPC azure squad team will write new automated tests to cover new 
+       testable functionality (if any) in the new package
+    -  the automated testing that the CPC team normally runs against Azure 
+       images before they are published will be run against the -proposed 
+       package.
+    -  The new package candidate version is built in devel-proposed and tested
+       on the target suite. This will involve one or both of:
+       -  Installing the devel-proposed packages on an Azure VM, manually 
+          restoring the VM to a first boot state and rebooting it,
+       -  Generating a fresh image with the devel-proposed package version
+          preinstalled and testing that directly
+    -  Once the manual packaging tests pass successfully and the package 
+       requires no further changes, it will be marked as such on the tracking 
+       bug. On the development release, this is done by removing the 
+       *block-proposed* tag.
+ 
+  - By the Microsoft team maintaining the Azure VM Utils project(upstream
+ QA)
+ 
+     -  that the new package addresses the issues it is expected to address, 
and
+     -  that the new package passes their internal image validation
+ 
+  **If appropriate due to the nature of the changes (functional embargo on 
publication), the steps above may be done in a private PPA prior to landing in 
devel-proposed.**
+  
+ The CPC team will be responsible for attaching a summary of testing to the 
bug.
+ CPC team members will not mark ‘verification-done’ until this has happened.

** Changed in: azure-vm-utils (Ubuntu Noble)
     Assignee: (unassigned) => Miriam España Acebal (mirespace)

** Changed in: azure-vm-utils (Ubuntu Jammy)
     Assignee: (unassigned) => Miriam España Acebal (mirespace)

** Changed in: azure-vm-utils (Ubuntu)
       Status: New => In Progress

** Changed in: azure-vm-utils (Ubuntu Jammy)
       Status: New => In Progress

** Changed in: azure-vm-utils (Ubuntu Noble)
       Status: New => In Progress

** Changed in: azure-vm-utils (Ubuntu Plucky)
       Status: New => In Progress

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2116077

Title:
  [SRU] azure-vm-utils updates

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/azure-vm-utils/+bug/2116077/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to