Skip to content

Issue with - az aks addon for monitoring with data-collection-settings - fails to update due to an uninitialzed variable usage #31265

@oneashish

Description

@oneashish

Describe the bug

I am using az cli on windows.
While trying to update the aks cluster with monitoring adding using a dcr config file, the command fails with the below error.
based on the initial analysis, error is due an issue in https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/acs/addonconfiguration.py#L772 .
(details in the additional context)

Related command

az aks addon update --addon monitoring
--name "my-aks-cluster-name-cluster-0" --resource-group "my-aks-cluster-name-k8s-rg-0"
--workspace-resource-id "/subscriptions/7bb64dcb-45d5-4348-8282-d39e1c0ebb2b/resourceGroups/my-aks-cluster-nameshared-acr-shared-rg/providers/Microsoft.OperationalInsights/workspaces/my-aks-cluster-name-shared-shared-log-ws-i1myt7vhrb" `
--data-collection-settings my-aks-cluster-name-dcr-settings-simple_v2.json

The file my-aks-cluster-name-dcr-settings-simple_v2.json:
{
"properties": {
"location": "westeurope",
"kind": "Linux",
"dataSources": {
"syslog": [],
"extensions": [
{
"streams": [
"Microsoft-ContainerLogV2",
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"extensionName": "ContainerInsights",
"extensionSettings": {
"dataCollectionSettings": {
"interval": "1m",
"namespaceFilteringMode": "Off",
"enableContainerLogV2": true
}
},
"name": "ContainerInsightsExtension"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/7bb64dcb-45d5-4348-8282-d39e1c0ebb2b/resourceGroups/my-company-sit-shared-acr-shared-rg/providers/Microsoft.OperationalInsights/workspaces/my-company-sit-shared-shared-log-ws-i1myt7vhrb",
"workspaceId": "7bb64dcb-45d5-4348-8282-d39e1c0ebb2b",
"name": "my-company-sit-shared-log-analytics-ws"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"destinations": [
"my-company-sit-shared-log-analytics-ws"
]
},
{
"streams": [
"Microsoft-ContainerLogV2"
],
"destinations": [
"my-company-sit-shared-log-analytics-ws"
],
"transformKql": "source | where LogLevel in ('error', 'critical')"
}
]
}
}

Errors

Argument '--data-collection-settings' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
The command failed with an unexpected error. Here is the traceback:
cannot access local variable 'intervalValue' where it is not associated with a value
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\custom.py", line 2001, in aks_addon_update
return enable_addons(
^^^^^^^^^^^^^^
File "C:\Users<username>.azure\cliextensions\aks-preview\azext_aks_preview\addonconfiguration.py", line 125, in enable_addons
ensure_container_insights_for_monitoring(
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 491, in ensure_container_insights_for_monitoring
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 773, in validate_data_collection_settings
UnboundLocalError: cannot access local variable 'intervalValue' where it is not associated with a value
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues

Issue script & Debug output

az aks addon update --addon monitoring
--name "my-aks-cluster-name-cluster-0" --resource-group "my-aks-cluster-name-k8s-rg-0"
--workspace-resource-id "/subscriptions/7bb64dcb-45d5-4348-8282-d39e1c0ebb2b/resourceGroups/my-aks-cluster-nameshared-acr-shared-rg/providers/Microsoft.OperationalInsights/workspaces/my-aks-cluster-name-shared-shared-log-ws-i1myt7vhrb" `
--data-collection-settings my-aks-cluster-name-dcr-settings-simple_v2.json

Debug output
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\custom.py", line 2001, in aks_addon_update
return enable_addons(
^^^^^^^^^^^^^^
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\addonconfiguration.py", line 125, in enable_addons
ensure_container_insights_for_monitoring(
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 491, in ensure_container_insights_for_monitoring
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 773, in validate_data_collection_settings
UnboundLocalError: cannot access local variable 'intervalValue' where it is not associated with a value

cli.azure.cli.core.azclierror: The command failed with an unexpected error. Here is the traceback:
az_command_data_logger: The command failed with an unexpected error. Here is the traceback:
cli.azure.cli.core.azclierror: cannot access local variable 'intervalValue' where it is not associated with a value
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in _run_job
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\custom.py", line 2001, in aks_addon_update
return enable_addons(
^^^^^^^^^^^^^^
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\addonconfiguration.py", line 125, in enable_addons
ensure_container_insights_for_monitoring(
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 491, in ensure_container_insights_for_monitoring
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 773, in validate_data_collection_settings
UnboundLocalError: cannot access local variable 'intervalValue' where it is not associated with a value
az_command_data_logger: cannot access local variable 'intervalValue' where it is not associated with a value
Traceback (most recent call last):
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 666, in execute
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 733, in _run_jobs_serially
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 703, in run_job
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/init.py", line 336, in call
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\custom.py", line 2001, in aks_addon_update
return enable_addons(
^^^^^^^^^^^^^^
File "C:\Users\ashish_pednekar.azure\cliextensions\aks-preview\azext_aks_preview\addonconfiguration.py", line 125, in enable_addons
ensure_container_insights_for_monitoring(
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 491, in ensure_container_insights_for_monitoring
File "D:\a_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/acs/addonconfiguration.py", line 773, in validate_data_collection_settings
UnboundLocalError: cannot access local variable 'intervalValue' where it is not associated with a value
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x000001DE15839EE0>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 10.772 seconds (init: 1.171, invoke: 9.601)
telemetry.main: Begin splitting cli events and extra events, total events: 1
telemetry.client: Accumulated 0 events. Flush the clients.
telemetry.main: Finish splitting cli events and extra events, cli events: 1
telemetry.save: Save telemetry record of length 8040 in cache file under C:\Users\ashish_pednekar.azure\telemetry\20250414130940738
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe C:\Program Files\Microsoft SDKs\Azure\CLI2\Lib\site-packages\azure\cli\telemetry_init
.pyc C:\Users\ashish_pednekar.azure C:\Users\ashish_pednekar.azure\telemetry\20250414130940738"
telemetry.process: Return from creating process 49900
telemetry.main: Finish creating telemetry upload process.

Expected behavior

When the monitoring addon is updated, the changes given in the json should take effect in the aks cluster.

Environment Summary

az --version
azure-cli 2.67.0

core 2.67.0
telemetry 1.1.0

Extensions:
aks-preview 13.0.0b9
monitor-control-service 1.2.0

Dependencies:
msal 1.31.0
azure-mgmt-resource 23.1.1

Python location 'C:\Program Files\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\username.azure\cliextensions'

Python (Windows) 3.12.7 (tags/v3.12.7:0b05ead, Oct 1 2024, 03:06:41) [MSC v.1941 64 bit (AMD64)]

Legal docs and information: aka.ms/AzureCliLegal

Additional context

In the below file, i.e.
https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/acs/addonconfiguration.py

    if 'interval' in dataCollectionSettings.keys():
        intervalValue = dataCollectionSettings["interval"]
    if (bool(re.match(r'^[0-9]+[m]$', intervalValue))) is False:  # pylint: disable=used-before-assignment

the intervalValue field whose scope already ends in line2 but is being used in line 3 where it throws UnboundLocalError.

Metadata

Metadata

Assignees

No one assigned

    Labels

    AKSaz aks/acs/openshiftAuto-AssignAuto assign by botAuto-ResolveAuto resolve by botService AttentionThis issue is responsible by Azure service team.bugThis issue requires a change to an existing behavior in the product in order to be resolved.customer-reportedIssues that are reported by GitHub users external to the Azure organization.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions