[Event Hubs] Fix #32073: az eventhubs eventhub list: Prevent namespace name validation regression - #33636
[Event Hubs] Fix #32073: az eventhubs eventhub list: Prevent namespace name validation regression#33636Aditya Pujara (a0x1ab) with Copilot wants to merge 14 commits into
az eventhubs eventhub list: Prevent namespace name validation regression#33636Conversation
️✔️AzureCLI-FullTest
|
|
Hi Copilot, |
️✔️AzureCLI-BreakingChangeTest
|
az eventhubs eventhub list: Prevent namespace name validation regression
Live test results —
|
Azure CLI Bot (azclibot)
left a comment
There was a problem hiding this comment.
CI Failure — Action Required
One CI check has failed for this PR:
| Check | Result | Details |
|---|---|---|
| Credential Scanner | ❌ Failed | View run |
Credential Scanner scans the code for accidentally committed secrets, tokens, or credentials. Please review the failed run to see which file(s) triggered the scan, and either remove or redact any detected sensitive strings.
Note: 3 other checks (
Check CLI Linter,Check CLI Style, and a package build) have been pending for over 3 hours and appear stuck. These can be ignored for now — only the Credential Scanner failure blocks this PR. Once you address that, re-push and CI will re-run.
Posted by agent-assist (autonomous bug-fix pipeline).
|
Copilot the automated CI and live-test review on this PR found failures. Please look into the requested changes here: #33636 (review) and push a fix. Posted by agent-assist (autonomous bug-fix pipeline). |
Addressed in I investigated the Credential Scanner failure and it was flagging base64-looking Basic auth placeholders in |
Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
Live test results —
|
There was a problem hiding this comment.
Upstream CI
Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 8 AMD64)
- Result: failure
- Included checks:
Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 9 AMD64),Azure.azure-cli (Test Deb Packages Bullseye ARM64),Azure.azure-cli (Test Deb Packages Noble ARM64),Azure.azure-cli (Test Deb Packages Jammy ARM64),Azure.azure-cli (Test Deb Packages Bookworm ARM64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 10 ARM64),Azure.azure-cli (Test Rpm Package Azure Linux 3.0 AMD64),Azure.azure-cli (Test Homebrew Formula),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 9 ARM64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 8 ARM64),Azure.azure-cli (Test Rpm Package Azure Linux 3.0 ARM64),Azure.azure-cli (Codegen Coverage) - Failure details:
- Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Package (Uncertain)
- Evidence: sys 0m0.058s
cd /azure-cli/
- Evidence: sys 0m0.058s
- Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Package (Uncertain)
- cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources); build.sh relies on setup.py.
python -m pip install --upgrade pip "setuptools<81"
- python -m pip install --upgrade pip 'setuptools<81'
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Homebrew Formula / Bash Script (Uncertain)
- Evidence: #
no_autobump!is carried over from the upstream homebrew-core formula but is only
- Evidence: #
allowed in official Homebrew taps. Remove it so the formula can be installed from
this local dev tap. It must remain in the released formula, so we only strip it here.
sed -i '' '/no_autobump!/d' $(brew --repository)/Library/Taps/dev/homebrew-azure-cli/Formula/azure-cli.rb
brew --repository
brew install --build-from-source dev/homebrew-azure-cli/azure-cli
Error: Refusing to load formula dev/azure-cli/azure-cli from untrusted tap dev/azure-cli.
Run brew trust --formula dev/azure-cli/azure-cli or brew trust dev/azure-cli to trust it.
Bash exited with code '1'.
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Homebrew Formula / Bash Script and confirm the quoted diagnostic is gone.
- Test Rpm Package Azure Linux 3.0 ARM64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.31s ===============================
Bash exited with code '2'.
##[section]Finishing: Test Rpm Package Azure Linux - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Azure Linux 3.0 ARM64 / Test Rpm Package Azure Linuxand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Deb Packages Bullseye ARM64 / Test debian bullseye arm64 Package (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/opt/az/lib/python3.14/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.00s ===============================
Bash exited with code '2'.
##[section]Finishing: Test debian bullseye arm64 Package - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Deb Packages Bullseye ARM64 / Test debian bullseye arm64 Packageand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Rpm Package Azure Linux 3.0 AMD64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 10.63s ===============================
Bash exited with code '2'.
##[section]Finishing: Test Rpm Package Azure Linux - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Azure Linux 3.0 AMD64 / Test Rpm Package Azure Linuxand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Rpm Package Red Hat Universal Base Image 9 AMD64 / Test Rpm Package (Uncertain)
- Evidence: sys 0m0.078s
cd /azure-cli/
- Evidence: sys 0m0.078s
- cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources); build.sh relies on setup.py.
python -m pip install --upgrade pip "setuptools<81"
- python -m pip install --upgrade pip 'setuptools<81'
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 9 AMD64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Codegen Coverage / Bash (Uncertain)
- Evidence: [notice] A new release of pip is available: 25.2 -> 26.2.1
[notice] To update, run: pip install --upgrade pip
error: subprocess-exited-with-error
× Getting requirements to build editable did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Bash exited with code '1'.
##[section]Finishing: Bash - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Codegen Coverage / Bashand confirm the quoted diagnostic is gone.
- Evidence: [notice] A new release of pip is available: 25.2 -> 26.2.1
- Test Rpm Package Red Hat Universal Base Image 8 AMD64 / Test Rpm Package (Uncertain)
- Evidence: sys 0m0.074s
cd /azure-cli/
- Evidence: sys 0m0.074s
- cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources); build.sh relies on setup.py.
python -m pip install --upgrade pip "setuptools<81"
- python -m pip install --upgrade pip 'setuptools<81'
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 8 AMD64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Deb Packages Jammy ARM64 / Test ubuntu jammy arm64 Package (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/opt/az/lib/python3.14/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 12.01s ===============================
Bash exited with code '2'.
##[section]Finishing: Test ubuntu jammy arm64 Package - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Deb Packages Jammy ARM64 / Test ubuntu jammy arm64 Packageand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Rpm Package Red Hat Universal Base Image 9 ARM64 / Test Rpm Package (Uncertain)
- Evidence: sys 0m0.067s
cd /azure-cli/
- Evidence: sys 0m0.067s
- cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources); build.sh relies on setup.py.
python -m pip install --upgrade pip "setuptools<81"
- python -m pip install --upgrade pip 'setuptools<81'
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 9 ARM64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Deb Packages Bookworm ARM64 / Test debian bookworm arm64 Package (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/opt/az/lib/python3.14/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.73s ===============================
Bash exited with code '2'.
##[section]Finishing: Test debian bookworm arm64 Package - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Deb Packages Bookworm ARM64 / Test debian bookworm arm64 Packageand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Rpm Package Red Hat Universal Base Image 10 ARM64 / Test Rpm Package (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/usr/lib64/az/lib/python3.12/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 10.40s ===============================
Bash exited with code '2'.
##[section]Finishing: Test Rpm Package - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 10 ARM64 / Test Rpm Packageand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
- Test Deb Packages Noble ARM64 / Test ubuntu noble arm64 Package (Uncertain)
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/opt/az/lib/python3.14/site-packages/azure/cli/command_modules/appservice/custom.py)
---------- generated xml file: /azure_cli_test_result/appservice.xml -----------
=========================== short test summary info ============================
ERROR tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.81s ===============================
Bash exited with code '2'.
##[section]Finishing: Test ubuntu noble arm64 Package - Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Deb Packages Noble ARM64 / Test ubuntu noble arm64 Packageand confirm the quoted diagnostic is gone.
- Evidence: from azure.cli.command_modules.appservice.custom import (set_deployment_user,
Azure.azure-cli Full Test (Automation Full Test Python314 Profile Latest instance3)
- Result: failure
- Included checks:
Azure.azure-cli Full Test (Automation Full Test Python312 Profile Latest instance3) - Failure details:
- Automation Full Test Python314 Profile Latest instance3 / azdev test (Uncertain)
- Evidence: E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/mnt/vss/_work/1/s/src/azure-cli/azure/cli/command_modules/appservice/custom.py)
- Automation Full Test Python314 Profile Latest instance3 / azdev test (Uncertain)
- generated xml file: /home/cloudtest/.azdev/env_config/mnt/vss/_work/1/s/env/test_results_3.14_latest_3.serial.xml -
=========================== short test summary info ============================
ERROR src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.55s ===============================
Traceback (most recent call last):
File "/mnt/vss/_work/1/s/scripts/ci/automation_full_test.py", line 662, in
main()- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Automation Full Test Python314 Profile Latest instance3 / azdev testand confirm the quoted diagnostic is gone. - Automation Full Test Python312 Profile Latest instance3 / azdev test (Uncertain)
- Evidence: E ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom' (/mnt/vss/_work/1/s/src/azure-cli/azure/cli/command_modules/appservice/custom.py)
- generated xml file: /home/cloudtest/.azdev/env_config/mnt/vss/_work/1/s/env/test_results_3.12_latest_3.serial.xml -
=========================== short test summary info ============================
ERROR src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py
!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!
============================== 1 error in 11.44s ===============================
Traceback (most recent call last):
File "/mnt/vss/_work/1/s/scripts/ci/automation_full_test.py", line 662, in
main()- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Automation Full Test Python312 Profile Latest instance3 / azdev testand confirm the quoted diagnostic is gone.
Root-cause note: The vast majority of the failing checks (RPM/Deb package tests, both Full Test profile runs) all quote the same collection-time error introduced by this PR's own test file:
ImportError: cannot import name 'troubleshoot_status' from 'azure.cli.command_modules.appservice.custom'
raised while collecting src/azure-cli/azure/cli/command_modules/appservice/tests/latest/test_webapp_commands_thru_mock.py. This is PR-related: the test file was modified to import troubleshoot_status from custom.py, but that symbol does not exist in custom.py (it may have been renamed, removed, or only added to a different module). Fix the import so it resolves the actual location of troubleshoot_status (or add/export the symbol from custom.py if it is meant to live there), then rerun the failing checks.
A smaller subset of the RPM/Homebrew failures (the setuptools<81 pip-install traceback and the Homebrew untrusted-tap error) look like separate environment/tooling issues unrelated to this PR's diff; re-run those specifically once the import fix lands to confirm whether they persist independently.
Test validation
- Live test: Failed with conclusion
failure. Workflow run - Regression coverage: Not applicable to the changed files.
Risk assessment
0/100 · Low · Low confidence
No additional owning-squad review signal was detected. Main signals: small, isolated diff.
|
Started a Copilot task using |
…anges Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
Live test results —
|
There was a problem hiding this comment.
Upstream CI
Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 10 AMD64)
- Result: failure
- Included checks:
Azure.azure-cli (Test Rpm Package Azure Linux 4.0 (Beta) AMD64),Azure.azure-cli (Test Rpm Package Azure Linux 3.0 AMD64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 8 AMD64),Azure.azure-cli (Test Deb Packages Jammy ARM64),Azure.azure-cli (Test Deb Packages Bookworm ARM64),Azure.azure-cli (Test Deb Packages Noble ARM64),Azure.azure-cli (Test Deb Packages Bullseye AMD64),Azure.azure-cli (Test Deb Packages Bullseye ARM64),Azure.azure-cli (Test Deb Packages Resolute ARM64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 10 ARM64),Azure.azure-cli (Test Rpm Package Azure Linux 3.0 ARM64),Azure.azure-cli (Test Rpm Package Azure Linux 4.0 (Beta) ARM64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 9 AMD64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 9 ARM64),Azure.azure-cli (Test Rpm Package Red Hat Universal Base Image 8 ARM64) - Failure details:
- Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Package (Uncertain)
- Evidence: + cd /azure-cli/
- Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Package (Uncertain)
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources).
scripts/ci/build.sh builds with python -m build --no-isolation, so this pin is the setuptools the build uses.
build is the PEP 517 frontend that script invokes.
python -m pip install --upgrade pip "setuptools<81" build
- python -m pip install --upgrade pip 'setuptools<81' build
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 8 ARM64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Rpm Package Azure Linux 3.0 ARM64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Azure Linux 3.0 ARM64 / Test Rpm Package Azure Linux and confirm the quoted diagnostic is gone.
- Test Deb Packages Bookworm ARM64 / Test debian bookworm arm64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Bookworm ARM64 / Test debian bookworm arm64 Package and confirm the quoted diagnostic is gone.
- Test Deb Packages Bullseye AMD64 / Test debian bullseye amd64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Bullseye AMD64 / Test debian bullseye amd64 Package and confirm the quoted diagnostic is gone.
- Test Deb Packages Jammy ARM64 / Test ubuntu jammy arm64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Jammy ARM64 / Test ubuntu jammy arm64 Package and confirm the quoted diagnostic is gone.
- Test Deb Packages Bullseye ARM64 / Test debian bullseye arm64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Bullseye ARM64 / Test debian bullseye arm64 Package and confirm the quoted diagnostic is gone.
- Test Rpm Package Azure Linux 3.0 AMD64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Azure Linux 3.0 AMD64 / Test Rpm Package Azure Linux and confirm the quoted diagnostic is gone.
- Test Rpm Package Red Hat Universal Base Image 9 AMD64 / Test Rpm Package (Uncertain)
- Evidence: + cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources).
scripts/ci/build.sh builds with python -m build --no-isolation, so this pin is the setuptools the build uses.
build is the PEP 517 frontend that script invokes.
python -m pip install --upgrade pip "setuptools<81" build
- python -m pip install --upgrade pip 'setuptools<81' build
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 9 AMD64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Rpm Package Red Hat Universal Base Image 8 AMD64 / Test Rpm Package (Uncertain)
- Evidence: + cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources).
scripts/ci/build.sh builds with python -m build --no-isolation, so this pin is the setuptools the build uses.
build is the PEP 517 frontend that script invokes.
python -m pip install --upgrade pip "setuptools<81" build
- python -m pip install --upgrade pip 'setuptools<81' build
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 8 AMD64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Rpm Package Azure Linux 4.0 (Beta) AMD64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Azure Linux 4.0 (Beta) AMD64 / Test Rpm Package Azure Linux and confirm the quoted diagnostic is gone.
- Test Rpm Package Red Hat Universal Base Image 9 ARM64 / Test Rpm Package (Uncertain)
- Evidence: + cd /azure-cli/
Cap setuptools<81: 81 removes setup.py --dry-run and changes distutils command signatures (82 removes pkg_resources).
scripts/ci/build.sh builds with python -m build --no-isolation, so this pin is the setuptools the build uses.
build is the PEP 517 frontend that script invokes.
python -m pip install --upgrade pip "setuptools<81" build
- python -m pip install --upgrade pip 'setuptools<81' build
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run
Test Rpm Package Red Hat Universal Base Image 9 ARM64 / Test Rpm Packageand confirm the quoted diagnostic is gone. - Test Deb Packages Noble ARM64 / Test ubuntu noble arm64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Noble ARM64 / Test ubuntu noble arm64 Package and confirm the quoted diagnostic is gone.
- Test Rpm Package Red Hat Universal Base Image 10 ARM64 / Test Rpm Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Red Hat Universal Base Image 10 ARM64 / Test Rpm Package and confirm the quoted diagnostic is gone.
- Test Deb Packages Resolute ARM64 / Test ubuntu resolute arm64 Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Deb Packages Resolute ARM64 / Test ubuntu resolute arm64 Package and confirm the quoted diagnostic is gone.
- Test Rpm Package Azure Linux 4.0 (Beta) ARM64 / Test Rpm Package Azure Linux (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Azure Linux 4.0 (Beta) ARM64 / Test Rpm Package Azure Linux and confirm the quoted diagnostic is gone.
- Test Rpm Package Red Hat Universal Base Image 10 AMD64 / Test Rpm Package (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Test Rpm Package Red Hat Universal Base Image 10 AMD64 / Test Rpm Package and confirm the quoted diagnostic is gone.
Azure.azure-cli Full Test
- Result: failure
- Included checks:
Azure.azure-cli Full Test (Automation Full Test Python314 Profile Latest instance6),Azure.azure-cli Full Test (Automation Full Test Python312 Profile Latest instance6) - Failure details:
- Automation Full Test Python314 Profile Latest instance6 / azdev test (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
- Automation Full Test Python314 Profile Latest instance6 / azdev test (Uncertain)
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Automation Full Test Python314 Profile Latest instance6 / azdev test and confirm the quoted diagnostic is gone.
- Automation Full Test Python312 Profile Latest instance6 / azdev test (Uncertain)
- Evidence: valid_min_length_namespace = 'ns0001'
valid_short_namespace = 'ns00001'
invalid_under_min_length_namespace = 'ns001'
valid_max_length_namespace = 'n' + ('0' * 48) + '1'
invalid_over_max_length_namespace = 'n' + ('0' * 49) + '1'
- Evidence: valid_min_length_namespace = 'ns0001'
self.assertEqual(namespace_name_format._pattern, "^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$")
E AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
E - ^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$
E ? ^ ^^
- Next action: Address the first actionable diagnostic quoted from the task log; do not infer a source-code cause from the aggregate build status.
- Verify: Re-run Automation Full Test Python312 Profile Latest instance6 / azdev test and confirm the quoted diagnostic is gone.
Test validation
- Live test: Failed with conclusion
failure. - Regression coverage: Not applicable to the changed files.
Review-skill findings
No automated review-skill findings triggered (finding_count=0). Manual scope/test-strength checks in test_eventhub_command_validation.py should still be revisited once the assertion below is fixed.
Root cause
The live test and Azure.azure-cli Full Test (Python 3.12 and 3.14) both fail with the same assertion error in the PR's own test file:
AssertionError: '^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$' != '^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$'
test_eventhub_command_validation.py still asserts the OLD namespace-name regex pattern ({4,48}), but the PR's fix changed the validation pattern to {6,50}. This is a direct, PR-related test/implementation mismatch, not an infrastructure issue.
Next action: Update the assertion in
src/azure-cli/azure/cli/command_modules/eventhubs/tests/latest/test_eventhub_command_validation.py
to expect the new pattern (^[a-zA-Z][a-zA-Z0-9-]{6,50}[a-zA-Z0-9]$), or correct the implementation pattern if {6,50} is not actually the intended bound. Then re-run the failed Automation Full Test jobs and the live test to confirm.
The RPM/Deb packaging job failures (setuptools/build pin) appear to be shared environment issues unrelated to this change and are not actionable from this PR.
|
Started a Copilot task using |
… to match 6-50 char constraint Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
Live test results —
|
Live test results —
|
There was a problem hiding this comment.
Upstream CI
Azure.azure-cli
- Result: failure
- Failure details:
- Unit Test for Telemetry Python312 (Not PR-related)
- Evidence: The job running on agent pool-ubuntu-2204 43 ran longer than the maximum time of 10 minutes. For more information, see https://go.microsoft.com/fwlink/?linkid=2077134
- Next action: Re-run the timed-out job. If it times out again at the same setup or checkout step, escalate to the pipeline owner instead of changing unrelated PR source.
- Verify: Re-run
Unit Test for Telemetry Python312and confirm the job completes within its limit.
- Unit Test for Telemetry Python312 (Not PR-related)
Test validation
- Live test: Passed.
- Regression coverage: Present for
eventhubs: 1 focused test file(s) changed.
Repository policy findings
- Generated code ownership checker (blocking) —
src/azure-cli/azure/cli/command_modules/eventhubs/aaz/latest/eventhubs/eventhub/_list.py:50: A generated file changed without an open or mergedAzure/aazpull request containing the durable command-model change.
Remediation: Make the durable command-model change in Azure/aaz, link that PR in this description, then regenerate the downstreamaaz/latestoutput.
Verify: Regenerate from a clean checkout and confirm the resulting diff contains this change and the linked source PR is open or merged.
No further evidence-confirmed semantic findings beyond the deterministic policy finding above.
The Azure.azure-cli build failure is a job timeout classified Not PR-related; no source change is requested for it — rerun the job. The generated-ownership finding is blocking: this PR modifies a generated aaz/latest file without a linked open/merged Azure/aaz source PR. Please link the durable source PR (or make the source change in Azure/aaz first) and regenerate.
Risk assessment
28/100 · Medium · High confidence
The Medium rating is driven by public CLI behavior, generated output.
- Change scope: 2 changed files, 33 changed lines (
+32/-1), including 1 production file. - Affected components:
eventhubs - Risk drivers: public CLI behavior (+18); generated output (+12)
- Regression evidence: Changed regression tests are included, reducing risk.
- Confidence: High because changed-line patches were available for every production file.
- Required review: Owning-squad review is recommended for
eventhubsbefore merge.
|
Started a Copilot task using |
…alidator.py
Revert the direct change to the generated aaz/_list.py (which requires a
linked Azure/aaz upstream PR), and instead apply the namespace_name pattern
validation through the non-generated _validator.py / _params.py path.
- Revert aaz/latest/eventhubs/eventhub/_list.py to its original state
- Add validate_namespace_name() to _validator.py with the correct
6-50 char pattern (^[a-zA-Z][a-zA-Z0-9-]{4,48}[a-zA-Z0-9]$)
- Register the validator on 'eventhubs eventhub list' in _params.py
- Update tests to exercise the validator function directly
Co-authored-by: a0x1ab <59631311+a0x1ab@users.noreply.github.com>
Live test results —
|
There was a problem hiding this comment.
Agent Assist Review — PR #33636
Result: ✅ Pass
CI
All 48 checks passed (0 failed, 0 pending).
Live test
The dispatched live-test run for this PR's changed test file
(test_eventhub_command_validation.py) completed successfully.
Regression coverage
No gap — the PR changes production code in
src/azure-cli/azure/cli/command_modules/eventhubs/_params.py and
_validator.py, and adds a new focused unit test file
(test_eventhub_command_validation.py) covering the new
validate_namespace_name validator, including boundary cases (too short, too
long, min/max length, and None).
Review-skill findings
None. The change is small and scoped to the eventhubs module: it adds a
namespace-name format validator wired to eventhubs eventhub list --namespace-name, matching the stated fix for issue #32073. No unrelated
files, no silently-dropped parameters, and the new validator's regex bounds
match the tests exercising them.
Recommendation
Ready for a maintainer/squad merge review — no further automated action
needed.
|
🔔 Routing this PR to @Azure/act-observability-squad. |
|
🔔 Routing this PR to @Azure/act-codegen-extensibility-squad. |
🤖 PR Validation — ️✔️ All clear
Related command
az eventhubs eventhub listDescription
az eventhubs eventhub listregressed on namespace validation and could reject service-valid short namespace names. This change adds focused regression coverage around the generated--namespace-nameschema so the accepted 6–50 character range stays aligned with the service contract.Validation coverage
Regression scope
az eventhubs eventhub listTesting Guide
az eventhubs eventhub list --resource-group <rg> --namespace-name ns0001ns0001ns001History Notes
[Event Hubs]
az eventhubs eventhub list: Add regression coverage for namespace name length validationThis checklist is used to make sure that common guidelines for a pull request are followed.
The PR title and description has followed the guideline in Submitting Pull Requests.
I adhere to the Command Guidelines.
I adhere to the Error Handling Guidelines.