azure-cli: `az network vnet-gateway vpn-client show-url` unhandled exception
Describe the bug
Command Name
az network vnet-gateway vpn-client show-url
Errors:
'str' object has no attribute 'get'
Traceback (most recent call last):
python3.7/site-packages/knack/cli.py, ln 206, in invoke
cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 578, in execute
raise ex
cli/core/commands/__init__.py, ln 636, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 629, in _run_job
six.reraise(*sys.exc_info())
...
site-packages/msrestazure/polling/arm_polling.py, ln 262, in get_status_from_resource
status = self._get_provisioning_state(response)
site-packages/msrestazure/polling/arm_polling.py, ln 186, in _get_provisioning_state
return body.get("properties", {}).get("provisioningState")
AttributeError: 'str' object has no attribute 'get'
To Reproduce:
Steps to reproduce the behavior:
- Create a VPN gateway, run
az network vpn-gateway vpn-client generate -g xxx -n yyy
- Run
az network vnet-gateway vpn-client show-url -g xxx -n yyy
Expected Behavior
Don’t fail with an unhandled exception.
Environment Summary
Darwin-18.6.0-x86_64-i386-64bit
Python 3.7.4
Shell: bash
azure-cli 2.0.69 *
Extensions:
aks-preview 0.4.6
Additional Context
About this issue
- Original URL
- State: open
- Created 5 years ago
- Comments: 26 (14 by maintainers)
Right, but I explicitly said that packaging is still a problem. And silently closing issues is not healthy by itself, there has to be some resolution of the problem, at least for the future readers.
Yes, I’m on OSX (10.14.5, to be precise, but it doesn’t matter - the same problem is on linux as well). poetry is a modern python packaging tool (similar to pipenv but much, much better) which includes a real dependency resolver, while pip doesn’t have one. This problem is not because of homebrew, but because your giant dependency tree isn’t really resolvable. Specific packages have specific requirements that cannot be satisfied. This is not a problem when installing with pip, because pip doesn’t really care about versions constraints of the whole dependency tree. It will happily install the version it sees first. So for example, your package depends on C and B, package C depends on package A v1.0, package B depends on package A v2.0. If you list the requirement on C first, then A v1.0 will be installed. If you list the requirement on B first, then A v2.0 will be installed.