-
Notifications
You must be signed in to change notification settings - Fork 3.3k
Description
Describe the bug
When creating an AKS cluster with the Azure CLI, the command fails after the cluster is created and the apparent point is during role assignment creation.
Related command
az aks create -n automatic --sku automatic -g automatic-bugbash -l uksouth --no-ssh --debug
Errors
The command failed with an unexpected error. Here is the traceback:
'NoneType' object has no attribute 'split'
Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 352, in __init__
if 'preview' in api_version_str:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 392, in _parse_api_version
return _DateAPIFormat(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 359, in __init__
raise ValueError('The API version {} is not in a '
'supported format'.format(api_version_str))
ValueError: The API version None is not in a supported format
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 666, in execute
raise ex
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 734, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 703, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 336, in __call__
return self.handler(*args, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
return op(**command_args)
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 799, in aks_create
return aks_create_decorator.create_mc(mc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/command_modules/acs/managed_cluster_decorator.py", line 7501, in create_mc
cluster = self.put_mc(mc)
File "/opt/az/lib/python3.13/site-packages/azure/cli/command_modules/acs/managed_cluster_decorator.py", line 7475, in put_mc
self.postprocessing_after_mc_created(cluster)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/managed_cluster_decorator.py", line 4230, in postprocessing_after_mc_created
self.context.external_functions._add_role_assignment_executor_new( # type: ignore # pylint: disable=protected-access
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.cmd,
^^^^^^^^^
...<3 lines>...
resolve_assignee=False,
^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/_roleassignments.py", line 59, in _add_role_assignment_executor_new
if cmd.supported_api_version(min_api="2018-01-01-preview", resource_type=ResourceType.MGMT_AUTHORIZATION):
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 353, in supported_api_version
return self.loader.supported_api_version(resource_type=resource_type, min_api=min_api, max_api=max_api,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
operation_group=operation_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/__init__.py", line 782, in supported_api_version
api_support = supported_api_version(
cli_ctx=self.cli_ctx,
...<2 lines>...
max_api=max_api,
operation_group=operation_group)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/__init__.py", line 41, in supported_api_version
return _sdk_supported_api_version(cli_ctx.cloud.profile,
resource_type=resource_type,
min_api=min_api,
max_api=max_api,
operation_group=operation_group)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 437, in supported_api_version
return _validate_api_version(api_version_obj, min_api, max_api)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 414, in _validate_api_version
if min_api and _cross_api_format_less_than(api_version_str, min_api):
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 403, in _cross_api_format_less_than
api_version = _parse_api_version(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 394, in _parse_api_version
return _SemVerAPIFormat(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 322, in __init__
parts = api_version_str.split('.')
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
Issue script & Debug output
cli.azure.cli.core.util: Request URL: 'https://graph.microsoft.com/v1.0/me'
cli.azure.cli.core.util: Request method: 'GET'
cli.azure.cli.core.util: Request headers:
cli.azure.cli.core.util: 'User-Agent': 'python/3.13.7 (Linux-6.6.87.2-microsoft-standard-WSL2-x86_64-with-glibc2.39) AZURECLI/2.77.0 (DEB)'
cli.azure.cli.core.util: 'Accept-Encoding': 'gzip, deflate'
cli.azure.cli.core.util: 'Accept': '*/*'
cli.azure.cli.core.util: 'Connection': 'keep-alive'
cli.azure.cli.core.util: 'x-ms-client-request-id': 'c19679d8-93c6-4a41-8752-54960ca5e84d'
cli.azure.cli.core.util: 'CommandName': 'aks create'
cli.azure.cli.core.util: 'ParameterSetName': '-n --sku -g -l --no-ssh --debug'
cli.azure.cli.core.util: 'Authorization': 'Bearer eyJ0eXAiOiJKV...'
cli.azure.cli.core.util: Request body:
cli.azure.cli.core.util: None
urllib3.connectionpool: Starting new HTTPS connection (1): graph.microsoft.com:443
urllib3.connectionpool: https://graph.microsoft.com:443 "GET /v1.0/me HTTP/1.1" 200 None
cli.azure.cli.core.util: Response status: 200
cli.azure.cli.core.util: Response headers:
cli.azure.cli.core.util: 'Cache-Control': 'no-cache'
cli.azure.cli.core.util: 'Transfer-Encoding': 'chunked'
cli.azure.cli.core.util: 'Content-Type': 'application/json; odata.metadata=minimal; odata.streaming=true; IEEE754Compatible=false; charset=utf-8'
cli.azure.cli.core.util: 'Content-Encoding': 'gzip'
cli.azure.cli.core.util: 'Vary': 'Accept-Encoding'
cli.azure.cli.core.util: 'Strict-Transport-Security': 'max-age=31536000'
cli.azure.cli.core.util: 'request-id': 'ed8b088a-c4eb-4b26-a96e-6a4fae59ca82'
cli.azure.cli.core.util: 'client-request-id': 'ed8b088a-c4eb-4b26-a96e-6a4fae59ca82'
cli.azure.cli.core.util: 'x-ms-ags-diagnostic': '{"ServerInfo":{"DataCenter":"West US 2","Slice":"E","Ring":"4","ScaleUnit":"004","RoleInstance":"MW2PEPF0000E01A"}}'
cli.azure.cli.core.util: 'x-ms-gateway-esc': '200'
cli.azure.cli.core.util: 'x-ms-resource-unit': '1'
cli.azure.cli.core.util: 'OData-Version': '4.0'
cli.azure.cli.core.util: 'Date': 'Fri, 03 Oct 2025 00:08:01 GMT'
cli.azure.cli.core.util: Response content:
cli.azure.cli.core.util: {"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users/$entity","businessPhones":["+1 xxxx"],"displayName":"xxxr","givenName":"xxx","jobTitle":"Pxxx","mail":"xxx","mobilePhone":null,"officeLocation":"xxx","preferredLanguage":null,"surname":"xxx","userPrincipalName":"xxx","id":"xxx"}
cli.azure.cli.core.sdk.policies: Request URL: 'https://management.azure.com/subscriptions/90ab3701-83f0-4ba1-a90a-f2e68683adab/resourcegroups/automatic-bugbash/providers/Microsoft.ContainerService/managedClusters/automatic/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Azure%20Kubernetes%20Service%20RBAC%20Cluster%20Admin%27&api-version=2022-05-01-preview'
cli.azure.cli.core.sdk.policies: Request method: 'GET'
cli.azure.cli.core.sdk.policies: Request headers:
cli.azure.cli.core.sdk.policies: 'Accept': 'application/json'
cli.azure.cli.core.sdk.policies: 'x-ms-client-request-id': 'a4d85cb2-9feb-11f0-9f57-00155deeaac6'
cli.azure.cli.core.sdk.policies: 'CommandName': 'aks create'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '-n --sku -g -l --no-ssh --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.77.0 (DEB) azsdk-python-core/1.35.0 Python/3.13.7 (Linux-6.6.87.2-microsoft-standard-WSL2-x86_64-with-glibc2.39)'
cli.azure.cli.core.sdk.policies: 'Authorization': '*****'
cli.azure.cli.core.sdk.policies: Request body:
cli.azure.cli.core.sdk.policies: This request has no body
urllib3.connectionpool: Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool: https://management.azure.com:443 "GET /subscriptions/90ab3701-83f0-4ba1-a90a-f2e68683adab/resourcegroups/automatic-bugbash/providers/Microsoft.ContainerService/managedClusters/automatic/providers/Microsoft.Authorization/roleDefinitions?$filter=roleName%20eq%20%27Azure%20Kubernetes%20Service%20RBAC%20Cluster%20Admin%27&api-version=2022-05-01-preview HTTP/1.1" 200 949
cli.azure.cli.core.sdk.policies: Response status: 200
cli.azure.cli.core.sdk.policies: Response headers:
cli.azure.cli.core.sdk.policies: 'Cache-Control': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Pragma': 'no-cache'
cli.azure.cli.core.sdk.policies: 'Content-Length': '949'
cli.azure.cli.core.sdk.policies: 'Content-Type': 'application/json; charset=utf-8'
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': 'c0d3ebd6-34e0-4dd4-9a77-ad9732cea4f1'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-operation-identifier': 'tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47,objectId=c4279823-a7c7-477e-982e-f4145bb0a83d/southcentralus/6652b2bc-4662-4e63-bf43-b6233cbd9f67'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '1099'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-reads': '16499'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '49a61cd0-43be-4ae4-be06-ba513886a4cd'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'SOUTHCENTRALUS:20251003T000802Z:49a61cd0-43be-4ae4-be06-ba513886a4cd'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: 36F1DC41129E449D8C84C37920D1BA68 Ref B: MWH011020807034 Ref C: 2025-10-03T00:08:02Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Fri, 03 Oct 2025 00:08:02 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.sdk.policies: {"value":[{"properties":{"roleName":"Azure Kubernetes Service RBAC Cluster Admin","type":"BuiltInRole","description":"Lets you manage all resources in the cluster.","assignableScopes":["/"],"permissions":[{"actions":["Microsoft.Authorization/*/read","Microsoft.Resources/subscriptions/operationresults/read","Microsoft.Resources/subscriptions/read","Microsoft.Resources/subscriptions/resourceGroups/read","Microsoft.ContainerService/managedClusters/listClusterUserCredential/action"],"notActions":[],"dataActions":["Microsoft.ContainerService/managedClusters/*"],"notDataActions":[]}],"createdOn":"2020-07-02T17:47:24.4071415Z","updatedOn":"2022-10-13T03:34:52.0122969Z","createdBy":null,"updatedBy":null},"id":"/subscriptions/90ab3701-83f0-4ba1-a90a-f2e68683adab/providers/Microsoft.Authorization/roleDefinitions/b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b","type":"Microsoft.Authorization/roleDefinitions","name":"b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b"}]}
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 352, in __init__
if 'preview' in api_version_str:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 392, in _parse_api_version
return _DateAPIFormat(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 359, in __init__
raise ValueError('The API version {} is not in a '
'supported format'.format(api_version_str))
ValueError: The API version None is not in a supported format
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 666, in execute
raise ex
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 734, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 703, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 336, in __call__
return self.handler(*args, **kwargs)
~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/command_operation.py", line 120, in handler
return op(**command_args)
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/custom.py", line 799, in aks_create
return aks_create_decorator.create_mc(mc)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/command_modules/acs/managed_cluster_decorator.py", line 7501, in create_mc
cluster = self.put_mc(mc)
File "/opt/az/lib/python3.13/site-packages/azure/cli/command_modules/acs/managed_cluster_decorator.py", line 7475, in put_mc
self.postprocessing_after_mc_created(cluster)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/managed_cluster_decorator.py", line 4230, in postprocessing_after_mc_created
self.context.external_functions._add_role_assignment_executor_new( # type: ignore # pylint: disable=protected-access
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.cmd,
^^^^^^^^^
...<3 lines>...
resolve_assignee=False,
^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/home/asabbour/.azure/cliextensions/aks-preview/azext_aks_preview/_roleassignments.py", line 59, in _add_role_assignment_executor_new
if cmd.supported_api_version(min_api="2018-01-01-preview", resource_type=ResourceType.MGMT_AUTHORIZATION):
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 353, in supported_api_version
return self.loader.supported_api_version(resource_type=resource_type, min_api=min_api, max_api=max_api,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
operation_group=operation_group)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/__init__.py", line 782, in supported_api_version
api_support = supported_api_version(
cli_ctx=self.cli_ctx,
...<2 lines>...
max_api=max_api,
operation_group=operation_group)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/__init__.py", line 41, in supported_api_version
return _sdk_supported_api_version(cli_ctx.cloud.profile,
resource_type=resource_type,
min_api=min_api,
max_api=max_api,
operation_group=operation_group)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 437, in supported_api_version
return _validate_api_version(api_version_obj, min_api, max_api)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 414, in _validate_api_version
if min_api and _cross_api_format_less_than(api_version_str, min_api):
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 403, in _cross_api_format_less_than
api_version = _parse_api_version(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 394, in _parse_api_version
return _SemVerAPIFormat(api_version)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/profiles/_shared.py", line 322, in __init__
parts = api_version_str.split('.')
^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'split'
Expected behavior
The command executes without issues and the role assignment gets created
Environment Summary
azure-cli 2.77.0
core 2.77.0
telemetry 1.1.0
Extensions:
aks-preview 18.0.0b41
alb 2.0.1
k8s-extension 1.7.0
Dependencies:
msal 1.34.0b1
azure-mgmt-resource 23.3.0
Python location '/opt/az/bin/python3'
Config directory '/home/asabbour/.azure'
Extensions directory '/home/asabbour/.azure/cliextensions'
Python (Linux) 3.13.7 (main, Aug 26 2025, 08:47:19) [GCC 13.3.0]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Additional context
No response