Azure / Azure/azure-cli-extensions

[serial-console] az serial-console connect results in python error ValueError: No value for given attribute

Open
#9,988 2 comments 1 reaction 2 assignees Claimed by @a0x1ab View on GitHub
Service Attention
Dominant language
Python
Stars
454
Forks
1.7k
Avg merge
2d 19h
Merged PRs (30d)
64

Description

Source: https://github.com/Azure/azure-cli/issues/33396 (by @MmAtBosch)
Affected extension: `serial-console` (`src/serial-console/`)

---

<<>>
# Issue #33396 (by @MmAtBosch)
## Title
az serial-console connect results in python error ValueError: No value for given attribute

## Body
### Describe the bug

When executing the following command on a single VM (no VMSS)
`az serial-console connect --name vmname --resource-group groupname`

it results in

'''
File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
raise ValueError("No value for given attribute")
ValueError: No value for given attribute
'''

### Related command

az serial-console connect --name vmname --resource-group groupname

### Errors

'''
The command failed with an unexpected error. Here is the traceback:
No value for given attribute
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 677, in execute
raise ex
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 820, 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 789, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 335, 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/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 637, in connect_serialconsole
check_resource(cmd.cli_ctx, resource_group_name,
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vm_vmss_name, vmss_instanceid)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 601, in check_resource
result, storage_account_region = get_region_from_storage_account(cli_ctx, resource_group_name, vm_vmss_name,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
vmss_instanceid)
^^^^^^^^^^^^^^^^
File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 740, in get_region_from_storage_account
storage_account_region = get_storage_account_info(storage_account_url, scf)
File "/home/azuredevops/.azure/cliextensions/serial-console/azext_serialconsole/custom.py", line 751, in get_storage_account_info
sa_result = scf.storage_accounts.get_properties(storage_account_resource_group, storage_account)
File "/opt/az/lib/python3.13/site-packages/azure/core/tracing/decorator.py", line 119, in wrapper_use_tracer
return func(*args, **kwargs)
File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 1113, in get_properties
_request = build_get_properties_request(
resource_group_name=resource_group_name,
...<5 lines>...
params=_params,
)
File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/operations/_storage_accounts_operations.py", line 162, in build_get_properties_request
"resourceGroupName": _SERIALIZER.url(
~~~~~~~~~~~~~~~^
"resource_group_name", resource_group_name, "str", max_length=90, min_length=1, pattern=r"^[-\w\._\(\)]+$"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
),
^
File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 700, in url
output = self.serialize_data(data, data_type, **kwargs)
File "/opt/az/lib/python3.13/site-packages/azure/mgmt/storage/_utils/serialization.py", line 777, in serialize_data
raise ValueError("No value for given attribute")
ValueError: No value for given attribute
To check existing issues, please visit: https://github.com/Azure/azure-cli/issues
'''

### Issue script & Debug output

cli.azure.cli.core.auth.credential_adaptor: CredentialAdaptor.get_token_info: scopes=('https://management.core.windows.net//.default',), options={}
cli.azure.cli.core.auth.msal_credentials: UserCredential.acquire_token: scopes=['https://management.core.windows.net//.default'], claims_challenge=None, kwargs={}
msal.application: Cache hit an AT
msal.telemetry: Generate or reuse correlation_id: ecf3221c-82b0-4538-bde0-54ded6aa3554
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': '06c3f34e-5380-11f1-b35d-566c0baecff4'
cli.azure.cli.core.sdk.policies: 'CommandName': 'serial-console connect'
cli.azure.cli.core.sdk.policies: 'ParameterSetName': '--name --resource-group --debug'
cli.azure.cli.core.sdk.policies: 'User-Agent': 'AZURECLI/2.86.0 (HOMEBREW) azsdk-python-core/1.39.0 Python/3.13.13 (macOS-15.7.5-arm64-arm-64bit-Mach-O)'
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
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': '74338'
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-original-request-ids': 'ceb751ef-57e5-422a-a1b1-b8b3112bf079'
cli.azure.cli.core.sdk.policies: 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-reads': '249'
cli.azure.cli.core.sdk.policies: 'x-ms-ratelimit-remaining-subscription-global-reads': '3749'
cli.azure.cli.core.sdk.policies: 'x-ms-request-id': '0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'x-ms-correlation-request-id': '0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'x-ms-routing-request-id': 'GERMANYWESTCENTRAL:20260519T124116Z:0f2f5544-6564-40d7-b867-6b136d547729'
cli.azure.cli.core.sdk.policies: 'X-Content-Type-Options': 'nosniff'
cli.azure.cli.core.sdk.policies: 'X-Cache': 'CONFIG_NOCACHE'
cli.azure.cli.core.sdk.policies: 'X-MSEdge-Ref': 'Ref A: DC67045BB43B4BC4BBC5206ECAA66F58 Ref B: FRA261071513029 Ref C: 2026-05-19T12:41:16Z'
cli.azure.cli.core.sdk.policies: 'Date': 'Tue, 19 May 2026 12:41:16 GMT'
cli.azure.cli.core.sdk.policies: Response content:
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 677, in execute
raise ex
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 820, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/homebrew/Cellar/azure-cli/2.86.0/libexec/lib/python3.13/site-packages/azure/cli/core/commands/__init__.py", line 789, in _run_job
result = cmd_copy(params)
File "/opt/homebrew/Cellar/az
... [truncated, original was 20674 chars]

## Comments
### Comment by @yonzhan

Thank you for opening this issue, we will look into it.
<<>>

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.