`juju help` output is a bit overwhelming

Bug #1912760 reported by Jonathan Hall
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Fix Released
High
Achilleas Anagnostopoulos

Bug Description

juju 2.9-rc4-genericlinux-amd64

The top-level of `juju help` is a bit overwhelming, with 214 commands. The user experience may be improved by reducing this. A couple possible suggestions:

1. 43 of these commands are listed as Aliases. Can some of these be deprecated?

2. Even for aliases that are deemed important to keep, perhaps they can be omitted from the default help output (maybe with a flag to include them? `juju help --all` or similar?)

3. Many of these commands could potentially be grouped, perhaps into sub-commands. e.g. add-*, list-*, remove-*, set-*, show-*, update-*, upgrade-*. i.e. `juju add-k8s` might become `juju add k8s`, to reduce the top-level help text. For backward compatibility, the legacy commands can remain aliases for the new commands (and ideally hidden from help output by default, as per item 2)

Jonathan Hall (flimzy)
description: updated
Revision history for this message
John A Meinel (jameinel) wrote :

This is what help was supposed to output:

Do you mean "juju help commands" ? `juu help` is reasonably small:
Usage: juju [help] <command>

Summary:
Juju is model & application management software designed to leverage the power
of existing resource pools, particularly cloud-based ones. It has built-in
support for cloud providers such as Amazon EC2, Google GCE, Microsoft
Azure, OpenStack, and Rackspace. It also works very well with MAAS and
LXD. Juju allows for easy installation and management of workloads on a
chosen resource pool.

See https://jujucharms.com/docs/stable/help for documentation.

Common commands:

    add-cloud Adds a user-defined cloud to Juju.
    add-credential Adds or replaces credentials for a cloud.
    add-model Adds a hosted model.
    add-relation Adds a relation between two applications.
    add-unit Adds extra units of a deployed application.
    add-user Adds a Juju user to a controller.
    bootstrap Initializes a cloud environment.
    controllers Lists all controllers.
    deploy Deploys a new application.
    expose Makes an application publicly available over the network.
    models Lists models a user can access on a controller.
    status Displays the current status of Juju, applications, and units.
    switch Selects or identifies the current controller and model.

Example help commands:

    `juju help` This help page
    `juju help commands` Lists all commands
    `juju help deploy` Shows help for command 'deploy'

Revision history for this message
Jonathan Hall (flimzy) wrote :

I get much more than that as output from `juju help` (see attached file for full output).

    $ juju version
    2.9-rc5-genericlinux-amd64
    $ juju help | wc -l
    252

What you describe as the intended output makes a lot more sense to me!

Ian Booth (wallyworld)
Changed in juju:
milestone: none → 2.9-rc6
status: New → Triaged
importance: Undecided → High
Pen Gale (pengale)
Changed in juju:
milestone: 2.9-rc6 → 2.9.1
Changed in juju:
status: Triaged → In Progress
assignee: nobody → Achilleas Anagnostopoulos (achilleasa)
Revision history for this message
Achilleas Anagnostopoulos (achilleasa) wrote :

PR https://github.com/juju/juju/pull/12700 includes a fix for 2.9

Changed in juju:
status: In Progress → Fix Committed
Changed in juju:
milestone: 2.9.1 → 2.9.2
Changed in juju:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.