Skip to content

Failure to login when using a socks5 proxy. #17211

@csm10495

Description

@csm10495

This is autogenerated. Please review and update as needed.

Describe the bug

After enabling a socks5 proxy via https_proxy, az login raises an error.

Command Name
az login

Errors:

'_socks_options'
Traceback (most recent call last):
python3.8/site-packages/knack/cli.py, ln 233, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 660, in execute
    raise ex
cli/core/commands/__init__.py, ln 723, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 716, in _run_job
    six.reraise(*sys.exc_info())
lib/python3.8/site-packages/six.py, ln 703, in reraise
    raise value
...
python3.8/site-packages/urllib3/connectionpool.py, ln 279, in _get_conn
    return conn or self._new_conn()
python3.8/site-packages/urllib3/connectionpool.py, ln 955, in _new_conn
    conn = self.ConnectionCls(
site-packages/urllib3/contrib/socks.py, ln 75, in __init__
    self._socks_options = kwargs.pop("_socks_options")
KeyError: '_socks_options'

To Reproduce:

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

  • Put any pre-requisite steps here...
  • I install pysocks (via pip) then I create an ssh proxy:
    ssh -D 9999 <HOST> -N
  • export https_proxy:
    export https_proxy=socks5h://localhost:9999

and try an az login with an SPN, password, tenant

  • az login --service-principal -u {} -p {} --tenant {}

Expected Behavior

Login works successfully.

Environment Summary

macOS-10.16-x86_64-i386-64bit
Python 3.8.8
Installer: HOMEBREW

azure-cli 2.20.0

Extensions:
storage-preview 0.2.10

Additional Context

Full log:

The command failed with an unexpected error. Here is the traceback:
'_socks_options'
Traceback (most recent call last):
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 660, in execute
    raise ex
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 723, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 716, in _run_job
    six.reraise(*sys.exc_info())
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/six.py", line 703, in reraise
    raise value
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 694, in _run_job
    result = cmd_copy(params)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/commands/__init__.py", line 331, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/__init__.py", line 808, in default_command_handler
    return op(**command_args)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/command_modules/profile/custom.py", line 154, in login
    subscriptions = profile.find_subscriptions_on_login(
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/_profile.py", line 210, in find_subscriptions_on_login
    subscriptions = subscription_finder.find_from_service_principal_id(
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/_profile.py", line 905, in find_from_service_principal_id
    result = self._find_using_specific_tenant(tenant, token_entry[_ACCESS_TOKEN])
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/_profile.py", line 1002, in _find_using_specific_tenant
    for s in subscriptions:
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/paging.py", line 129, in __next__
    return next(self._page_iterator)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/paging.py", line 76, in __next__
    self._response = self._get_next(self.continuation_token)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/cli/core/vendored_sdks/subscriptions/v2019_11_01/operations/_subscriptions_operations.py", line 224, in get_next
    pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 211, in run
    return first_node.send(pipeline_request)  # type: ignore
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/mgmt/core/policies/_base.py", line 47, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 1 more time]
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/policies/_redirect.py", line 158, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/policies/_retry.py", line 435, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 2 more times]
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/_base.py", line 103, in send
    self._sender.send(request.http_request, **request.context.options),
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/azure/core/pipeline/transport/_requests_basic.py", line 260, in send
    response = self.session.request(  # type: ignore
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 659, in urlopen
    conn = self._get_conn(timeout=pool_timeout)
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 279, in _get_conn
    return conn or self._new_conn()
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 955, in _new_conn
    conn = self.ConnectionCls(
  File "/usr/local/Cellar/azure-cli/2.20.0/libexec/lib/python3.8/site-packages/urllib3/contrib/socks.py", line 75, in __init__
    self._socks_options = kwargs.pop("_socks_options")
KeyError: '_socks_options'
To open an issue, please run: 'az feedback'

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions