diff options
| -rw-r--r-- | doc/source/cli/command-objects/availability-zone.rst | 31 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/configuration.rst | 23 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/extension.rst | 52 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/limits.rst | 34 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/project-purge.rst | 35 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/quota.rst | 271 | ||||
| -rw-r--r-- | doc/source/cli/command-objects/versions.rst | 47 | ||||
| -rw-r--r-- | openstackclient/common/quota.py | 42 | ||||
| -rw-r--r-- | openstackclient/common/versions.py | 15 |
9 files changed, 56 insertions, 494 deletions
diff --git a/doc/source/cli/command-objects/availability-zone.rst b/doc/source/cli/command-objects/availability-zone.rst index d4c117a0..bdc64f15 100644 --- a/doc/source/cli/command-objects/availability-zone.rst +++ b/doc/source/cli/command-objects/availability-zone.rst @@ -7,32 +7,5 @@ compute and network services. Block Storage v2, Compute v2, Network v2 -availability zone list ----------------------- - -List availability zones and their status - -.. program availability zone list -.. code:: bash - - openstack availability zone list - [--compute] - [--network] - [--volume] - [--long] - -.. option:: --compute - - List compute availability zones - -.. option:: --network - - List network availability zones - -.. option:: --volume - - List volume availability zones - -.. option:: --long - - List additional fields in output +.. autoprogram-cliff:: openstack.common + :command: availability zone list diff --git a/doc/source/cli/command-objects/configuration.rst b/doc/source/cli/command-objects/configuration.rst index 6e704d2d..22fd13e4 100644 --- a/doc/source/cli/command-objects/configuration.rst +++ b/doc/source/cli/command-objects/configuration.rst @@ -6,24 +6,5 @@ Available for all services .. _configuration-show: -configuration show ------------------- - -Show the current openstack client configuration. This command is a little -different from other show commands because it does not take a resource name -or id to show. The command line options, such as --os-cloud, can be used to -show different configurations. - -.. program:: configuration show -.. code:: bash - - openstack configuration show - [--mask | --unmask] - -.. option:: --mask - - Attempt to mask passwords (default) - -.. option:: --unmask - - Show password in clear text +.. autoprogram-cliff:: openstack.common + :command: configuration show diff --git a/doc/source/cli/command-objects/extension.rst b/doc/source/cli/command-objects/extension.rst index 36cf418b..1002a5ff 100644 --- a/doc/source/cli/command-objects/extension.rst +++ b/doc/source/cli/command-objects/extension.rst @@ -5,54 +5,6 @@ extension Many OpenStack server APIs include API extensions that enable additional functionality. -extension list --------------- -List API extensions - -.. program:: extension list -.. code:: bash - - openstack extension list - [--compute] - [--identity] - [--network] - [--volume] - [--long] - -.. option:: --compute - - List extensions for the Compute API - -.. option:: --identity - - List extensions for the Identity API - -.. option:: --network - - List extensions for the Network API - -.. option:: --volume - - List extensions for the Block Storage API - -.. option:: --long - - List additional fields in output - -extension show --------------- - -Show API extension - -.. program:: extension show -.. code:: bash - - openstack extension show - <extension> - -.. _extension_show: -.. describe:: <extension> - - Extension to display. Currently, only network extensions are supported. - (Name or Alias) +.. autoprogram-cliff:: openstack.common + :command: extension * diff --git a/doc/source/cli/command-objects/limits.rst b/doc/source/cli/command-objects/limits.rst index 92614209..3a0f99b3 100644 --- a/doc/source/cli/command-objects/limits.rst +++ b/doc/source/cli/command-objects/limits.rst @@ -6,36 +6,6 @@ The Compute and Block Storage APIs have resource usage limits. Compute v2, Block Storage v1 -limits show ------------ -Show compute and block storage limits - -.. program:: limits show -.. code:: bash - - openstack limits show - --absolute | --rate - [--reserved] - [--project <project>] - [--domain <domain>] - -.. option:: --absolute - - Show absolute limits - -.. option:: --rate - - Show rate limits - -.. option:: --reserved - - Include reservations count [only valid with :option:`--absolute`] - -.. option:: --project <project> - - Show limits for a specific project (name or ID) [only valid with :option:`--absolute`] - -.. option:: --domain <domain> - - Domain the project belongs to (name or ID) [only valid with :option:`--absolute`] +.. autoprogram-cliff:: openstack.common + :command: limits * diff --git a/doc/source/cli/command-objects/project-purge.rst b/doc/source/cli/command-objects/project-purge.rst index 0ad0bbf9..8f10a774 100644 --- a/doc/source/cli/command-objects/project-purge.rst +++ b/doc/source/cli/command-objects/project-purge.rst @@ -6,37 +6,6 @@ Clean resources associated with a specific project. Block Storage v1, v2; Compute v2; Image v1, v2 -project purge -------------- - -Clean resources associated with a project - -.. program:: project purge -.. code:: bash - - openstack project purge - [--dry-run] - [--keep-project] - [--auth-project | --project <project>] - [--project-domain <project-domain>] - -.. option:: --dry-run - - List a project's resources - -.. option:: --keep-project - - Clean project resources, but don't delete the project. - -.. option:: --auth-project - - Delete resources of the project used to authenticate - -.. option:: --project <project> - - Project to clean (name or ID) - -.. option:: --project-domain <project-domain> - Domain the project belongs to (name or ID). This can be - used in case collisions between project names exist. +.. autoprogram-cliff:: openstack.common + :command: project purge diff --git a/doc/source/cli/command-objects/quota.rst b/doc/source/cli/command-objects/quota.rst index 25d0188a..cab12652 100644 --- a/doc/source/cli/command-objects/quota.rst +++ b/doc/source/cli/command-objects/quota.rst @@ -7,272 +7,5 @@ single object with multiple properties. Block Storage v1, v2, Compute v2, Network v2 -quota list ----------- - -List quotas for all projects with non-default quota values - -.. program:: quota list -.. code:: bash - - openstack quota list - --compute | --network | --volume - [--project <project>] - [--detail] - -.. option:: --network - - List network quotas - -.. option:: --compute - - List compute quotas - -.. option:: --volume - - List volume quotas - -.. option:: --project <project> - - List quotas for this project <project> (name or ID) - -.. option:: --detail - - Show details about quotas usage - -quota set ---------- - -Set quotas for project - -.. program:: quota set -.. code:: bash - - openstack quota set - # Compute settings - [--cores <num-cores>] - [--fixed-ips <num-fixed-ips>] - [--floating-ips <num-floating-ips>] - [--injected-file-size <injected-file-bytes>] - [--injected-files <num-injected-files>] - [--instances <num-instances>] - [--key-pairs <num-key-pairs>] - [--properties <num-properties>] - [--ram <ram-mb>] - [--server-groups <num-server-groups>] - [--server-group-members <num-server-group-members>] - - # Block Storage settings - [--backups <new-backups>] - [--backup-gigabytes <new-backup-gigabytes>] - [--gigabytes <new-gigabytes>] - [--per-volume-gigabytes <new-per-volume-gigabytes>] - [--snapshots <new-snapshots>] - [--volumes <new-volumes>] - [--volume-type <volume-type>] - - # Network settings - [--floating-ips <num-floatingips>] - [--secgroup-rules <num-security-group-rules>] - [--secgroups <num-security-groups>] - [--networks <num-networks>] - [--subnets <num-subnets>] - [--ports <num-ports>] - [--routers <num-routers>] - [--rbac-policies <num-rbac-policies>] - [--subnetpools <num-subnetpools>] - - <project> - -Set quotas for class - -.. code:: bash - - openstack quota set - --class - # Compute settings - [--cores <num-cores>] - [--fixed-ips <num-fixed-ips>] - [--floating-ips <num-floating-ips>] - [--injected-file-size <injected-file-bytes>] - [--injected-files <num-injected-files>] - [--instances <num-instances>] - [--key-pairs <num-key-pairs>] - [--properties <num-properties>] - [--ram <ram-mb>] - [--server-groups <num-server-groups>] - [--server-group-members <num-server-group-members>] - - # Block Storage settings - [--backups <new-backups>] - [--backup-gigabytes <new-backup-gigabytes>] - [--gigabytes <new-gigabytes>] - [--per-volume-gigabytes <new-per-volume-gigabytes>] - [--snapshots <new-snapshots>] - [--volumes <new-volumes>] - - <class> - -.. option:: --class - - Set quotas for ``<class>`` - -.. option:: --properties <new-properties> - - New value for the properties quota - -.. option:: --ram <new-ram> - - New value for the ram quota - -.. option:: --secgroup-rules <new-secgroup-rules> - - New value for the secgroup-rules quota - -.. option:: --instances <new-instances> - - New value for the instances quota - -.. option:: --key-pairs <new-key-pairs> - - New value for the key-pairs quota - -.. option:: --fixed-ips <new-fixed-ips> - - New value for the fixed-ips quota - -.. option:: --secgroups <new-secgroups> - - New value for the secgroups quota - -.. option:: --injected-file-size <new-injected-file-size> - - New value for the injected-file-size quota - -.. option:: --server-groups <new-server-groups> - - New value for the server-groups quota - -.. option:: --server-group-members <new-server-group-members> - - New value for the server-group-members quota - -.. option:: --floating-ips <new-floating-ips> - - New value for the floating-ips quota - -.. option:: --injected-files <new-injected-files> - - New value for the injected-files quota - -.. option:: --cores <new-cores> - - New value for the cores quota - -.. option:: --injected-path-size <new-injected-path-size> - - New value for the injected-path-size quota - -.. option:: --backups <new-backups> - - New value for the backups quota - -.. option:: --backup-gigabytes <new-backup-gigabytes> - - New value for the backup gigabytes quota - -.. option:: --gigabytes <new-gigabytes> - - New value for the gigabytes quota - -.. option:: --per-volume-gigabytes <new-per-volume-gigabytes> - - New value for the gigabytes quota of per volume - -.. option:: --volumes <new-volumes> - - New value for the volumes quota - -.. option:: --snapshots <new-snapshots> - - New value for the snapshots quota - -.. option:: --volume-type <volume-type> - - Set quotas for a specific <volume-type>. The supported quotas are: - gigabytes, snapshots, volumes. - -.. option:: --networks <num-networks> - - New value for the networks quota - -.. option:: --subnets <num-subnets> - - New value for the subnets quota - -.. option:: --ports <num-ports> - - New value for the ports quota - -.. option:: --routers <num-routers> - - New value for the routers quota - -.. option:: --rbac-policies <num-rbac-policies> - - New value for the rbac-policies quota - -.. option:: --vips <num-vips> - - New value for the vips quota - -.. option:: --subnetpools <num-subnetpools> - - New value for the subnetpools quota - -.. option:: --members <num-members> - - New value for the members quota - -.. option:: --health-monitors <num-health-monitors> - - New value for the health-monitors quota - -quota show ----------- - -Show quotas for project or class. Specify ``--os-compute-api-version 2.50`` or -higher to see ``server-groups`` and ``server-group-members`` output for a given -quota class. - -.. program:: quota show -.. code:: bash - - openstack quota show - [--default] - [<project>] - - -.. option:: --default - - Show default quotas for :ref:`\<project\> <quota_show-project>` - -.. _quota_show-project: -.. describe:: <project> - - Show quotas for this project (name or ID) - -.. code:: bash - - openstack quota show - --class - [<class>] - -.. option:: --class - - Show quotas for :ref:`\<class\> <quota_show-class>` - -.. _quota_show-class: -.. describe:: <class> - - Show quotas for this class (name or ID) +.. autoprogram-cliff:: openstack.common + :command: quota * diff --git a/doc/source/cli/command-objects/versions.rst b/doc/source/cli/command-objects/versions.rst index 0aa9a1b7..ebebec19 100644 --- a/doc/source/cli/command-objects/versions.rst +++ b/doc/source/cli/command-objects/versions.rst @@ -4,48 +4,5 @@ versions Get a list of every version of every service in a given cloud. -versions show -------------- - -Show service versions: - -.. program:: versions show -.. code:: bash - - openstack versions show - [--all-interfaces] - [--interface <interface>] - [--region-name <region-name>] - [--service <service>] - [--status <status>] - -.. option:: --all-interfaces - - Return results for every interface of every service. - [Mutually exclusive with --interface] - -.. option:: --interface <interface> - - Limit results to only those on given interface. - [Default 'public'. Mutually exclusive with --all-interfaces] - -.. option:: --region-name <region-name> - - Limit results to only those from a given region. - -.. option:: --service <service> - - Limit results to only those for service. The argument should be either - an exact match to what is in the catalog or a known official value or - alias from `service-types-authority`_. - -.. option:: --status <status> - - Limit results to only those in the given state. Valid values are: - - - SUPPORTED - - CURRENT - - DEPRECATED - - EXPERIMENTAL - -.. _service-types-authority: https://service-types.openstack.org/ +.. autoprogram-cliff:: openstack.common + :command: versions show diff --git a/openstackclient/common/quota.py b/openstackclient/common/quota.py index fb4e8603..80c8749a 100644 --- a/openstackclient/common/quota.py +++ b/openstackclient/common/quota.py @@ -24,6 +24,7 @@ from osc_lib import utils import six from openstackclient.i18n import _ +from openstackclient.network import common LOG = logging.getLogger(__name__) @@ -457,18 +458,37 @@ class ListQuota(command.Lister, BaseQuota): return ((), ()) -class SetQuota(command.Command): +class SetQuota(common.NetDetectionMixin, command.Command): _description = _("Set quotas for project or class") def _build_options_list(self): - if self.app.client_manager.is_network_endpoint_enabled(): - return itertools.chain(COMPUTE_QUOTAS.items(), - VOLUME_QUOTAS.items(), - NETWORK_QUOTAS.items()) - else: - return itertools.chain(COMPUTE_QUOTAS.items(), - VOLUME_QUOTAS.items(), - NOVA_NETWORK_QUOTAS.items()) + help_fmt = _('New value for the %s quota') + # Compute and volume quota options are always the same + rets = [(k, v, help_fmt % v) for k, v in itertools.chain( + COMPUTE_QUOTAS.items(), + VOLUME_QUOTAS.items(), + )] + # For docs build, we want to produce helps for both neutron and + # nova-network options. They overlap, so we have to figure out which + # need to be tagged as specific to one network type or the other. + if self.is_docs_build: + # NOTE(efried): This takes advantage of the fact that we know the + # nova-net options are a subset of the neutron options. If that + # ever changes, this algorithm will need to be adjusted accordingly + inv_compute = set(NOVA_NETWORK_QUOTAS.values()) + for k, v in NETWORK_QUOTAS.items(): + _help = help_fmt % v + if v not in inv_compute: + # This one is unique to neutron + _help = self.enhance_help_neutron(_help) + rets.append((k, v, _help)) + elif self.is_neutron: + rets.extend( + [(k, v, help_fmt % v) for k, v in NETWORK_QUOTAS.items()]) + elif self.is_nova_network: + rets.extend( + [(k, v, help_fmt % v) for k, v in NOVA_NETWORK_QUOTAS.items()]) + return rets def get_parser(self, prog_name): parser = super(SetQuota, self).get_parser(prog_name) @@ -484,13 +504,13 @@ class SetQuota(command.Command): default=False, help=_('Set quotas for <class>'), ) - for k, v in self._build_options_list(): + for k, v, h in self._build_options_list(): parser.add_argument( '--%s' % v, metavar='<%s>' % v, dest=k, type=int, - help=_('New value for the %s quota') % v, + help=h, ) parser.add_argument( '--volume-type', diff --git a/openstackclient/common/versions.py b/openstackclient/common/versions.py index e6781bc6..3acd9f73 100644 --- a/openstackclient/common/versions.py +++ b/openstackclient/common/versions.py @@ -46,14 +46,21 @@ class ShowVersions(command.Lister): parser.add_argument( '--service', metavar='<service>', - help=_('Show versions for a specific service.'), + help=_('Show versions for a specific service. The argument should ' + 'be either an exact match to what is in the catalog or a ' + 'known official value or alias from ' + 'service-types-authority ' + '(https://service-types.openstack.org/)'), ) parser.add_argument( '--status', metavar='<status>', - help=_('Show versions for a specific status.' - ' [Valid values are SUPPORTED, CURRENT,' - ' DEPRECATED, EXPERIMENTAL]'), + help=_("""Show versions for a specific status. Valid values are: + +- SUPPORTED +- CURRENT +- DEPRECATED +- EXPERIMENTAL""") ) return parser |
