Skip to content

AzureMonitorAgent: add Ubuntu 26.04 regression and Python 3.14 coverage #2200

Description

@karmafeast

Summary

Azure Monitor Agent (AMA) 1.42.0 rejects Ubuntu 26.04 during extension installation with exit code 51:

Unsupported operating system: ubuntu 26.04

The extension successfully identifies the distribution and version, but Ubuntu 26.04 is absent from the explicit supported-distribution maps used by the installer.

This issue complements #2173, which tracks the observed installation failure, by defining the public source and regression coverage needed for a durable fix.

Public references

  • #2173 reports the Ubuntu 26.04 installation failure.
  • #2199, by @kamilon, identifies the two required allowlist additions and provides public x86_64 and aarch64 end-to-end validation. The proposed implementation credits and builds on that work.

Affected code

AzureMonitorAgent/ama_tst/modules/install/supported_distros.py currently lists Ubuntu versions only through 24.04 in both:

  • supported_dists_x86_64
  • supported_dists_aarch64

The production installer consumes those maps in agent.py::is_vm_supported_for_extension. The troubleshooting installer uses the same maps through ama_tst/modules/install/check_os.py::check_vm_supported.

Test coverage gap

The existing test corpus spot-checks selected distro/version combinations rather than every supported variant. For Ubuntu it currently verifies 20.04 and 22.04 on x86_64 and 22.04 on aarch64. It does not explicitly protect:

  • Ubuntu 26.04 membership in either architecture map.
  • Ubuntu 26.04 admission through the production installer gate.
  • Ubuntu 26.04 admission through the troubleshooting gate.
  • Ubuntu 26.04 /etc/os-release parsing and preservation of the major.minor version.
  • Import/runtime compatibility with Python 3.14, the system Python provided by Ubuntu 26.04.

The workflow currently runs Python 3.9 through 3.12, omitting Python 3.13 and 3.14.

Proposed change

  1. Add 26.04 to the Ubuntu x86_64 and aarch64 support maps.
  2. Add explicit production-gate tests for x86_64 and aarch64.
  3. Add explicit troubleshooting-gate and support-map tests for both architectures.
  4. Add Ubuntu 26.04 distro-detection tests.
  5. Extend the AMA GitHub Actions matrix through Python 3.14.
  6. Ensure unsupported-version formatting does not mutate the shared support map.

Acceptance criteria

  • Ubuntu 26.04 is accepted by the production gate on x86_64 and aarch64.
  • Ubuntu 26.04 is accepted by the troubleshooting gate on x86_64 and aarch64.
  • Ubuntu 26.04 remains present after unsupported-version reporting.
  • The complete AMA unit suite passes on Python 3.9 through 3.14 where configured.
  • Public CI passes on all configured Python versions.

Non-goals

This issue does not define a release schedule or claim that merging source changes alone publishes a new extension version. It is limited to the public source change and repository-level regression coverage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions