azure-devops-cli-extension: az devops login fails with "InitError: Failed to create the collection: Prompt dismissed.."

Describe the bug

Command Name az devops login Extension Name: azure-devops. Version: 0.12.0.

Errors:

The command failed with an unexpected error. Here is the traceback:


Failed to create the collection: Prompt dismissed..
Traceback (most recent call last):
  File "/usr/lib64/az/lib/python2.7/site-packages/knack/cli.py", line 206, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib64/az/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 603, in execute
    raise ex
InitError: Failed to create the collection: Prompt dismissed..

To Reproduce:

Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

  • az devops login

Expected Behavior

Perform a successful login

Environment Summary

Linux-5.0.16-100.fc28.x86_64-x86_64-with-fedora-28-Twenty_Eight
Python 2.7.15
Shell: bash

azure-cli 2.0.71

Extensions:
azure-devops 0.12.0

Additional Context

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 18 (5 by maintainers)

Most upvoted comments

Hi All, I am having the same issue when i try to login into azure devops using az devops login --org https://dev.azure.com/{ORGNAME} From within azcli container…But its working locally…Any additional changes needs to be done in the container?? This is the ouput.

Failed to store PAT using keyring; falling back to file storage. You can clear the stored credential by running az devops logout. Refer https://aka.ms/azure-devops-cli-auth to know more on sign in with PAT.

`bash-5.0# az --version azure-cli 2.14.0

core 2.14.0 telemetry 1.0.6

Extensions: azure-devops 0.18.0

Python location ‘/usr/local/bin/python’ Extensions directory ‘/root/.azure/cliextensions’

Python (Linux) 3.6.10 (default, May 21 2020, 05:54:39) [GCC 9.2.0]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Please let us know how we are doing: https://aka.ms/azureclihats and let us know if you’re interested in trying out our newest features: https://aka.ms/CLIUXstudy`

@BenjaminHerbert : This error is coming from keyring library which we use for credentials management. Will need some more information please run

  1. pip uninstall keyring (this might fail, ignore failure)
  2. pip install keyring~=17.1.1

Then in a file named something like temp.py add this code

import keyring

def _only_builtin(backend):
    return (
        backend.__module__.startswith('keyring.backends.') and
        'chain' not in backend.__module__
    )

keyring.core.init_backend(_only_builtin)
print('Keyring backend : %s', keyring.get_keyring())

old_token = keyring.get_password('fake key', 'Personal Access Token')
if old_token is not None:
    keyring.delete_password('fake key', 'Personal Access Token')
keyring.set_password('fake key', 'Personal Access Token', 'fake token')

Try running this file using python temp.py Let us know if temp.py is working fine or not and share error in case of any

cc: @ishitam8