Skip to content

[edgeoperator]: Adding ALDO SystemConfiguration az cli extensions (preview) - #10480

Open
kleyvaortega wants to merge 5 commits into
Azure:mainfrom
kleyvaortega:users/kleyvaortega/systemConfigurationAzCliExtensions
Open

kleyvaortega wants to merge 5 commits into
Azure:mainfrom
kleyvaortega:users/kleyvaortega/systemConfigurationAzCliExtensions

Conversation

@kleyvaortega

@kleyvaortega kleyvaortega commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

🤖 PR Validation — ⚠️ Review suggested

Breaking Changes
⚠️ None
⚠️Azure CLI Extensions Breaking Change Test
⚠️edgeoperator
rule cmd_name rule_message suggest_message
⚠️ 1011 - SubgroupAdd aldo system-configuration sub group aldo system-configuration added

Summary

Add SystemConfiguration support to the edgeoperator extension under the existing az aldo namespace.

  • Add az aldo system-configuration show to retrieve the active singleton configuration.
  • Add az aldo system-configuration create to create or fully replace it using PUT.
  • Support DNS forwarder IP, connection intent, stamp ID, and device resource ID.
  • Use API version 2026-06-01-preview and the active cloud's ARM endpoint.
  • Update command help, documentation, and release history; bump the extension to 1.0.0b3.

Validation

  • All 7 command unit tests pass.
  • Live GET recorded with HTTP 200.
  • Live empty-properties PUT recorded with HTTP 400, verifying four required-field validation errors.
  • Both sanitized recordings replay successfully offline with zero network connections.

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

az aldo system-configuration show
az aldo system-configuration create

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

@microsoft-github-policy-service microsoft-github-policy-service Bot added the customer-reported Issues that are reported by GitHub users external to the Azure organization. label Oct 16, 2026
@microsoft-github-policy-service

Copy link
Copy Markdown
Contributor

Thank you for your contribution kleyvaortega! We will review the pull request and get back to you soon.

@yonzhan

Copy link
Copy Markdown
Collaborator

Please fix CI issues

@kleyvaortega
kleyvaortega marked this pull request as ready for review October 20, 2026 17:51
Copilot AI balanced review requested due to automatic review settings October 20, 2026 17:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The changes are focused, match the reviewed REST contract, and have no identified blocking issues.

No open issues 🎉

What changed in this PR

Adds preview SystemConfiguration support to edgeoperator under the existing az aldo namespace.

Changes:

  • Adds singleton configuration retrieval and full replacement using the active cloud’s ARM endpoint.
  • Adds unit tests and sanitized GET and validation-error recordings.
  • Documents command usage and updates the extension to 1.0.0b3.
File Description
src/​edgeoperator/​setup.py Updates version and package description.
src/​edgeoperator/​README.rst Documents commands and PUT requirements.
src/​edgeoperator/​HISTORY.rst Records the new release.
src/​edgeoperator/​azext_edgeoperator/​tests/​latest/​test_system_configuration_scenario.py Adds recorded scenarios and sanitization.
src/​edgeoperator/​azext_edgeoperator/​tests/​latest/​test_custom.py Tests URLs and request payloads.
src/​edgeoperator/​azext_edgeoperator/​tests/​latest/​recordings/​test_system_configuration_show.yaml Records successful retrieval.
src/​edgeoperator/​azext_edgeoperator/​tests/​latest/​recordings/​test_system_configuration_create_missing_fields.yaml Records required-field validation errors.
src/​edgeoperator/​azext_edgeoperator/​custom.py Implements GET and PUT operations.
src/​edgeoperator/​azext_edgeoperator/​commands.py Registers show and create commands.
src/​edgeoperator/​azext_edgeoperator/​_params.py Defines writable configuration arguments.
src/​edgeoperator/​azext_edgeoperator/​_help.py Adds command descriptions and examples.

Review effort: Balanced

@JaysonTaiMicrosoft

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@JaysonTaiMicrosoft JaysonTaiMicrosoft added the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Oct 22, 2026
@x-engineering-agent

x-engineering-agent Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

X Engineering Agent Report

Review — Comments

kleyvaortega

No confirmed semantic findings. Reviewed singleton GET/PUT routing, four-field serialization, cloud endpoint handling, command help and 1.0.0b3 release metadata. Author unit tests check request mappings; scenario recordings cover GET 200 and missing-field PUT 400, not successful replacement. Upstream CI reports no failures; runtime behavior was not independently exercised.

Test validation
  • Agent live test: Not run; this is a review-only PR. Check author-provided test evidence and upstream CI separately.
  • Regression coverage: Not applicable to the changed files.
Risk assessment — 37/100 · Medium

The Medium rating is driven by public CLI behavior, dependency or supply chain.

  • Change scope: 11 changed files, 287 changed lines (+284 / -3), including 5 production files.
  • Affected components: edgeoperator
  • Risk drivers: public CLI behavior (+18); dependency or supply chain (+18)
  • 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 required for edgeoperator before merge.

Posted by x-engineering-agent (Reviewer)

@x-engineering-agent x-engineering-agent Bot added the X Engineering Agent Reviewed Agent reviewed this PR label Oct 22, 2026

@JaysonTaiMicrosoft JaysonTaiMicrosoft Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kleyvaortega This recording processor seems unnecessary. The existing scenario test mechanism already sanitises sensitive values. Once recorded the recording will be set to the 2026-06-01-preview api, it shouldn't be necessary to clamp it down pre-emptively.

self.check should be used to assert the response body has not changed shape.

Please refer to https://github.com/Azure/azure-cli/blob/dev/doc/authoring_tests.md#automating-tests-for-azure-cli for guidelines on authoring tests.

The associated test_system_configuration_create_missing_fields.yaml and test_system_configuration_show.yaml appear to have failed, please fix them. These commands can be sufficiently tested using create -> show as the lifecycle of the scenario

@x-engineering-agent x-engineering-agent Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kleyvaortega Ready for human review. See the X Engineering Agent Report.

@x-engineering-agent x-engineering-agent Bot removed the Request X Engineering Agent Ask the agent to triage this issue or review this PR label Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

customer-reported Issues that are reported by GitHub users external to the Azure organization. X Engineering Agent Reviewed Agent reviewed this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants