walinuxagentUpdates
Size: 1445
Comment:
|
Size: 4964
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= walinuxagentUpdates = | = walinuxagent Updates = |
Line 3: | Line 3: |
Package walinuxagent is an ubuntu distribution of upstream Microsoft Azure Linux Agent that manages Linux provisioning, and VM interaction with the Azure Fabric Controller. It provides the following functionality for Linux and FreeBSD IaaS deployments: | This document describes the process to update and test new versions of the walinuxagent package in SRUs. |
Line 5: | Line 5: |
'''Image Provisioning''' | The walinuxagent package is an Ubuntu distribution of the upstream Microsoft Azure Linux Agent that manages Linux provisioning, and VM interaction with the Azure Fabric Controller. For a detailed list of functionality this package provides to Ubuntu cloud images, refer to the upstream project page at Git``Hub: https://github.com/Azure/WALinuxAgent |
Line 7: | Line 7: |
* Creation of a user account * Configuring SSH authentication types * Deployment of SSH public keys and key pairs * Setting the host name * Publishing the host name to the platform DNS * Reporting SSH host key fingerprint to the platform * Resource Disk Management * Formatting and mounting the resource disk * Configuring swap space |
Cloud platforms evolve at a rate that can't be handled in six-month increments, and they will often develop features that they would like to be available to customers who don't want to upgrade from earlier Ubuntu releases. As such, updating walinuxagent to more recent upstream releases is required within all Ubuntu releases, so they continue to function properly in their environment. |
Line 17: | Line 9: |
'''Networking''' | New versions of walinuxagent can be SRUed into older releases provided the following process is followed. |
Line 19: | Line 11: |
* Manages routes to improve compatibility with platform DHCP servers * Ensures the stability of the network interface name |
|
Line 22: | Line 12: |
'''Kernel''' | == QA Process == |
Line 24: | Line 14: |
* Configure virtual NUMA (disable for kernel <2.6.37) * Consume Hyper-V entropy for /dev/random * Configure SCSI timeouts for the root device (which could be remote) |
When a new version of walinuxagent is to be uploaded to -proposed, the following will be done: |
Line 28: | Line 16: |
'''Diagnostics''' | * the CPC 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 Microsoft Azure Linux Agent team will be asked to validate * that the new package addresses the issues it is expected to address, and * that the new package passes their internal image validation, with emphasis on walinuxagent extension support. |
Line 30: | Line 22: |
* Console redirection to the serial port | In addition, the CPC team does the following testing * 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. |
Line 32: | Line 28: |
'''SCVMM Deployments''' | '''''If appropriate due to the nature of the changes (embargo on publication), the steps above may be done in a private PPA prior to landing in devel-proposed.''''' |
Line 34: | Line 30: |
* Detect and bootstrap the VMM agent for Linux when running in a System Center Virtual Machine Manager 2012R2 environment | The following additional steps also apply for the SRUs to supported releases once the packages have been accepted into the development release (if applicable): * Once accepted in to -proposed, a test image is built from -proposed, which is subjected to the full CPC image tests; this tests for more regressions across multiple Azure instance sizes. This includes tests for the following bugs: * [[https://bugs.launchpad.net/ubuntu/+source/walinuxagent/+bug/1479610|Bug #1479610 regression on dhcp configuration]] * [[https://bugs.launchpad.net/ubuntu/+source/walinuxagent/+bug/1079897|Bug #1079897 mangled server identity and access on upgrade]] * [[https://bugs.launchpad.net/ubuntu/+source/walinuxagent/+bug/1305418|Bug #1305418 breaks sshd configuration]] |
Line 36: | Line 36: |
'''VM Extension''' | === Pre-SRU Test Cases === |
Line 38: | Line 38: |
* Inject component authored by Microsoft and Partners into Linux VM (IaaS) to enable software and configuration automation * VM Extension reference implementation on https://github.com/Azure/azure-linux-extensions |
These are the test cases that all walinuxagent are subjected to before even getting to SRU: {{{ 1.) Launch instance on Azure 2.) Upgrade walinuxagent (usually from PPA) 3.) Confirm that "waagent" is running, check /var/log/waagent.log for errors 4.) Reboot, repeat step 3 }}} === SRU Test Cases === These are automated tests: {{{ 1.) Build new cloud image with -proposed package 2.) Boot instance 3.) Confirm that instance provisioned 4.) Run standard tests and regression tests 5.) Repeat from step 2 for all other Azure VM Sizes. }}} == Releasing the SRU == Since the only consumer of the walinuxagent is the Azure cloud, the SRU may be released without meeting the aging period of 7 days provided all the above steps have been completed. == SRU Template == {{{ == Begin SRU Template == [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://wiki.ubuntu.com/walinuxagentUpdates The Microsoft Azure Linux Agent team will execute their testsuite, which includes extension testing , against the walinuxagent that is in -proposed. A successful run will be required before the proposed walinuxagent 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. == End SRU Template == <TODO: Paste in change log entry> }}} |
walinuxagent Updates
This document describes the process to update and test new versions of the walinuxagent package in SRUs.
The walinuxagent package is an Ubuntu distribution of the upstream Microsoft Azure Linux Agent that manages Linux provisioning, and VM interaction with the Azure Fabric Controller. For a detailed list of functionality this package provides to Ubuntu cloud images, refer to the upstream project page at GitHub: https://github.com/Azure/WALinuxAgent
Cloud platforms evolve at a rate that can't be handled in six-month increments, and they will often develop features that they would like to be available to customers who don't want to upgrade from earlier Ubuntu releases. As such, updating walinuxagent to more recent upstream releases is required within all Ubuntu releases, so they continue to function properly in their environment.
New versions of walinuxagent can be SRUed into older releases provided the following process is followed.
QA Process
When a new version of walinuxagent is to be uploaded to -proposed, the following will be done:
- the CPC 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 Microsoft Azure Linux Agent team will be asked to validate
- that the new package addresses the issues it is expected to address, and
- that the new package passes their internal image validation, with emphasis on walinuxagent extension support.
In addition, the CPC team does the following testing
- 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.
If appropriate due to the nature of the changes (embargo on publication), the steps above may be done in a private PPA prior to landing in devel-proposed.
The following additional steps also apply for the SRUs to supported releases once the packages have been accepted into the development release (if applicable):
- Once accepted in to -proposed, a test image is built from -proposed, which is subjected to the full CPC image tests; this tests for more regressions across multiple Azure instance sizes. This includes tests for the following bugs:
Pre-SRU Test Cases
These are the test cases that all walinuxagent are subjected to before even getting to SRU:
1.) Launch instance on Azure 2.) Upgrade walinuxagent (usually from PPA) 3.) Confirm that "waagent" is running, check /var/log/waagent.log for errors 4.) Reboot, repeat step 3
SRU Test Cases
These are automated tests:
1.) Build new cloud image with -proposed package 2.) Boot instance 3.) Confirm that instance provisioned 4.) Run standard tests and regression tests 5.) Repeat from step 2 for all other Azure VM Sizes.
Releasing the SRU
Since the only consumer of the walinuxagent is the Azure cloud, the SRU may be released without meeting the aging period of 7 days provided all the above steps have been completed.
SRU Template
== Begin SRU Template == [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://wiki.ubuntu.com/walinuxagentUpdates The Microsoft Azure Linux Agent team will execute their testsuite, which includes extension testing , against the walinuxagent that is in -proposed. A successful run will be required before the proposed walinuxagent 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. == End SRU Template == <TODO: Paste in change log entry>
walinuxagentUpdates (last edited 2019-06-05 22:02:31 by vorlon)