Azure / azure-cli

Azure Command-Line Interface
MIT License
3.99k stars 2.98k forks source link

Major Regression: Many Commands Now Missing #7499

Closed apeschel closed 5 years ago

apeschel commented 6 years ago

Describe the bug At least 2.0.46 and 2.0.45 are missing many sub-commands that existed in 2.0.42. It's not clear which version this regression occured in. This was noticed with the az aks commands specifically.

To Reproduce Run az aks on either v2.0.45 or 2.0.46, an error will return.

Run az help on v2.0.45 or 2.0.46 vs v2.0.42 to see a much shorter list of available sub-commands.

v2.0.46

az help | wc -l
      31

v2.0.42

az help | wc -l
      69

Expected behavior az aks sub-system responds.

Full list of sub-commands remains available.

Environment summary Install Method: Homebrew

Additional context I'm assuming this change was not intentional, since it is a major breaking change with only a bug-fix version bump, and no documentation to support it.

tjprescott commented 6 years ago

Please try running: brew uninstall azure-cli && brew install azure-cli

If it still fails, please provide the output of az --version

apeschel commented 6 years ago

@tjprescott

Ran brew uninstall azure-cli && brew install azure-cli as requested. The problem still remains.

azure-cli (2.0.47)

acr (2.1.6)
acs (2.3.6)
advisor (0.6.0)
ams (0.2.3)
appservice (0.2.5)
backup (1.2.1)
batch (3.4.0)
batchai (0.4.3)
billing (0.2.0)
botservice (0.1.1)
cdn (0.1.1)
cloud (2.1.0)
cognitiveservices (0.2.3)
command-modules-nspkg (2.0.2)
configure (2.0.18)
consumption (0.4.0)
container (0.3.5)
core (2.0.47)
cosmosdb (0.2.1)
dla (0.2.3)
dls (0.1.3)
dms (0.1.1)
eventgrid (0.2.0)
eventhubs (0.3.0)
extension (0.2.2)
feedback (2.1.4)
find (0.2.12)
hdinsight (0.1.0)
interactive (0.3.30)
iot (0.3.3)
iotcentral (0.1.2)
keyvault (2.2.4)
lab (0.1.1)
maps (0.3.2)
monitor (0.2.4)
network (2.2.6)
nspkg (3.0.3)
policyinsights (0.1.0)
profile (2.1.1)
rdbms (0.3.2)
redis (0.3.2)
relay (0.1.2)
reservations (0.4.0)
resource (2.1.4)
role (2.1.7)
search (0.1.1)
servicebus (0.3.0)
servicefabric (0.1.4)
signalr (1.0.0)
sql (2.1.4)
storage (2.2.2)
telemetry (1.0.0)
vm (2.2.4)

Python location '/usr/local/opt/python/bin/python3.7'
Extensions directory '/Users/apeschel/.azure/cliextensions'

Python (Darwin) 3.7.0 (default, Jun 29 2018, 20:13:13) 
[Clang 9.1.0 (clang-902.0.39.2)]

Legal docs and information: aka.ms/AzureCliLegal

Command list:


     /\
    /  \    _____   _ _  ___ _
   / /\ \  |_  / | | | \'__/ _\
  / ____ \  / /| |_| | | |  __/
 /_/    \_\/___|\__,_|_|  \___|

Welcome to the cool new Azure CLI!

Use `az --version` to display the current version.
Here are the base commands:

    account     : Manage Azure subscription information.
    ad          : Manage Azure Active Directory Graph entities needed for Role Based Access Control.
    cloud       : Manage registered Azure clouds.
    configure   : Manage Azure CLI configuration. This command is interactive.
    extension   : Manage and update CLI extensions.
    feedback    : Send feedback to the Azure CLI Team!
    find        : Find Azure CLI commands.
    group       : Manage resource groups and template deployments.
    hdinsight   : Manage HDInsight clusters.
    interactive : Start interactive mode.
    keyvault    : Manage KeyVault keys, secrets, and certificates.
    lock        : Manage Azure locks.
    login       : Log in to Azure.
    logout      : Log out to remove access to Azure subscriptions.
    network     : Manage Azure Network resources.
    policy      : Manage resource policies.
    provider    : Manage resource providers.
    resource    : Manage Azure resources.
    role        : Manage user roles for access control with Azure Active Directory and service
                 principals.
    storage     : Manage Azure Cloud Storage resources.
    tag         : Manage resource tags.
    vm          : Manage Linux or Windows virtual machines.
    vmss        : Manage groupings of virtual machines in an Azure Virtual Machine Scale Set (VMSS).
tjprescott commented 6 years ago

What output do you get with az aks -h?

apeschel commented 6 years ago
ERROR: az: 'aks' is not in the 'az' command group. See 'az --help'.
apeschel commented 6 years ago

@tjprescott I am on MacOS X High Sierra 10.13.6. I was able to confirm a coworker on High Sierra also has the same problem. However, a coworker on Mojave does not have this problem, so this may be specific to the High Sierra release.

tjprescott commented 6 years ago

My dev machine is also High Sierra 10.13.6 and I don't experience this, so there must be something else going on. While I can't repro your specific issue yet, I'm actively investigating #7559 so that might address some of the problem.

apeschel commented 5 years ago

Upgraded to Mojave and upgraded to the latest homebrew release and this continues to be a problem.

tjprescott commented 5 years ago

Please contact me at trpresco at microsoft.com and include the results of running az -h --debug

apeschel commented 5 years ago

@tjprescott email sent

apeschel commented 5 years ago

@tjprescott Hello, still haven't heard back on the email. This still continues to be a problem for the CLI toolset, unfortunately.

tjprescott commented 5 years ago

After more investigation, the issue was that, in version 2.0.43, many command modules that aren't supported on older profiles were updated so that they would not appear unless on profile 'latest'. After switching back to 'latest' the commands were present.