[Openstack-docs] Automated CLI Reference
Shaun McCance
shaunm at gnome.org
Sun Jan 19 22:33:50 UTC 2014
To what extent could this reuse code from the automated config
reference? Is it also a matter of importing tons of stuff then
introspecting the modules?
--
Shaun
On Fri, 2014-01-17 at 15:52 -0600, Anne Gentle wrote:
> Hi again all,
>
>
> Are we doing any work towards automating a CLI reference?
>
>
> I ask because at the Summit we talked like we wanted it, but I don't
> know if it has an owner.
>
>
> Thanks -
> Anne
>
>
> On Tue, Nov 5, 2013 at 11:46 AM, Anne Gentle <anne at openstack.org>
> wrote:
>
>
>
> On Tue, Nov 5, 2013 at 8:10 AM, Diane Fleming
> <diane.fleming at rackspace.com> wrote:
> Great summary!
>
>
> As for Cli reference, what about doing what we do for
> API ref? Just a web page with list of calls and ref
> info? There really isn't enough info for a book (I
> think).
>
> Yes, that's the idea, automated. The output could certainly
> look nicer than monspaced text. And we'd gather into one
> deliverable so as to avoid the appendix listing at the end of
> both user guides. What do you think?
>
> The CLI reference would be the listings of commands and
> subcommands, once you get to subcommands there may be a
> 100-page book in there. Maybe 200. Think of nova help for
> example. Then the output for nova help boot, which is rather
> large, but nova help add-fixed-ip is just:
> usage: nova add-fixed-ip <server> <network-id>
>
> Add new IP address on a network to server.
>
> Positional arguments:
> <server> Name or ID of server.
> <network-id> Network ID.
>
> Here's the output of nova help:
> usage: nova [--version] [--debug] [--os-cache] [--timings]
> [--timeout <seconds>] [--os-username
> <auth-user-name>]
> [--os-password <auth-password>]
> [--os-tenant-name <auth-tenant-name>]
> [--os-tenant-id <auth-tenant-id>] [--os-auth-url
> <auth-url>]
> [--os-region-name <region-name>] [--os-auth-system
> <auth-system>]
> [--service-type <service-type>] [--service-name
> <service-name>]
> [--volume-service-name <volume-service-name>]
> [--endpoint-type <endpoint-type>]
> [--os-compute-api-version <compute-api-ver>]
> [--os-cacert <ca-certificate>] [--insecure]
> [--bypass-url <bypass-url>]
> <subcommand> ...
>
> Command-line interface to the OpenStack Nova API.
>
> Positional arguments:
> <subcommand>
> absolute-limits Print a list of absolute limits for a
> user
> add-fixed-ip Add new IP address on a network to
> server.
> add-floating-ip Add a floating IP address to a server.
> add-secgroup Add a Security Group to a server.
> agent-create Create new agent build.
> agent-delete Delete existing agent build.
> agent-list List all builds.
> agent-modify Modify existing agent build.
> aggregate-add-host Add the host to the specified
> aggregate.
> aggregate-create Create a new aggregate with the
> specified details.
> aggregate-delete Delete the aggregate.
> aggregate-details Show details of the specified
> aggregate.
> aggregate-list Print a list of all aggregates.
> aggregate-remove-host
> Remove the specified host from the
> specified
> aggregate.
> aggregate-set-metadata
> Update the metadata associated with
> the aggregate.
> aggregate-update Update the aggregate's name and
> optionally
> availability zone.
> availability-zone-list
> List all the availability zones.
> backup Backup a instance by create a 'backup'
> type snapshot.
> boot Boot a new server.
> clear-password Clear password for a server.
> cloudpipe-configure
> Update the VPN IP/port of a cloudpipe
> instance.
> cloudpipe-create Create a cloudpipe instance for the
> given project.
> cloudpipe-list Print a list of all cloudpipe
> instances.
> console-log Get console log output of a server.
> coverage-report Generate coverage report.
> coverage-reset Reset coverage data.
> coverage-start Start Nova coverage reporting.
> coverage-stop Stop Nova coverage reporting.
> credentials Show user credentials returned from
> auth.
> delete Immediately shut down and delete
> specified server(s).
> diagnostics Retrieve server diagnostics.
> dns-create Create a DNS entry for domain, name
> and ip.
> dns-create-private-domain
> Create the specified DNS domain.
> dns-create-public-domain
> Create the specified DNS domain.
> dns-delete Delete the specified DNS entry.
> dns-delete-domain Delete the specified DNS domain.
> dns-domains Print a list of available dns domains.
> dns-list List current DNS entries for domain
> and ip or domain
> and name.
> endpoints Discover endpoints that get returned
> from the
> authenticate services.
> evacuate Evacuate server from failed host to
> specified one.
> fixed-ip-get Retrieve info on a fixed ip.
> fixed-ip-reserve Reserve a fixed IP.
> fixed-ip-unreserve Unreserve a fixed IP.
> flavor-access-add Add flavor access for the given
> tenant.
> flavor-access-list Print access information about the
> given flavor.
> flavor-access-remove
> Remove flavor access for the given
> tenant.
> flavor-create Create a new flavor
> flavor-delete Delete a specific flavor
> flavor-key Set or unset extra_spec for a flavor.
> flavor-list Print a list of available
> 'flavors' (sizes of
> servers).
> flavor-show Show details about the given flavor.
> floating-ip-bulk-create
> Bulk create floating ips by range.
> floating-ip-bulk-delete
> Bulk delete floating ips by range.
> floating-ip-bulk-list
> List all floating ips.
> floating-ip-create Allocate a floating IP for the current
> tenant.
> floating-ip-delete De-allocate a floating IP.
> floating-ip-list List floating ips for this tenant.
> floating-ip-pool-list
> List all floating ip pools.
> get-password Get password for a server.
> get-spice-console Get a spice console to a server.
> get-vnc-console Get a vnc console to a server.
> host-action Perform a power action on a host.
> host-describe Describe a specific host.
> host-list List all hosts by service.
> host-update Update host settings.
> hypervisor-list List hypervisors.
> hypervisor-servers List instances belonging to specific
> hypervisors.
> hypervisor-show Display the details of the specified
> hypervisor.
> hypervisor-stats Get hypervisor statistics over all
> compute nodes.
> hypervisor-uptime Display the uptime of the specified
> hypervisor.
> image-create Create a new image by taking a
> snapshot of a running
> server.
> image-delete Delete specified image(s).
> image-list Print a list of available images to
> boot from.
> image-meta Set or Delete metadata on an image.
> image-show Show details about the given image.
> interface-attach Attach a network interface to an
> instance.
> interface-detach Detach a network interface from an
> instance.
> interface-list List interfaces attached to an
> instance.
> keypair-add Create a new key pair for use with
> instances.
> keypair-delete Delete keypair given by its name.
> keypair-list Print a list of keypairs for a user
> keypair-show Show details about the given keypair.
> list List active servers.
> list-secgroup List Security Group(s) of a server.
> live-migration Migrate running instance to a new
> machine.
> lock Lock a server.
> meta Set or Delete metadata on a server.
> migrate Migrate a server. The new host will be
> selected by the
> scheduler.
> network-associate-host
> Associate host with network.
> network-associate-project
> Associate project with network.
> network-create Create a network.
> network-disassociate
> Disassociate host and/or project from
> the given
> network.
> network-list Print a list of available networks.
> network-show Show details about the given network.
> pause Pause a server.
> quota-class-show List the quotas for a quota class.
> quota-class-update Update the quotas for a quota class.
> quota-defaults List the default quotas for a tenant.
> quota-delete Delete quota for a tenant/user so
> their quota will
> Revert back to default.
> quota-show List the quotas for a tenant/user.
> quota-update Update the quotas for a tenant/user.
> rate-limits Print a list of rate limits for a user
> reboot Reboot a server.
> rebuild Shutdown, re-image, and re-boot a
> server.
> remove-fixed-ip Remove an IP address from a server.
> remove-floating-ip Remove a floating IP address from a
> server.
> remove-secgroup Remove a Security Group from a server.
> rename Rename a server.
> rescue Rescue a server.
> reset-network Reset network of an instance.
> reset-state Reset the state of an instance.
> resize Resize a server.
> resize-confirm Confirm a previous resize.
> resize-revert Revert a previous resize (and return
> to the previous
> VM).
> resume Resume a server.
> root-password Change the root password for a server.
> scrub Delete data associated with the
> project.
> secgroup-add-group-rule
> Add a source group rule to a security
> group.
> secgroup-add-rule Add a rule to a security group.
> secgroup-create Create a security group.
> secgroup-delete Delete a security group.
> secgroup-delete-group-rule
> Delete a source group rule from a
> security group.
> secgroup-delete-rule
> Delete a rule from a security group.
> secgroup-list List security groups for the current
> tenant.
> secgroup-list-rules
> List rules for a security group.
> secgroup-update Update a security group.
> service-disable Disable the service.
> service-enable Enable the service.
> service-list Show a list of all running services.
> Filter by host &
> binary.
> show Show details about the given server.
> ssh SSH into a server.
> start Start a server.
> stop Stop a server.
> suspend Suspend a server.
> unlock Unlock a server.
> unpause Unpause a server.
> unrescue Unrescue a server.
> usage Show usage data for a single tenant.
> usage-list List usage data for all tenants.
> volume-attach Attach a volume to a server.
> volume-create Add a new volume.
> volume-delete Remove a volume.
> volume-detach Detach a volume from a server.
> volume-list List all the volumes.
> volume-show Show details about a volume.
> volume-snapshot-create
> Add a new snapshot.
> volume-snapshot-delete
> Remove a snapshot.
> volume-snapshot-list
> List all the snapshots.
> volume-snapshot-show
> Show details about a snapshot.
> volume-type-create Create a new volume type.
> volume-type-delete Delete a specific flavor
> volume-type-list Print a list of available 'volume
> types'.
> volume-update Update volume attachment.
> x509-create-cert Create x509 cert for a user in tenant.
> x509-get-root-cert Fetch the x509 root cert.
> bash-completion Prints all of the commands and options
> to stdout so
> that the nova.bash_completion script
> doesn't have to
> hard code them.
> help Display help about this program or one
> of its
> subcommands.
> baremetal-interface-add
> Add a network interface to a baremetal
> node.
> baremetal-interface-list
> List network interfaces associated
> with a baremetal
> node.
> baremetal-interface-remove
> Remove a network interface from a
> baremetal node.
> baremetal-node-create
> Create a baremetal node.
> baremetal-node-delete
> Remove a baremetal node and any
> associated interfaces.
> baremetal-node-list
> Print list of available baremetal
> nodes.
> baremetal-node-show
> Show information about a baremetal
> node.
> cell-capacities Get cell capacities for all cells or a
> given cell.
> cell-show Show details of a given cell.
> force-delete Force delete a server.
> restore Restore a soft-deleted server.
> host-evacuate Evacuate all instances from failed
> host to specified
> one.
> host-servers-migrate
> Migrate all instances of the specified
> host to other
> available hosts.
> instance-action Show an action.
> instance-action-list
> List actions on a server.
> list-extensions List all the os-api extensions that
> are available.
> host-meta Set or Delete metadata on all
> instances of a host.
> migration-list Print a list of migrations.
> net Show a network
> net-create Create a network
> net-delete Delete a network
> net-list List networks
>
> Optional arguments:
> --version show program's version number and exit
> --debug Print debugging output
> --os-cache Use the auth token cache.
> --timings Print call timing info
> --timeout <seconds> Set HTTP call timeout (in seconds)
> --os-username <auth-user-name>
> Defaults to env[OS_USERNAME].
> --os-password <auth-password>
> Defaults to env[OS_PASSWORD].
> --os-tenant-name <auth-tenant-name>
> Defaults to env[OS_TENANT_NAME].
> --os-tenant-id <auth-tenant-id>
> Defaults to env[OS_TENANT_ID].
> --os-auth-url <auth-url>
> Defaults to env[OS_AUTH_URL].
> --os-region-name <region-name>
> Defaults to env[OS_REGION_NAME].
> --os-auth-system <auth-system>
> Defaults to env[OS_AUTH_SYSTEM].
> --service-type <service-type>
> Defaults to compute for most actions
> --service-name <service-name>
> Defaults to env[NOVA_SERVICE_NAME]
> --volume-service-name <volume-service-name>
> Defaults to
> env[NOVA_VOLUME_SERVICE_NAME]
> --endpoint-type <endpoint-type>
> Defaults to env[NOVA_ENDPOINT_TYPE] or
> publicURL.
> --os-compute-api-version <compute-api-ver>
> Accepts 1.1 or 3, defaults to
> env[OS_COMPUTE_API_VERSION].
> --os-cacert <ca-certificate>
> Specify a CA bundle file to use in
> verifying a TLS
> (https) server certificate. Defaults
> to env[OS_CACERT]
> --insecure Explicitly allow novaclient to perform
> "insecure" SSL
> (https) requests. The server's
> certificate will not be
> verified against any certificate
> authorities. This
> option should be used with caution.
> --bypass-url <bypass-url>
> Use this API endpoint instead of the
> Service Catalog
>
> See "nova help COMMAND" for help on a specific command.
>
> Here's the output for nova help boot:
> usage: nova boot [--flavor <flavor>] [--image <image>]
> [--image-with <key=value>] [--boot-volume
> <volume_id>]
> [--snapshot <snapshot_id>] [--num-instances
> <number>]
> [--meta <key=value>] [--file
> <dst-path=src-path>]
> [--key-name <key-name>] [--user-data
> <user-data>]
> [--availability-zone <availability-zone>]
> [--security-groups <security-groups>]
> [--block-device-mapping <dev-name=mapping>]
> [--block-device key1=value1[,key2=value2...]]
> [--swap <swap_size>]
> [--ephemeral size=<size>[,format=<format>]]
> [--hint <key=value>]
> [--nic
> <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid>]
> [--config-drive <value>] [--poll]
> <name>
>
> Boot a new server.
>
> Positional arguments:
> <name> Name for the new server
>
> Optional arguments:
> --flavor <flavor> Name or ID of flavor (see 'nova
> flavor-list').
> --image <image> Name or ID of image (see 'nova
> image-list').
> --image-with <key=value>
> Image metadata property (see 'nova
> image-show').
> --boot-volume <volume_id>
> Volume ID to boot from.
> --snapshot <snapshot_id>
> Sapshot ID to boot from (will create a
> volume).
> --num-instances <number>
> boot multi instances at a time
> (limited by quota).
> --meta <key=value> Record arbitrary key/value metadata
> to /meta.js on the
> new server. Can be specified multiple
> times.
> --file <dst-path=src-path>
> Store arbitrary files from <src-path>
> locally to <dst-
> path> on the new server. You may store
> up to 5 files.
> --key-name <key-name>
> Key name of keypair that should be
> created earlier
> with the command keypair-add
> --user-data <user-data>
> user data file to pass to be exposed
> by the metadata
> server.
> --availability-zone <availability-zone>
> The availability zone for instance
> placement.
> --security-groups <security-groups>
> Comma separated list of security group
> names.
> --block-device-mapping <dev-name=mapping>
> Block device mapping in the format
> <dev-
>
> name>=<id>:<type>:<size(GB)>:<delete-on-terminate>.
> --block-device key1=value1[,key2=value2...]
> Block device mapping with the keys:
> id=image_id,
> snapshot_id or volume_id,
> source=source type (image,
> snapshot, volume or blank),
> dest=destination type of
> the block device (volume or local),
> bus=device's bus,
> device=name of the device (e.g. vda,
> xda, ...),
> size=size of the block device in GB,
> format=device
> will be formatted (e.g. swap, ext3,
> ntfs, ...),
> bootindex=integer used for ordering
> the boot disks,
> type=device type (e.g. disk,
> cdrom, ...) and
> shutdown=shutdown behaviour (either
> preserve or
> remove).
> --swap <swap_size> Create and attach a local swap block
> device of
> <swap_size> MB.
> --ephemeral size=<size>[,format=<format>]
> Create and attach a local ephemeral
> block device of
> <size> GB and format it to <format>.
> --hint <key=value> Send arbitrary key/value pairs to the
> scheduler for
> custom use.
> --nic
> <net-id=net-uuid,v4-fixed-ip=ip-addr,port-id=port-uuid>
> Create a NIC on the server. Specify
> option multiple
> times to create multiple NICs. net-id:
> attach NIC to
> network with this UUID (required if no
> port-id), v4
> -fixed-ip: IPv4 fixed address for NIC
> (optional),
> port-id: attach NIC to port with this
> UUID (required
> if no net-id)
> --config-drive <value>
> Enable config drive
> --poll Blocks while instance builds so
> progress can be
> reported.
>
>
>
>
>
>
> As for horizon screenshots, do we need them? That GUI
> is not that complicated and screenshots are a pain to
> maintain (automated or not). A better project might
> be to add some online help to the GUI itself?
>
>
> I'll see if Summer can comment further. Workflows were a bit
> deal to Horizon and there's plenty we're not documenting that
> you can do in the Dashboard. I see this as just a research
> spike in viability.
>
> Thanks -
> Anne
>
>
>
>
> Thanks Anne (and all)!
>
> Sent from my iPhone
>
> On Nov 5, 2013, at 3:25 AM, "Anne Gentle"
> <anne at openstack.org> wrote:
>
>
> > Hi all,
> >
> > The first four docs discussions are done and we've
> > got some decisions we want to bring to the group.
> > Ideally these decisions will stick for the Icehouse
> > time frame, the next six months. Tom, Summer,
> > Stephen, and I were here but we want to be sure we
> > came to the same conclusions on our own that our
> > larger group would have as well.
> >
> >
> > Doc automation:
> >
> > - We want to set up a doctools repo just for doc
> > tools like the automation tools and gate tests.
> > Should help with translation tools also. Open to ITS
> > use.
> >
> > - Config items automation - Oslo will likely change
> > enough this release that our tool needs to change as
> > well.
> > - CLI reference automation - part of the restructure
> > discussion uncovered a need to streamline the Config
> > ref to reference only, and also create a CLI
> > reference for CLI reference only. We want to
> > prioritize automating this as highly as config
> > automation.
> > - API doc automation - still under discussion, stay
> > tuned after this Friday.
> > - RST to XML workflow for training guides - Sean
> > wants to filter the dev doc further.
> >
> > - Ceilometer has tables they auto-generate in their
> > dev docs that they want to bring into
> > openstack-manuals.
> >
> > - Horizon workflows: Summer had a great idea to
> > automate screen captures of common workflows in the
> > dashboard. This work would be great to do in the
> > coming release, Summer is going to do a research
> > spike into tooling.
> >
> >
> >
> > Restructure:
> >
> > Despite the tradeoff that we have to re-communicate
> > some more moves to all the teams, we want to trim
> > the configuration reference down to just listings of
> > options, no how-to or explanatory information. Move
> > this type of info to the Cloud Admin Guide. Are we
> > good with this plan for Icehouse?
> >
> > Pull out CLI reference info from the end-user guide
> > and admin user guide, put into a CLI reference that
> > goes to the submenu level. Sound good?
> >
> >
> > Install guide (always seems to be a topic of its
> > own):
> > - Continue with current guide, maintain and update
> > for icehouse.
> >
> > - Look for 2-3 more resources to help with install
> > guides.
> >
> > - Push for a real big testing drive a month before
> > release instead of 2 weeks.
> >
> >
> >
> > Any questions? If you're not here, we sure wish you
> > were here!
> >
> >
> > As a side note, here are some pics from our women of
> > OpenStack boat outing last night on the harbor. The
> > grey fog was everywhere and we couldn't go on deck
> > it was just too wet. But the buildings lighting up
> > are amazing here, you can hardly capture the sights
> > in photos.
> > http://flic.kr/s/aHsjLUoHM2
> >
> > Here's the one sightseeing day I've had so far,
> > going on a "crystal bottom" cable car ride to get to
> > a big Buddha statue with a monastery nearby.
> > http://flic.kr/s/aHsjLWowHf
> >
> >
> > Anne
> >
> > _______________________________________________
> > Openstack-docs mailing list
> > Openstack-docs at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
> >
>
>
>
>
> _______________________________________________
> Openstack-docs mailing list
> Openstack-docs at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-docs
More information about the Openstack-docs
mailing list