Azure / Azure/azure-cli

az network bastion tunnel not working on linux

Open
#29,988 3 comments 0 reactions 0 assignees View on GitHub
act-quality-productivity-squad Auto-Assign bug customer-reported Network - Bastion Service Attention
Dominant language
Python
Stars
4.6k
Forks
3.5k
Avg merge
3d 2h
Merged PRs (30d)
60

Description

### Describe the bug

Command `az network bastion tunnel` returns an error on missing parameter '-n' despite it is provided.

The issue was detected running `az cli` version 2.64.0 on Linux host (Fedora 40).

**Issue was solved by removing directory ~/.azure and launching the command again.**

### Related command

The command used is:
`az network bastion tunnel --name bastion --resource-group bastion-rg --target-resource-id id_machine --port 1222 --resource-port 22`

### Errors

The error reported is `InvalidArgumentValue: Missing required field: -n`

### Issue script & Debug output

Outpur of the --debug when running directly on the host:
```
cli.knack.cli: Command arguments: ['network', 'bastion', 'tunnel', '--name', 'bastion', '--resource-group', 'bastion-rg', '--target-resource-id', '/subscriptions/xxxxx/resourceGroups/GATEWAY-RG/providers/Microsoft.Compute/virtualMachines/test', '--port', '1222', '--resource-port', '22', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [, , ]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Command index version or cloud profile is invalid or doesn't match the current command.
cli.azure.cli.core: Command index has been invalidated.
cli.azure.cli.core: No module found from index for '['network', 'bastion', 'tunnel', '--name', 'bastion', '--resource-group', 'bastion-rg', '--target-resource-id', '/subscriptions/xxxxxx/resourceGroups/GATEWAY-RG/providers/Microsoft.Compute/virtualMachines/test', '--port', '1222', '--resource-port', '22', '--debug']'
cli.azure.cli.core: Loading all modules and extensions
cli.azure.cli.core: Discovered command modules: ['acr', 'acs', 'advisor', 'ams', 'apim', 'appconfig', 'appservice', 'aro', 'backup', 'batch', 'batchai', 'billing', 'botservice', 'cdn', 'cloud', 'cognitiveservices', 'compute_recommender', 'config', 'configure', 'consumption', 'container', 'containerapp', 'cosmosdb', 'databoxedge', 'dla', 'dls', 'dms', 'eventgrid', 'eventhubs', 'extension', 'feedback', 'find', 'hdinsight', 'identity', 'interactive', 'iot', 'keyvault', 'kusto', 'lab', 'managedservices', 'maps', 'marketplaceordering', 'monitor', 'mysql', 'netappfiles', 'network', 'policyinsights', 'privatedns', 'profile', 'rdbms', 'redis', 'relay', 'resource', 'role', 'search', 'security', 'servicebus', 'serviceconnector', 'servicefabric', 'signalr', 'sql', 'sqlvm', 'storage', 'synapse', 'util', 'vm']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name Load Time Groups Commands
cli.azure.cli.core: acr 0.051 36 149
cli.azure.cli.core: acs 0.013 14 76
cli.azure.cli.core: advisor 0.001 3 6
cli.azure.cli.core: ams 0.004 22 100
cli.azure.cli.core: apim 0.004 14 69
cli.azure.cli.core: appconfig 0.002 9 47
cli.azure.cli.core: appservice 0.047 79 270
cli.azure.cli.core: aro 0.006 1 10
cli.azure.cli.core: backup 0.003 16 60
cli.azure.cli.core: batch 0.021 34 102
cli.azure.cli.core: batchai 0.002 10 30
cli.azure.cli.core: billing 0.008 19 52
cli.azure.cli.core: botservice 0.003 12 42
cli.azure.cli.core: cdn 0.085 8 50
cli.azure.cli.core: cloud 0.001 1 7
cli.azure.cli.core: cognitiveservices 0.002 10 33
cli.azure.cli.core: compute_recommender 0.002 1 1
cli.azure.cli.core: config 0.001 2 7
cli.azure.cli.core: configure 0.001 2 5
cli.azure.cli.core: consumption 0.011 8 9
cli.azure.cli.core: container 0.006 1 11
cli.azure.cli.core: containerapp 0.058 37 123
cli.azure.cli.core: cosmosdb 0.010 58 199
cli.azure.cli.core: databoxedge 0.004 5 28
cli.azure.cli.core: dla 0.003 23 62
cli.azure.cli.core: dls 0.002 7 41
cli.azure.cli.core: dms 0.001 3 22
cli.azure.cli.core: eventgrid 0.004 25 96
cli.azure.cli.core: eventhubs 0.007 13 19
cli.azure.cli.core: extension 0.001 1 7
cli.azure.cli.core: feedback 0.000 1 2
cli.azure.cli.core: find 0.001 1 1
cli.azure.cli.core: hdinsight 0.004 9 42
cli.azure.cli.core: identity 0.001 2 11
cli.azure.cli.core: interactive 0.000 1 1
cli.azure.cli.core: iot 0.084 19 82
cli.azure.cli.core: keyvault 0.006 20 113
cli.azure.cli.core: kusto 0.001 3 14
cli.azure.cli.core: lab 0.002 11 34
cli.azure.cli.core: managedservices 0.001 3 8
cli.azure.cli.core: maps 0.001 5 13
cli.azure.cli.core: marketplaceordering 0.001 1 2
cli.azure.cli.core: monitor 0.286 18 61
cli.azure.cli.core: mysql 1.638 16 56
cli.azure.cli.core: netappfiles 0.029 8 17
cli.azure.cli.core: network 0.108 117 354
cli.azure.cli.core: policyinsights 0.008 9 17
cli.azure.cli.core: privatedns 0.012 14 60
cli.azure.cli.core: profile 0.001 2 8
cli.azure.cli.core: rdbms 0.076 49 202
cli.azure.cli.core: redis 0.002 7 38
cli.azure.cli.core: relay 0.014 7 8
cli.azure.cli.core: resource 0.010 51 231
cli.azure.cli.core: role 0.003 17 61
cli.azure.cli.core: search 0.004 7 19
cli.azure.cli.core: security 0.007 48 98
cli.azure.cli.core: servicebus 0.005 12 15
cli.azure.cli.core: serviceconnector 0.039 20 309
cli.azure.cli.core: servicefabric 0.008 27 80
cli.azure.cli.core: signalr 0.002 9 34
cli.azure.cli.core: sql 0.011 56 215
cli.azure.cli.core: sqlvm 0.015 4 20
cli.azure.cli.core: storage 0.041 59 273
cli.azure.cli.core: synapse 0.009 54 246
cli.azure.cli.core: util 0.001 3 7
cli.azure.cli.core: vm 0.036 58 233
cli.azure.cli.core: Total (66) 2.832 1222 4718
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name Load Time Groups Commands Directory
cli.azure.cli.core: account 0.003 4 13 /home/xx/.azure/cliextensions/account
cli.azure.cli.core: bastion 0.005 2 9 /home/xx/.azure/cliextensions/bastion
cli.azure.cli.core: ssh 0.009 1 4 /home/xx/.azure/cliextensions/ssh
cli.azure.cli.core: Total (3) 0.017 7 26
cli.azure.cli.core: Loaded 1213 groups, 4744 commands.
cli.azure.cli.core: Updated command index in 0.003 seconds.
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate []
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/xx/.azure/commands/2024-09-26.22-30-51.network_bastion_tunnel.11979.log'.
az_command_data_logger: command args: network bastion tunnel --name {} --resource-group {} --target-resource-id {} --port {} --resource-port {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [.add_subscription_parameter at 0x7f450993bdc0>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [.add_ids_arguments at 0x7f450993be50>, .add_cache_arguments at 0x7f450987a040>, .update_breaking_change_info at 0x7f450987a0d0>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [, , .parse_ids_arguments at 0x7f450993bf70>]
az_command_data_logger: extension name: bastion
az_command_data_logger: extension version: 1.2.0
cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/aaz/_command_ctx.py", line 53, in format_args
self.args._schema._fmt(ctx=self, value=self.args)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/aaz/_arg_fmt.py", line 415, in __call__
raise AAZInvalidArgValueError(
azure.cli.core.aaz.exceptions.AAZInvalidArgValueError: InvalidArgumentValue: Missing required field: -n

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib64/az/lib/python3.9/site-packages/knack/cli.py", line 233, in invoke
cmd_result = self.invocation.execute(args)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 666, in execute
raise ex
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 733, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 703, in _run_job
result = cmd_copy(params)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/__init__.py", line 336, in __call__
return self.handler(*args, **kwargs)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
return op(**command_args)
File "/home/jp/.azure/cliextensions/bastion/azext_bastion/custom.py", line 420, in create_bastion_tunnel
bastion = Show(cli_ctx=cmd.cli_ctx)(command_args={
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/aaz/_command.py", line 155, in __call__
return self._handler(*args, **kwargs)
File "/home/jp/.azure/cliextensions/bastion/azext_bastion/aaz/latest/network/bastion/_show.py", line 32, in _handler
super()._handler(command_args)
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/aaz/_command.py", line 165, in _handler
self.ctx.format_args()
File "/usr/lib64/az/lib/python3.9/site-packages/azure/cli/core/aaz/_command_ctx.py", line 55, in format_args
raise InvalidArgumentValueError(str(err))
azure.cli.core.azclierror.InvalidArgumentValueError: InvalidArgumentValue: Missing required field: -n

cli.azure.cli.core.azclierror: InvalidArgumentValue: Missing required field: -n
az_command_data_logger: InvalidArgumentValue: Missing required field: -n
cli.knack.cli: Event: Cli.PostExecute []
az_command_data_logger: exit code: 1
cli.__main__: Command ran in 3.108 seconds (init: 0.229, invoke: 2.880)
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 3942 in cache file under /home/xx/.azure/telemetry/20240926223051538
telemetry.main: Begin creating telemetry upload process.
telemetry.process: Creating upload process: "/usr/bin/python3.9 /usr/lib64/az/lib/python3.9/site-packages/azure/cli/telemetry/__init__.py /home/xx/.azure /home/jp/.azure/telemetry/20240926223051538"
telemetry.process: Return from creating process 12008
telemetry.main: Finish creating telemetry upload process.
```

### Expected behavior

The command should work.

### Environment Summary

Host is Fedora 40, Linux 6.10.10-200.fc40.x86_64:
```
$ az --version
azure-cli 2.64.0

core 2.64.0
telemetry 1.1.0

Extensions:
account 0.2.5
bastion 1.2.0
ssh 2.0.5

Dependencies:
msal 1.30.0
azure-mgmt-resource 23.1.1

Python location '/usr/bin/python3.9'
Extensions directory '/home/jp/.azure/cliextensions'

Python (Linux) 3.9.20 (main, Sep 9 2024, 00:00:00)
[GCC 14.2.1 20240801 (Red Hat 14.2.1-1)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.
```

### Additional context

It seems that the bug is existing since version 2.62.0.

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.