Describe the bug
I am running an Azure DevOps pipeline, more specifically az deployment group create.
The pipeline fails with a simple ERROR: and no details whatsoever.
I need to pass --debug into Azure CLI in order to get into the details of the error.
DEBUG: cli.knack.prompting: No tty available.
DEBUG: cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 701, in _run_job
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 334, 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 "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 607, in deploy_arm_template_at_resource_group
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 71, in prompt_y_n
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 79, in _prompt_bool
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 28, in verify_is_a_tty
knack.prompting.NoTTYException
As you can see, the Azure CLI finds out there is something missing and will call knack.prompting in order to get user input.
Only then, knack.prompting will call verify_is_a_tty and throws knack.prompting.NoTTYException.
Related command
az deployment group create
Errors
DEBUG: cli.knack.prompting: No tty available.
DEBUG: cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 701, in _run_job
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 334, 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 "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 607, in deploy_arm_template_at_resource_group
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 71, in prompt_y_n
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 79, in _prompt_bool
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 28, in verify_is_a_tty
knack.prompting.NoTTYException
Issue script & Debug output
exec {
& az deployment group create (Get-BicepDeploymentArgs) `
--name $deploymentName `
--resource-group $rg_name `
--template-file $bicepFile `
--parameters `
module=$Module `
environment=$Environment `
enable_ingress=$enable_ingress `
enable_dapr=$enable_dapr `
location=$Location `
tags=$tags `
container=$container `
env=$vars `
--verbose `
--debug `
}
cd D:\a\1\s
$deploymentName: dep-mapapi-2024-06-04-09-04-27
$rg_name: al-tp-rg
$bicepFile: ./modules/_lib/ca/main.bicep
$Module: mapapi
$Environment: dev
$enable_ingress: true
$enable_dapr: true
$Location: swedencentral
$tags: {'Partner':'Amban Nordic Oy','CreatedBy':'fv-az372-492\\vssadministrator','Module':'MAPAPI','Created':'2024-06-04','Environment':'DEV'}
$container: [{'Name':'al-tp-mapapi','Image':'acrcaealtpdevswc.azurecr.io/al-tp-mapapi:refs-pull-110-merge','MinReplicas':2,'MaxReplicas':25,'Cpu':'1.75','Memory':'3.50','Scale':{'Http':{'ConcurrentRequests':200}}}]
$vars: [{'name':'Variable','value':'Value'}]
DEBUG: cli.knack.prompting: No tty available.
DEBUG: cli.azure.cli.core.azclierror: Traceback (most recent call last):
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 701, in _run_job
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 334, 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 "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/resource/custom.py", line 607, in deploy_arm_template_at_resource_group
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 71, in prompt_y_n
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 79, in _prompt_bool
File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/prompting.py", line 28, in verify_is_a_tty
knack.prompting.NoTTYException
Expected behavior
Azure CLI checks if TTY exists when an argument is missing and simply throws an exception with the missing argument name when TTY cannot be found.
Environment Summary
azure-cli 2.60.0 *
core 2.60.0 *
telemetry 1.1.0
Extensions:
azure-devops 1.0.0
Dependencies:
msal 1.28.0
azure-mgmt-resource 23.1.0b2
Additional context
Azure DevOps, ubuntu-latest and windows-latest.
Describe the bug
I am running an Azure DevOps pipeline, more specifically
az deployment group create.The pipeline fails with a simple
ERROR:and no details whatsoever.I need to pass
--debuginto Azure CLI in order to get into the details of the error.As you can see, the Azure CLI finds out there is something missing and will call
knack.promptingin order to get user input.Only then,
knack.promptingwill callverify_is_a_ttyand throwsknack.prompting.NoTTYException.Related command
az deployment group create
Errors
Issue script & Debug output
exec { & az deployment group create (Get-BicepDeploymentArgs) ` --name $deploymentName ` --resource-group $rg_name ` --template-file $bicepFile ` --parameters ` module=$Module ` environment=$Environment ` enable_ingress=$enable_ingress ` enable_dapr=$enable_dapr ` location=$Location ` tags=$tags ` container=$container ` env=$vars ` --verbose ` --debug ` } cd D:\a\1\s $deploymentName: dep-mapapi-2024-06-04-09-04-27 $rg_name: al-tp-rg $bicepFile: ./modules/_lib/ca/main.bicep $Module: mapapi $Environment: dev $enable_ingress: true $enable_dapr: true $Location: swedencentral $tags: {'Partner':'Amban Nordic Oy','CreatedBy':'fv-az372-492\\vssadministrator','Module':'MAPAPI','Created':'2024-06-04','Environment':'DEV'} $container: [{'Name':'al-tp-mapapi','Image':'acrcaealtpdevswc.azurecr.io/al-tp-mapapi:refs-pull-110-merge','MinReplicas':2,'MaxReplicas':25,'Cpu':'1.75','Memory':'3.50','Scale':{'Http':{'ConcurrentRequests':200}}}] $vars: [{'name':'Variable','value':'Value'}]Expected behavior
Azure CLI checks if TTY exists when an argument is missing and simply throws an exception with the missing argument name when TTY cannot be found.
Environment Summary
Additional context
Azure DevOps, ubuntu-latest and windows-latest.