Skip to content

[AKS] Rename OpenTelemetry ports and add gRPC support for metrics/logs#10079

Draft
ChFlick wants to merge 5 commits into
Azure:mainfrom
ChFlick:cbutz/aks-preview-otlp-grpc
Draft

[AKS] Rename OpenTelemetry ports and add gRPC support for metrics/logs#10079
ChFlick wants to merge 5 commits into
Azure:mainfrom
ChFlick:cbutz/aks-preview-otlp-grpc

Conversation

@ChFlick

@ChFlick ChFlick commented Jul 6, 2026

Copy link
Copy Markdown

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

Related command

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? (azdev required; see .azure-pipelines/templates/azdev_setup.yml for the install command until azdev==0.2.11b1 is on PyPI)
  • 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.

@azure-client-tools-bot-prd

azure-client-tools-bot-prd Bot commented Jul 6, 2026

Copy link
Copy Markdown
❌Azure CLI Extensions Breaking Change Test
❌aks-preview
rule cmd_name rule_message suggest_message
1010 - ParaPropUpdate aks create cmd aks create update parameter disable_opentelemetry_logs: updated property options from ['--disable-opentelemetry-logs'] to ['--disable-opentelemetry-logs-traces'] please change property options from ['--disable-opentelemetry-logs-traces'] to ['--disable-opentelemetry-logs'] for parameter disable_opentelemetry_logs of cmd aks create
1010 - ParaPropUpdate aks create cmd aks create update parameter enable_opentelemetry_logs: updated property options from ['--enable-opentelemetry-logs'] to ['--enable-opentelemetry-logs-traces'] please change property options from ['--enable-opentelemetry-logs-traces'] to ['--enable-opentelemetry-logs'] for parameter enable_opentelemetry_logs of cmd aks create
1010 - ParaPropUpdate aks create cmd aks create update parameter opentelemetry_logs_port: updated property options from ['--opentelemetry-logs-port'] to ['--opentelemetry-logs-traces-port-http'] please change property options from ['--opentelemetry-logs-traces-port-http'] to ['--opentelemetry-logs-port'] for parameter opentelemetry_logs_port of cmd aks create
1010 - ParaPropUpdate aks create cmd aks create update parameter opentelemetry_metrics_port: updated property options from ['--opentelemetry-metrics-port'] to ['--opentelemetry-metrics-port-http'] please change property options from ['--opentelemetry-metrics-port-http'] to ['--opentelemetry-metrics-port'] for parameter opentelemetry_metrics_port of cmd aks create
1010 - ParaPropUpdate aks update cmd aks update update parameter disable_opentelemetry_logs: updated property options from ['--disable-opentelemetry-logs'] to ['--disable-opentelemetry-logs-traces'] please change property options from ['--disable-opentelemetry-logs-traces'] to ['--disable-opentelemetry-logs'] for parameter disable_opentelemetry_logs of cmd aks update
1010 - ParaPropUpdate aks update cmd aks update update parameter enable_opentelemetry_logs: updated property options from ['--enable-opentelemetry-logs'] to ['--enable-opentelemetry-logs-traces'] please change property options from ['--enable-opentelemetry-logs-traces'] to ['--enable-opentelemetry-logs'] for parameter enable_opentelemetry_logs of cmd aks update
1010 - ParaPropUpdate aks update cmd aks update update parameter opentelemetry_logs_port: updated property options from ['--opentelemetry-logs-port'] to ['--opentelemetry-logs-traces-port-http'] please change property options from ['--opentelemetry-logs-traces-port-http'] to ['--opentelemetry-logs-port'] for parameter opentelemetry_logs_port of cmd aks update
1010 - ParaPropUpdate aks update cmd aks update update parameter opentelemetry_metrics_port: updated property options from ['--opentelemetry-metrics-port'] to ['--opentelemetry-metrics-port-http'] please change property options from ['--opentelemetry-metrics-port-http'] to ['--opentelemetry-metrics-port'] for parameter opentelemetry_metrics_port of cmd aks update
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter disable_opentelemetry_logs_deprecated
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter enable_opentelemetry_logs_deprecated
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter opentelemetry_logs_port_deprecated
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter opentelemetry_logs_traces_port_grpc
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter opentelemetry_metrics_port_deprecated
⚠️ 1006 - ParaAdd aks create cmd aks create added parameter opentelemetry_metrics_port_grpc
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter disable_opentelemetry_logs_deprecated
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter enable_opentelemetry_logs_deprecated
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter opentelemetry_logs_port_deprecated
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter opentelemetry_logs_traces_port_grpc
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter opentelemetry_metrics_port_deprecated
⚠️ 1006 - ParaAdd aks update cmd aks update added parameter opentelemetry_metrics_port_grpc

@yonzhan

yonzhan commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

AKS

@ChFlick
ChFlick force-pushed the cbutz/aks-preview-otlp-grpc branch from 12eb037 to 81f1913 Compare July 13, 2026 16:31
@FumingZhang

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@FumingZhang

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

@ChFlick
ChFlick force-pushed the cbutz/aks-preview-otlp-grpc branch from 008c692 to 626a2f2 Compare July 15, 2026 15:30
@FumingZhang

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

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

Christoph Butz added 5 commits July 17, 2026 11:54
…le flags with deprecated aliases

Renames the OTLP CLI parameters on 'az aks create/update' to distinguish the
HTTP/protobuf port and to align logs with logs-and-traces, keeping the old names
working as deprecated aliases:

- --opentelemetry-metrics-port  -> --opentelemetry-metrics-port-http
- --opentelemetry-logs-port     -> --opentelemetry-logs-traces-port-http
- --enable-opentelemetry-logs   -> --enable-opentelemetry-logs-traces
- --disable-opentelemetry-logs  -> --disable-opentelemetry-logs-traces

Each renamed option is registered as two arguments sharing one destination: the new
name carries is_preview=True and the old name is a separate deprecated argument
(deprecate_info). This avoids the knack crash from combining is_preview with an
option-level c.deprecate (Deprecated has no __len__), and lets the new names show
[Preview] while the old names show [Deprecated] and redirect. A validator merges any
value supplied via a deprecated alias onto the current destination so downstream
logic reads a single dest.

Updates help text, validator/decorator error messages, and tests to the new names;
migrates the live integration scenarios and fixes stale API field assertions
(openTelemetryLogs.port -> openTelemetryLogsAndTraces.httpPort).
Adds --opentelemetry-metrics-port-grpc and --opentelemetry-logs-traces-port-grpc
(preview) to 'az aks create/update', wiring the new grpc_port field on the
appMonitoring OpenTelemetry profiles (API 2026-04-02-preview).

- Validation: all four OTLP ports (metrics/logs x http/grpc) must be in 1..65535
  and distinct; grpc ports follow the same enable/disable gating as the http ports.
- Disable paths now clear both http_port and grpc_port, including when the parent
  Azure Monitor metrics/logs are disabled.
- Adds unit, validator, and live integration coverage; bumps version to 21.0.0b8
  and updates HISTORY.
… and metrics

Adds --opentelemetry-*-port-grpc flags and grpcPort assertions to the live
OpenTelemetry integration scenarios so gRPC is exercised symmetrically for both
the metrics and logs/traces signals (previously only metrics-create asserted
grpcPort). The comprehensive monitoring test also now asserts that disabling
OpenTelemetry metrics/logs clears both httpPort and grpcPort.
…res header

The AzureMonitorAppMonitoringPreview capability is gated by subscription feature
registration, not by a per-request AKSHTTPCustomFeatures header. The resource
provider now rejects that header with '(BadRequest) Parameter aksHTTPCustomFeatures
is not allowed', causing every OpenTelemetry @live_only scenario to fail before
reaching its assertions.

Removes '--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview'
from the six OpenTelemetry live tests. Verified live that create/update with the
OTLP flags succeeds once the header is dropped (feature registered on the
subscription). The recorded app-monitoring tests are left unchanged, as they
replay a cassette that still contains the header.
@ChFlick
ChFlick force-pushed the cbutz/aks-preview-otlp-grpc branch from 626a2f2 to 5e5c6b1 Compare July 17, 2026 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AKS Auto-Assign Auto assign by bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants