Skip to content

Commit 2c524b8

Browse files
author
Christoph Butz
committed
[aks-preview] Extend OTLP live tests with gRPC port coverage for logs 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.
1 parent a9a25ac commit 2c524b8

1 file changed

Lines changed: 22 additions & 8 deletions

File tree

src/aks-preview/azext_aks_preview/tests/latest/test_aks_commands.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16343,7 +16343,7 @@ def test_aks_create_with_azuremonitorlogs_and_opentelemetry(self, resource_group
1634316343

1634416344
create_cmd = (
1634516345
'aks create --resource-group={resource_group} --name={name} --location={location} --ssh-key-value={ssh_key_value} --node-vm-size={node_vm_size} '
16346-
'--enable-managed-identity --enable-azure-monitor-logs --enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=8080 '
16346+
'--enable-managed-identity --enable-azure-monitor-logs --enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=8080 --opentelemetry-logs-traces-port-grpc=8082 '
1634716347
'--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview --output=json'
1634816348
)
1634916349
self.cmd(create_cmd, checks=[
@@ -16353,6 +16353,7 @@ def test_aks_create_with_azuremonitorlogs_and_opentelemetry(self, resource_group
1635316353
self.check('addonProfiles.omsagent.config.useAADAuth', 'true'),
1635416354
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', True),
1635516355
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', 8080),
16356+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', 8082),
1635616357
])
1635716358

1635816359
# delete
@@ -16385,7 +16386,7 @@ def test_aks_update_with_azuremonitorlogs_and_opentelemetry(self, resource_group
1638516386
# update: enable-azure-monitor-logs with OpenTelemetry logs
1638616387
update_cmd = (
1638716388
'aks update --resource-group={resource_group} --name={name} --yes --output=json '
16388-
'--enable-azure-monitor-logs --enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=9090 '
16389+
'--enable-azure-monitor-logs --enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=9090 --opentelemetry-logs-traces-port-grpc=9092 '
1638916390
'--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview'
1639016391
)
1639116392
self.cmd(update_cmd, checks=[
@@ -16395,6 +16396,7 @@ def test_aks_update_with_azuremonitorlogs_and_opentelemetry(self, resource_group
1639516396
self.check('addonProfiles.omsagent.config.useAADAuth', 'true'),
1639616397
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', True),
1639716398
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', 9090),
16399+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', 9092),
1639816400
])
1639916401

1640016402
# update: disable OpenTelemetry logs but keep Azure Monitor logs
@@ -16940,8 +16942,8 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1694016942
create_cmd = (
1694116943
'aks create --resource-group={resource_group} --name={name} --location={location} --ssh-key-value={ssh_key_value} --node-vm-size={node_vm_size} '
1694216944
'--enable-managed-identity --enable-azure-monitor-logs --enable-azure-monitor-metrics --enable-azure-monitor-app-monitoring '
16943-
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=8080 '
16944-
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=8081 '
16945+
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=8080 --opentelemetry-logs-traces-port-grpc=8082 '
16946+
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=8081 --opentelemetry-metrics-port-grpc=8083 '
1694516947
'--enable-windows-recording-rules '
1694616948
'--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview --output=json'
1694716949
)
@@ -16974,9 +16976,11 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1697416976
# OpenTelemetry logs checks
1697516977
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', True),
1697616978
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', 8080),
16979+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', 8082),
1697716980
# OpenTelemetry metrics checks
1697816981
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.enabled', True),
1697916982
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.httpPort', 8081),
16983+
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.grpcPort', 8083),
1698016984
])
1698116985

1698216986
# Phase 2: Update - disable only OpenTelemetry logs (keep everything else)
@@ -17007,6 +17011,9 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1700717011
self.check('azureMonitorProfile.appMonitoring.autoInstrumentation.enabled', True),
1700817012
# OpenTelemetry logs should be disabled
1700917013
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', False),
17014+
# Disabling OpenTelemetry logs should clear both ports
17015+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', None),
17016+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', None),
1701017017
# OpenTelemetry metrics should still be enabled
1701117018
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.enabled', True),
1701217019
])
@@ -17039,13 +17046,16 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1703917046
self.check('azureMonitorProfile.appMonitoring.autoInstrumentation.enabled', True),
1704017047
# OpenTelemetry metrics should be disabled
1704117048
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.enabled', False),
17049+
# Disabling OpenTelemetry metrics should clear both ports
17050+
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.httpPort', None),
17051+
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.grpcPort', None),
1704217052
])
1704317053

1704417054
# Phase 4: Update - re-enable all OpenTelemetry features with different ports
1704517055
update_cmd = (
1704617056
'aks update --resource-group={resource_group} --name={name} --yes --output=json '
17047-
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=9090 '
17048-
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=9091 '
17057+
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=9090 --opentelemetry-logs-traces-port-grpc=9092 '
17058+
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=9091 --opentelemetry-metrics-port-grpc=9093 '
1704917059
'--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview'
1705017060
)
1705117061
self.cmd(update_cmd, checks=[
@@ -17070,8 +17080,10 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1707017080
# OpenTelemetry features should be re-enabled with new ports
1707117081
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', True),
1707217082
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', 9090),
17083+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', 9092),
1707317084
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.enabled', True),
1707417085
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.httpPort', 9091),
17086+
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.grpcPort', 9093),
1707517087
])
1707617088

1707717089
# Phase 5: Update - disable Azure Monitor metrics (should also disable OpenTelemetry metrics)
@@ -17133,8 +17145,8 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1713317145
update_cmd = (
1713417146
'aks update --resource-group={resource_group} --name={name} --yes --output=json '
1713517147
'--enable-azure-monitor-logs --enable-azure-monitor-metrics --enable-azure-monitor-app-monitoring '
17136-
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=7070 '
17137-
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=7071 '
17148+
'--enable-opentelemetry-logs-traces --opentelemetry-logs-traces-port-http=7070 --opentelemetry-logs-traces-port-grpc=7072 '
17149+
'--enable-opentelemetry-metrics --opentelemetry-metrics-port-http=7071 --opentelemetry-metrics-port-grpc=7073 '
1713817150
'--enable-windows-recording-rules '
1713917151
'--aks-custom-headers AKSHTTPCustomFeatures=Microsoft.ContainerService/AzureMonitorAppMonitoringPreview'
1714017152
)
@@ -17161,8 +17173,10 @@ def test_aks_comprehensive_monitoring_integration(self, resource_group, resource
1716117173
# All OpenTelemetry features should be enabled with new ports
1716217174
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.enabled', True),
1716317175
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.httpPort', 7070),
17176+
self.check('azureMonitorProfile.appMonitoring.openTelemetryLogsAndTraces.grpcPort', 7072),
1716417177
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.enabled', True),
1716517178
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.httpPort', 7071),
17179+
self.check('azureMonitorProfile.appMonitoring.openTelemetryMetrics.grpcPort', 7073),
1716617180
])
1716717181

1716817182
# Phase 8: Final cleanup - disable all monitoring features

0 commit comments

Comments
 (0)