Skip to content

[aks-preview] secondary NIC public IP configuration - #10355

Open
Chase Wilson (chasewilson) wants to merge 1 commit into
Azure:mainfrom
chasewilson:codex/aks-preview-multinic-ip-tags
Open

Chase Wilson (chasewilson) wants to merge 1 commit into
Azure:mainfrom
chasewilson:codex/aks-preview-multinic-ip-tags

Conversation

@chasewilson

@chasewilson Chase Wilson (chasewilson) commented Sep 17, 2026 •

Copy link
Copy Markdown

🤖 PR Validation — ️✔️ All clear

Breaking Changes
️✔️ None

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

Related command

az aks nodepool add --secondary-network-interfaces (alias: --secondary-nics)

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.

Copilot AI lite review requested due to automatic review settings September 17, 2026 21:15
@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi Chase Wilson (@chasewilson),
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in pyproject.toml (or setup.py, if the extension has not migrated yet) as well.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

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.

🟡 Changes recommended

The parser does not enforce the documented mutual exclusion between ipTags and publicIPPrefixID.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds secondary NIC public IP configuration support for az aks nodepool add, including IP tags and public IP prefixes.

Changes:

  • Parses and serializes nested public IP configuration.
  • Updates command help and history.
  • Adds unit coverage for supported and malformed inputs.
File summaries
File Description
HISTORY.rst Documents the feature.
test_agentpool_decorator.py Tests parsing and serialization.
agentpool_decorator.py Adds nested configuration handling.
_params.py Updates argument help.
_help.py Updates generated command documentation.
Review details
  • Files reviewed: 5/5 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +1063 to +1069
ip_tags = public_ip_config.get("ipTags")
if ip_tags is not None:
if not isinstance(ip_tags, list):
raise InvalidArgumentValueError(
"--secondary-network-interfaces: ipTags in "
f"publicIPAddressConfiguration at index {idx} must be a JSON array."
)
@a0x1ab

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

"--secondary-network-interfaces: publicIPAddressConfiguration "
f"at index {idx} must be a JSON object."
)
ip_tags = public_ip_config.get("ipTags")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Non-blocking: could we add an explicit mutual-exclusion check for ipTags and publicIPPrefixID, along with a regression test? Both the help text and SDK contract say these properties are mutually exclusive, but the current validation only checks the JSON structure and still forwards both when supplied. Rejecting this combination locally would give users a clear CLI error instead of relying on resource-provider validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants