diff --git a/.coveragerc b/.coveragerc index 3685187b80..8dc0326549 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,6 +1,7 @@ [run] branch = True source = openstackclient +omit = openstackclient/tests/* [report] ignore_errors = True diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000000..62caf9485a --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,13 @@ +# You can configure git to automatically use this file with the following config: +# git config --global blame.ignoreRevsFile .git-blame-ignore-revs + +c5b772db76c071e493a81105c7d8c0def08b2264 # trivial: Prepare for pyupgrade pre-commit hook +ed0314ac76ae58a6621077feb742efd5c14c3a62 # Blacken everything else +ac64fdb93c32972575a4523ccb23d0279ef584f5 # Blacken openstackclient.api +a3778109d0051a25901569e7bafe54915ab25f82 # Blacken openstack.common +53476e1f73d8af172207ac7089fb85fc0221859f # Blacken openstackclient.image +c51e4ef1bc350905a04690eb019d53e68fe3d633 # Blacken openstackclient.object +af6ea07703ed1c12b86995b97a9618bfa70721ee # Blacken openstackclient.identity +1face4f48b07fbc51824980e989687adaf453f0e # Blacken openstackclient.network +1ca77acc9118b433c14e03bf9fd28f2b1639c430 # Blacken openstackclient.volume +4bbf3bd3846cb3d85e243199910de82df25d35e0 # Blacken openstackclient.compute diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 28ed93d8e7..b277bb059b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,30 +1,42 @@ --- -default_language_version: - # force all unspecified python hooks to run python3 - python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v3.4.0 + rev: v6.0.0 hooks: - id: trailing-whitespace - id: mixed-line-ending args: ['--fix', 'lf'] exclude: '.*\.(svg)$' - - id: check-byte-order-marker + - id: fix-byte-order-marker - id: check-executables-have-shebangs - id: check-merge-conflict - id: debug-statements - id: check-yaml files: .*\.(yaml|yml)$ args: ['--unsafe'] - - repo: local + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.0 hooks: - - id: flake8 - name: flake8 + - id: ruff-check + args: ['--fix', '--unsafe-fixes'] + - id: ruff-format + - repo: https://opendev.org/openstack/hacking + rev: 7.0.0 + hooks: + - id: hacking + additional_dependencies: [] + exclude: '^(doc|releasenotes)/.*$' + - repo: https://github.com/pre-commit/mirrors-mypy + rev: v1.18.2 + hooks: + - id: mypy additional_dependencies: - - hacking>=2.0.0 - - flake8-import-order>=0.13 - language: python - entry: flake8 - files: '^.*\.py$' - exclude: '^(doc|releasenotes|tools)/.*$' + - types-requests + # keep this in-sync with '[tool.mypy] exclude' in 'pyproject.toml' + exclude: | + (?x)( + doc/.* + | examples/.* + | hacking/.* + | releasenotes/.* + ) diff --git a/.zuul.yaml b/.zuul.yaml index d27ae3dae3..d63ee7c5f4 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -6,6 +6,31 @@ Run unit tests for OpenStackClient with master branch of important libs. Takes advantage of the base tox job's install-siblings feature. + irrelevant-files: &common-irrelevant-files + - ^.*\.rst$ + - ^doc/.*$ + - ^releasenotes/.*$ + - ^\.pre-commit-config\.yaml$ + required-projects: + - openstack/cliff + - openstack/keystoneauth + - openstack/openstacksdk + - openstack/osc-lib + - openstack/python-openstackclient + vars: + # Set work dir to openstackclient so that if it's triggered by one of the + # other repos the tests will run in the same place + zuul_work_dir: src/opendev.org/openstack/python-openstackclient + +- job: + name: osc-tox-py310-tips + parent: openstack-tox-py310 + description: | + Run unit tests for OpenStackClient with master branch of important libs. + + Takes advantage of the base tox job's install-siblings feature. + # The job only tests the latest and shouldn't be run on the stable branches + branches: ^master$ required-projects: - openstack/cliff - openstack/keystoneauth @@ -18,14 +43,14 @@ zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: - name: osc-tox-py38-tips - parent: openstack-tox-py38 + name: osc-tox-py313-tips + parent: openstack-tox-py313 description: | Run unit tests for OpenStackClient with master branch of important libs. Takes advantage of the base tox job's install-siblings feature. # The job only tests the latest and shouldn't be run on the stable branches - branches: ^(?!stable) + branches: ^master$ required-projects: - openstack/cliff - openstack/keystoneauth @@ -38,11 +63,11 @@ zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: - name: osc-functional-devstack-base + name: osc-functional-devstack parent: devstack-tox-functional description: | - Base job for devstack-based functional tests - timeout: 9000 + Run functional tests for OpenStackClient. + timeout: 7800 irrelevant-files: - ^.*\.rst$ - ^doc/.*$ @@ -54,40 +79,17 @@ LIBS_FROM_GIT: python-openstackclient # NOTE(dtroyer): Functional tests need a bit more volume headroom VOLUME_BACKING_FILE_SIZE: 20G - devstack_local_conf: - post-config: - $CINDER_CONF: - DEFAULT: - # NOTE(dtroyer): OSC needs to support Volume v1 for a while yet so re-enable - enable_v1_api: true + Q_AGENT: openvswitch + Q_ML2_TENANT_NETWORK_TYPE: vxlan + Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch + devstack_plugins: + # NOTE(amotoki): Some neutron features are enabled by devstack plugin + neutron: https://opendev.org/openstack/neutron devstack_services: - ceilometer-acentral: false - ceilometer-acompute: false - ceilometer-alarm-evaluator: false - ceilometer-alarm-notifier: false - ceilometer-anotification: false - ceilometer-api: false - ceilometer-collector: false s-account: true s-container: true s-object: true s-proxy: true - osc_environment: - PYTHONUNBUFFERED: 'true' - OS_CLOUD: devstack-admin - zuul_work_dir: src/opendev.org/openstack/python-openstackclient - -# The Neutron bits are here rather than in osc-functional-devstack-base to -# simplify removing Neutron in the osc-functional-devstack-n-net job. -- job: - name: osc-functional-devstack - parent: osc-functional-devstack-base - timeout: 7800 - vars: - devstack_plugins: - # NOTE(amotoki): Some neutron features are enabled by devstack plugin - neutron: https://opendev.org/openstack/neutron - devstack_services: # Disable OVN services br-ex-tcpdump: false br-int-flows: false @@ -108,37 +110,20 @@ neutron-tag-ports-during-bulk-creation: true neutron-conntrack-helper: true neutron-ndp-proxy: true - devstack_localrc: - Q_AGENT: openvswitch - Q_ML2_TENANT_NETWORK_TYPE: vxlan - Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch - tox_envlist: functional - -- job: - name: osc-functional-devstack-n-net - parent: osc-functional-devstack-base - timeout: 7800 - vars: - devstack_localrc: - FLAT_INTERFACE: br_flat - PUBLIC_INTERFACE: br_pub - devstack_services: - n-cell: true - n-net: true - neutron: false - neutron-segments: false - q-agt: false - q-dhcp: false - q-l3: false - q-meta: false - q-metering: false - q-qos: false - q-svc: false + q-trunk: true + osc_environment: + PYTHONUNBUFFERED: 'true' + OS_CLOUD: devstack-admin tox_envlist: functional + zuul_work_dir: src/opendev.org/openstack/python-openstackclient - job: name: osc-functional-devstack-tips parent: osc-functional-devstack + description: | + Run functional tests for OpenStackClient with master branch of important libs. + + Takes advantage of the base tox job's install-siblings feature. timeout: 7800 required-projects: - openstack/cliff @@ -149,119 +134,54 @@ vars: devstack_localrc: LIBS_FROM_GIT: python-openstackclient,openstacksdk,osc-lib,cliff - # This is insufficient, but leaving it here as a reminder of what may - # someday be all we need to make this work - # disable_python3_package swift - DISABLED_PYTHON3_PACKAGES: swift - devstack_services: - # Swift is not ready for python3 yet: At a minimum keystonemiddleware needs - # to be installed in the py2 env, there are probably other things too... - s-account: false - s-container: false - s-object: false - s-proxy: false - # As swift is not available for this job, c-bak service won't be functional. - # The backup related tests can be handled by other jobs having swift enabled. - # The backup service along with swift services can be enabled once swift is - # compatible with py3 - c-bak: false tox_envlist: functional tox_install_siblings: true -- secret: - name: osc-dockerhub - data: - username: osclientzuul - password: !encrypted/pkcs1-oaep - - LbIZjJiVstRVXMpoLQ3+/JcNB6lKVUWJXXo5+Outf+PKAaO7mNnv8XLiFMKnJ6ftopLyu - hWbX9rA+NddvplLQkf1xxkh7QBBU8PToLr58quI2SENUclt4tpjxbZfZu451kFSNJvNvR - E58cHHpfJZpyRnS2htXmN/Qy24gbV2w7CQxSZD2YhlcrerD8uQ8rWEnlY1wcJEaEGomtS - ZTGxsdK2TsZC2cd4b7TG7+xbl2i+hjADzwSQAgUzlLlwuG71667+IWk4SOZ7OycJTv9NN - ZTak8+CGfiMKdmsxZ1Z8uD7DC+RIklDjMWyly6zuhWzfhOmsmU0CesR50moodRUvbK79p - NZM8u0hBex5cl2EpUEwJL/FSPJXUhDMPoMoTZT/SAuXf25R9eZ9JGrKsIAlmVhpl8ifoE - 8TpPyvIHGS3YelTQjhqOX0wGb9T4ZauQCcI5Ajzy9NuCTyD9xxme9OX1zz7gMACRnVHvz - q7U7Ue90MnmGH6E2SgKjIZhyzy9Efwb7JUvH1Zb3hlrjCjEhwi9MV5FnABTEeXyYwE10s - 3o/KZg2zvdWkVG6x0dEkjpoQaNuaB7T2Na7Sm421n/z3LCzhiQGuTUjENnL6cMEtuA6Pp - BfI5+Qlg7HMwkBXNB73EPfWHzbCR3VNrzGYTy9FvhGud0/cXsuBXgps4WH63ic= - - job: name: osc-build-image parent: opendev-build-docker-image description: Build Docker images. allowed-projects: openstack/python-openstackclient requires: - - python-builder-3.9-container-image - - python-base-3.9-container-image + - python-builder-3.11-bookworm-container-image + - python-base-3.11-bookworm-container-image provides: osc-container-image - vars: &osc_image_vars + vars: docker_images: - context: . - repository: osclient/python-openstackclient - -- job: - name: osc-upload-image - parent: opendev-upload-docker-image - description: Build Docker images and upload to Docker Hub. - allowed-projects: openstack/python-openstackclient - requires: - - python-builder-3.9-container-image - - python-base-3.9-container-image - provides: osc-container-image - secrets: - - name: docker_credentials - secret: osc-dockerhub - pass-to-parent: true - vars: *osc_image_vars - -- job: - name: osc-promote-image - parent: opendev-promote-docker-image - allowed-projects: openstack/python-openstackclient - description: Promote previously uploaded Docker images. - secrets: - - name: docker_credentials - secret: osc-dockerhub - pass-to-parent: true - nodeset: - nodes: [] - vars: *osc_image_vars + tags: [] - project-template: name: osc-tox-unit-tips check: jobs: - - osc-tox-py38-tips + - osc-tox-py310-tips + - osc-tox-py313-tips gate: jobs: - - osc-tox-py38-tips + - osc-tox-py310-tips + - osc-tox-py313-tips - project: templates: - openstackclient-plugin-jobs - osc-tox-unit-tips - openstack-cover-jobs - - openstack-python3-zed-jobs + - openstack-python3-jobs - publish-openstack-docs-pti - check-requirements - release-notes-jobs-python3 check: jobs: - - osc-build-image + - openstackclient-check-plugins: + voting: true + - osc-build-image: + voting: false - osc-functional-devstack - # - osc-functional-devstack-n-net: - # voting: false - # # The job testing nova-network no longer works before Pike, and - # # should be disabled until the New Way of testing against old clouds - # # is ready and backported - # branches: ^(?!stable/(newton|ocata)).*$ - osc-functional-devstack-tips: # The functional-tips job only tests the latest and shouldn't be run # on the stable branches - branches: ^(?!stable) + branches: ^master$ gate: jobs: - - osc-upload-image - osc-functional-devstack - promote: - jobs: - - osc-promote-image diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index f8732b7211..74b442ef66 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -9,13 +9,13 @@ to set up and use Gerrit: https://docs.openstack.org/contributors/code-and-documentation/quick-start.html -Bugs should be filed on StoryBoard: +Bugs should be filed on Launchpad: - https://storyboard.openstack.org/#!/project/openstack/python-openstackclient + https://bugs.launchpad.net/python-openstackclient Developers should also join the discussion on the mailing list, at: - http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss + https://lists.openstack.org/mailman3/lists/openstack-discuss.lists.openstack.org/ or join the IRC channel on diff --git a/Dockerfile b/Dockerfile index 90f7fd3be6..6709be7514 100644 --- a/Dockerfile +++ b/Dockerfile @@ -13,12 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. -FROM docker.io/opendevorg/python-builder:3.9 as builder +FROM docker.io/opendevorg/python-builder:3.12-bookworm AS builder COPY . /tmp/src RUN assemble -FROM docker.io/opendevorg/python-base:3.9 +FROM docker.io/opendevorg/python-base:3.12-bookworm + +LABEL org.opencontainers.image.title="python-openstackclient" +LABEL org.opencontainers.image.description="Client for OpenStack services." +LABEL org.opencontainers.image.licenses="Apache License 2.0" +LABEL org.opencontainers.image.url="https://www.openstack.org/" +LABEL org.opencontainers.image.documentation="https://docs.openstack.org/python-openstackclient/latest/" +LABEL org.opencontainers.image.source="https://opendev.org/openstack/python-openstackclient" COPY --from=builder /output/ /output RUN /output/install-from-bindep diff --git a/README.rst b/README.rst index 7f31bcdbea..af3837a351 100644 --- a/README.rst +++ b/README.rst @@ -1,12 +1,3 @@ -======================== -Team and repository tags -======================== - -.. image:: https://governance.openstack.org/tc/badges/python-openstackclient.svg - :target: https://governance.openstack.org/tc/reference/tags/index.html - -.. Change things from this point on - =============== OpenStackClient =============== @@ -15,96 +6,158 @@ OpenStackClient :target: https://pypi.org/project/python-openstackclient/ :alt: Latest Version -OpenStackClient (aka OSC) is a command-line client for OpenStack that brings +OpenStackClient (OSC) is a command-line client for OpenStack that brings the command set for Compute, Identity, Image, Network, Object Store and Block Storage APIs together in a single shell with a uniform command structure. +Support for additional service APIs is provided via plugins. The primary goal is to provide a unified shell command structure and a common language to describe operations in OpenStack. -* `PyPi`_ - package installation -* `Online Documentation`_ -* `Storyboard project`_ - bugs and feature requests -* `Blueprints`_ - feature specifications (historical only) -* `Source`_ -* `Developer`_ - getting started as a developer -* `Contributing`_ - contributing code -* `Testing`_ - testing code -* IRC: #openstack-sdks on OFTC (irc.oftc.net) -* License: Apache 2.0 - -.. _PyPi: https://pypi.org/project/python-openstackclient -.. _Online Documentation: https://docs.openstack.org/python-openstackclient/latest/ -.. _Blueprints: https://blueprints.launchpad.net/python-openstackclient -.. _`Storyboard project`: https://storyboard.openstack.org/#!/project/openstack/python-openstackclient -.. _Source: https://opendev.org/openstack/python-openstackclient -.. _Developer: https://docs.openstack.org/project-team-guide/project-setup/python.html -.. _Contributing: https://docs.openstack.org/infra/manual/developers.html -.. _Testing: https://docs.openstack.org/python-openstackclient/latest/contributor/developing.html#testing -.. _Release Notes: https://docs.openstack.org/releasenotes/python-openstackclient - Getting Started =============== -OpenStack Client can be installed from PyPI using pip:: +OpenStack Client can be installed from PyPI using pip: - pip install python-openstackclient +.. code-block:: shell -There are a few variants on getting help. A list of global options and supported -commands is shown with ``--help``:: + python3 -m pip install python-openstackclient - openstack --help +You can use ``--help`` or the ``help`` command to get a list of global options +and supported commands: -There is also a ``help`` command that can be used to get help text for a specific -command:: +.. code-block:: shell + openstack --help openstack help + +You can also get help for a specific command: + +.. code-block:: shell + + openstack server create --help openstack help server create -If you want to make changes to the OpenStackClient for testing and contribution, -make any changes and then run:: +You can add support for additional services by installing their clients. For +example, to add support for the DNS service (designate): - python setup.py develop +.. code-block:: shell -or:: + python3 -m pip install python3-designateclient - pip install -e . +A ``Dockerfile`` is provided for your convenience in the repository. You can +use this to build your own container images: -Configuration -============= +.. code-block:: shell -The CLI is configured via environment variables and command-line -options as listed in https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html. + git clone https://opendev.org/openstack/python-openstackclient + cd python-openstackclient + podman build . -t example.com/myuser/openstackclient -Authentication using username/password is most commonly used: +For more information the available options and commands, refer to the `Users +Guide`__. -- For a local user, your configuration will look like the one below:: +.. __: https://docs.openstack.org/python-openstackclient/latest/cli/index.html + +Configuration +============= + +OpenStack Client must be configured with authentication information in order to +communicate with a given OpenStack cloud. This configuration can be achieved +via a ``clouds.yaml`` file, a set of environment variables (often shared via an +``openrc`` file), a set of command-line options, or a combination of all three. +Your cloud provider or deployment tooling will typically provide either a +``clouds.yaml`` file or ``openrc`` file for you. If using a ``clouds.yaml`` +file, OpenStack Client expects to find it in one of the following locations: + +* If set, the path indicated by the ``OS_CLIENT_CONFIG_FILE`` environment + variable +* ``.`` (the current directory) +* ``$HOME/.config/openstack`` +* ``/etc/openstack`` + +The options you should set will depend on the configuration of your cloud and +the authentication mechanism(s) supported. For example, consider a cloud that +supports username/password authentication. Configuration for this cloud using a +``clouds.yaml`` file would look like so: + +.. code-block:: yaml + + clouds: + my-cloud: + auth: + auth_url: '' + project_name: '' + project_domain_name: '' + username: '' + user_domain_name: '' + password: '' # (optional) + region_name: '' + +The corresponding environment variables would look very similar: + +.. code-block:: shell export OS_AUTH_URL= - export OS_IDENTITY_API_VERSION=3 + export OS_REGION_NAME= export OS_PROJECT_NAME= export OS_PROJECT_DOMAIN_NAME= export OS_USERNAME= export OS_USER_DOMAIN_NAME= export OS_PASSWORD= # (optional) - The corresponding command-line options look very similar:: +Likewise, the corresponding command-line options would look very similar: - --os-auth-url - --os-identity-api-version 3 +:: + + openstack + --os-auth-url + --os-region --os-project-name --os-project-domain-name --os-username --os-user-domain-name [--os-password ] -- For a federated user, your configuration will look the so:: +.. note:: + + If a password is not provided above (in plaintext), you will be + interactively prompted to provide one securely. + +Some clouds use federated authentication. If this is the case, your +configuration will be slightly more involved. For example, to configure +username/password authentication for a federated user using a ``clouds.yaml`` +file: + +.. code-block:: yaml + + clouds: + my-cloud: + auth: + auth_url: '' + project_name: '' + project_domain_name: '' + username: '' + user_domain_name: '' + password: '' + identity_provider: '' + client_id: '' + client_secret: '' + openid_scope: '' + protocol: '' + access_token_type: '' + discovery_endpoint: '' + auth_type: 'v3oidcpassword' + region_name: '' + +The corresponding environment variables would look very similar: + +.. code-block:: shell export OS_PROJECT_NAME= export OS_PROJECT_DOMAIN_NAME= export OS_AUTH_URL= export OS_IDENTITY_API_VERSION=3 - export OS_AUTH_PLUGIN=openid export OS_AUTH_TYPE=v3oidcpassword export OS_USERNAME= export OS_PASSWORD= @@ -116,7 +169,9 @@ Authentication using username/password is most commonly used: export OS_ACCESS_TOKEN_TYPE= export OS_DISCOVERY_ENDPOINT= - The corresponding command-line options look very similar:: +Likewise, the corresponding command-line options would look very similar: + +.. code-block:: shell --os-project-name --os-project-domain-name @@ -134,5 +189,41 @@ Authentication using username/password is most commonly used: --os-access-token-type --os-discovery-endpoint -If a password is not provided above (in plaintext), you will be interactively -prompted to provide one securely. +For more information on configuring authentication, including an overview of +the many authentication mechanisms supported, refer to the `Authentication +guide`__. For more information on configuration in general, refer to the +`Configuration guide`__. + +.. __: https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html. +.. __: https://docs.openstack.org/python-openstackclient/latest/configuration/index.html + +Contributing +============ + +You can clone the repository from opendev.org:: + + git clone https://opendev.org/openstack/python-openstackclient + cd python-openstackclient + +OpenStack Client uses the same contributor process as other OpenStack projects. +For information on this process, including help on setting up you Gerrit +account and an overview of the CI process, refer to the `OpenStack Contributors +Guide`__. + +For more information on contributing to OpenStack Client itself, including +guidance on how to design new commands and how to report bugs, refer to the +`Contributors Guide`__. + +.. __: https://docs.openstack.org/python-openstackclient/latest/contributor/index.html +.. __: https://docs.opendev.org/opendev/infra-manual/latest/developers.html + +Links +----- + +* `Issue Tracker `_ +* `Code Review `_ +* `Documentation `_ +* `PyPi `_ +* `Mailing list `_ +* `Release Notes `_ +* `IRC (#openstack-sdks on OFTC (irc.oftc.net)) `_ diff --git a/bindep.txt b/bindep.txt index 4c90a026fe..8402431aed 100644 --- a/bindep.txt +++ b/bindep.txt @@ -8,3 +8,4 @@ libffi-dev [compile test platform:dpkg] libssl-dev [compile test platform:dpkg] python3-dev [compile test platform:dpkg] python3-devel [compile test platform:rpm] +libpcre2-dev [test platform:dpkg] diff --git a/doc/requirements.txt b/doc/requirements.txt index 60a877970c..05a9bfa87c 100644 --- a/doc/requirements.txt +++ b/doc/requirements.txt @@ -1,31 +1,26 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. openstackdocstheme>=2.2.1 # Apache-2.0 reno>=3.1.0 # Apache-2.0 sphinx>=2.0.0,!=2.1.0 # BSD sphinxcontrib-apidoc>=0.2.0 # BSD # redirect tests in docs -whereto>=0.4.0 # Apache-2.0 +whereto>=0.5.0 # Apache-2.0 # Install these to generate sphinx autodocs aodhclient>=0.9.0 # Apache-2.0 gnocchiclient>=3.3.1 # Apache-2.0 osc-placement>=1.7.0 # Apache-2.0 python-barbicanclient>=4.5.2 # Apache-2.0 +python-cyborgclient>=1.2.1 # Apache-2.0 python-designateclient>=2.7.0 # Apache-2.0 python-heatclient>=1.10.0 # Apache-2.0 python-ironicclient>=2.3.0 # Apache-2.0 python-ironic-inspector-client>=1.5.0 # Apache-2.0 +python-magnumclient>=2.3.0 # Apache-2.0 python-manilaclient>=2.0.0 # Apache-2.0 python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0 -python-muranoclient>=0.8.2 # Apache-2.0 python-neutronclient>=6.7.0 # Apache-2.0 python-octaviaclient>=1.11.0 # Apache-2.0 -python-rsdclient>=1.0.1 # Apache-2.0 -python-saharaclient>=1.4.0 # Apache-2.0 -python-senlinclient>=1.1.0 # Apache-2.0 python-troveclient>=3.1.0 # Apache-2.0 python-watcherclient>=2.5.0 # Apache-2.0 python-zaqarclient>=1.0.0 # Apache-2.0 diff --git a/doc/source/cli/_hidden/image.rst b/doc/source/cli/_hidden/image.rst index 85ffde6f39..06919e7ab9 100644 --- a/doc/source/cli/_hidden/image.rst +++ b/doc/source/cli/_hidden/image.rst @@ -3,7 +3,7 @@ image ===== .. NOTE(efried): This page is hidden from the main TOC; it's here so links in - the wild redirect somewhere sane, because previously identity v2 and v3 were + the wild redirect somewhere sane, because previously image v2 and v3 were combined in a single page. .. toctree:: diff --git a/doc/source/cli/authentication.rst b/doc/source/cli/authentication.rst index 2e9148c356..8c09fc3648 100644 --- a/doc/source/cli/authentication.rst +++ b/doc/source/cli/authentication.rst @@ -36,7 +36,7 @@ There are at least three authentication types that are always available: URL for the Identity service is also required. [Required: ``--os-auth-url``, ``--os-project-name``, ``--os-username``; Optional: ``--os-password``] * **Token**: This is slightly different from the usual token authentication - (described below as token/endpoint) in that a token and an authentication + in that a token and an authentication URL are supplied and the plugin retrieves a new token. [Required: ``--os-auth-url``, ``--os-token``] * **Others**: Other authentication plugins such as SAML, Kerberos, and OAuth1.0 @@ -145,5 +145,233 @@ credentials. This is useful in a Federated environment where one credential give access to many applications/services that the Federation supports. To check how to configure the OpenStackClient to allow Federated users to log in, please check -the -:ref:`Authentication using federation. ` +the :ref:`Authentication using federation. ` + +Examples +-------- + +.. todo: It would be nice to add more examples here, particularly for + complicated things like oauth2 + +``v3password`` +~~~~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + user_domain_name: default + username: demo + password: password + auth_type: v3password + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-user-domain-name default \ + --os-auth-type=v3password \ + --os-username demo \ + --os-password password \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3password + $ export OS_USERNAME=demo + $ export OS_PASSWORD=password + $ openstack server list + +.. note:: + + If a password is not provided, you will be prompted for one. + +``v3applicationcredential`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + application_credential_id: ${APP_CRED_ID} + application_credential_secret: ${APP_CRED_SECRET} + auth_type: v3applicationcredential + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-auth-type=v3applicationcredential \ + --os-application-credential-id=${APP_CRED_ID} \ + --os-application-credential-secret=${APP_CRED_SECRET} + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_AUTH_TYPE=v3applicationcredential + $ export OS_APPLICATION_CREDENTIAL_ID=${APP_CRED_ID} + $ export OS_APPLICATION_CREDENTIAL_SECRET=${APP_CRED_SECRET} + $ openstack server list + +.. note:: + + You can generate application credentials using the :program:`openstack + application credential create` command: + + .. code-block:: bash + + $ readarray -t lines <<< $(openstack application credential create test -f value -c id -c secret) + $ APP_CRED_ID=${lines[0]} + $ APP_CRED_SECRET=${lines[1]} + +``v3token`` +~~~~~~~~~~~ + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + token: ${TOKEN} + auth_type: v3token + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-auth-type=v3token \ + --os-token ${TOKEN} \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3token + $ export OS_TOKEN=${TOKEN} + $ openstack server list + +.. note:: + + You can generate tokens using the :program:`openstack token issue` command: + + .. code-block:: bash + + $ TOKEN=$(openstack token issue -f value -c id) + +.. note:: + + The above examples assume you require a project-scoped token. You can omit + the project-related configuration if your user has a default project ID set. + Conversely, if requesting domain-scoped or system-scoped, you should update + these examples accordingly. If the user does not have a default project + configured and no scoping information is provided, the resulting token will + be unscoped. + +``v3totp`` +~~~~~~~~~~ + +.. note:: + + The TOTP mechanism is poorly suited to command line-driven API + interactions. Where the TOTP mechanism is configured for a cloud, it is + expected that it is to be used for initial authentication and to create a + token or application credential, which can then be used for future + interactions. + +.. note:: + + The TOTP mechanism is often combined with other mechanisms to enable + Multi-Factor Authentication, or MFA. The authentication type + ``v3multifactor`` is used in this case, while the ``v3totp`` authentication + type is specified alongside the other mechanisms in ``auth_methods``. + +Using ``clouds.yaml``: + +.. code-block:: yaml + + clouds: + demo: + auth: + auth_url: http://openstack.dev/identity + project_name: demo + project_domain_name: default + user_domain_name: default + username: demo + passcode: ${PASSCODE} + auth_type: v3totp + +or, using command line options: + +.. code-block:: bash + + $ openstack \ + --os-auth-url "http://openstack.dev/identity" \ + --os-project-name demo \ + --os-project-domain-name default \ + --os-user-domain-name default \ + --os-auth-type=v3totp \ + --os-username demo \ + --os-passcode ${PASSCODE} \ + server list + +or, using environment variables: + +.. code-block:: bash + + $ export OS_AUTH_URL="http://openstack.dev/identity" + $ export OS_PROJECT_NAME=demo + $ export OS_PROJECT_DOMAIN_NAME=default + $ export OS_AUTH_TYPE=v3totp + $ export OS_USERNAME=demo + $ export OS_PASSCODE=${PASSCODE} + $ openstack server list + +.. note:: + + The passcode will be generated by an authenticator application such FreeOTP + or Google Authenticator. Refer to your cloud provider's documentation for + information on how to configure an authenticator application, or to the + `Keystone documentation`__ if you are configuring this for your own cloud. + + .. __: https://docs.openstack.org/keystone/latest/admin/auth-totp.html + +.. note:: + + If a passcode is not provided, you will be prompted for one. diff --git a/doc/source/cli/backwards-incompatible.rst b/doc/source/cli/backwards-incompatible.rst index 9d43754e01..3fbe65fae9 100644 --- a/doc/source/cli/backwards-incompatible.rst +++ b/doc/source/cli/backwards-incompatible.rst @@ -20,119 +20,129 @@ Release 4.0 ----------- 1. Remove ``ip fixed add|remove`` commands. + Use ``server add|remove fixed ip`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612781 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612781 2. Remove ``ip floating add|remove`` commands. + Use ``server add|remove floating ip`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612781 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612781 3. Remove ``service create`` option ``--type``. Service type is a positional argument. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 4. Remove ``role list`` options ``--project`` and ``--user``. + Use ``role assignment list`` options ``--project`` and ``--user`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 5. Remove ``user role list`` command. + Use ``role assignment list`` options ``--project`` and ``--user`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612798 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612798 6. Remove ``image create|set`` option ``--owner``. + Use ``--project`` option instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/659431 + * Removed in: 4.0 + * Commit: https://review.opendev.org/659431 7. Remove ``port create|set`` options ``--device-id`` and ``--host-id``. + Use ``--device`` and ``--host`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 8. Remove ``router set`` option ``--clear-routes``. + Use ``no-route`` option instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 9. Remove ``security group rule create`` options ``--src-ip`` and ``--src-group``. + Use ``--remote-ip`` and ``--remote-group`` options instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/613644 + * Removed in: 4.0 + * Commit: https://review.opendev.org/613644 10. Remove ``backup`` commands. + Use ``volume backup`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 11. Remove ``snapshot`` commands. Use ``volume snapshot`` commands instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 12. Remove ``volume create`` options ``--project``, ``--user``, ``--multi-attach``. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 13. Change ``volume transfer request accept`` to use new option ``--auth-key`` rather than a second positional argument. - * Removed in: 4.0 - * Commit: https://review.opendev.org/612751 + * Removed in: 4.0 + * Commit: https://review.opendev.org/612751 14. Remove 'Token/Endpoint' auth plugin support (type ``token_endpoint``). + This remained as a compatibility for the ``admin_token`` auth type to support the ``--url`` global option. That option is also now removed, use ``--endpoint`` instead. - * Removed in: 4.0 - * Commit: https://review.opendev.org/ + * Removed in: 4.0 + * Commit: https://review.opendev.org/ Release 3.12 ------------ 1. Replace ``Display Name`` by ``Name`` in volume list. - Change column name ``Display Name`` to ``Name`` in ``volume list`` output. - Current ``volume list --name`` command uses ``display_name`` as search_opts - to send to cinder API, and show the result table with ``Display Name`` - as column title. Replace all ``Display Name`` by ``Name`` to be consistent - with other list commands. + Change column name ``Display Name`` to ``Name`` in ``volume list`` output. + Current ``volume list --name`` command uses ``display_name`` as search_opts + to send to cinder API, and show the result table with ``Display Name`` + as column title. Replace all ``Display Name`` by ``Name`` to be consistent + with other list commands. - Support a mapping for volume list -c ``Display Name`` (Volume v1 and v2) - and volume create/show -c ``display_name`` (Volume v1) to maintain backward - compatibility until the next major release. + Support a mapping for volume list -c ``Display Name`` (Volume v1 and v2) + and volume create/show -c ``display_name`` (Volume v1) to maintain backward + compatibility until the next major release. - * In favor of: ``openstack volume list -c Name`` - * As of: 3.12.0 - * Removed in: n/a - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1657956 - * Commit: https://review.opendev.org/#/c/423081/ + * In favor of: ``openstack volume list -c Name`` + * As of: 3.12.0 + * Removed in: n/a + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1657956 + * Commit: https://review.opendev.org/#/c/423081/ Release 3.10 ------------ 1. The ``network create`` command now requires the ``--subnet`` option when used - with Nova-network clouds. + with nova-network clouds. - * As of: 3.10 - * Commit: https://review.opendev.org/460679 + * As of: 3.10 + * Commit: https://review.opendev.org/460679 2. The positional argument ```` of the ``volume snapshot create`` command is no longer optional. @@ -142,23 +152,23 @@ Release 3.10 ``--volume`` option is not present now it defaults to the value of ````. - * As of: 3.10 - * Bug: 1659894 - * Commit: https://review.opendev.org/440497 + * As of: 3.10 + * Bug: 1659894 + * Commit: https://review.opendev.org/440497 Release 3.0 ----------- 1. Remove the ``osc_password`` authentication plugin. - This was the 'last-resort' plugin default that worked around an old default - Keystone configuration for the ``admin_endpoint`` and ``public_endpoint``. + This was the 'last-resort' plugin default that worked around an old default + Keystone configuration for the ``admin_endpoint`` and ``public_endpoint``. - * In favor of: ``password`` - * As of: 3.0 - * Removed in: n/a - * Bug: n/a - * Commit: https://review.opendev.org/332938 + * In favor of: ``password`` + * As of: 3.0 + * Removed in: n/a + * Bug: n/a + * Commit: https://review.opendev.org/332938 Releases Before 3.0 @@ -166,209 +176,209 @@ Releases Before 3.0 1. Rename command `openstack project usage list` - The `project` part of the command was pointless. + The `project` part of the command was pointless. - * In favor of: `openstack usage list` instead. - * As of: 1.0.2 - * Removed in: TBD - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1406654 - * Commit: https://review.opendev.org/#/c/147379/ + * In favor of: `openstack usage list` instead. + * As of: 1.0.2 + * Removed in: TBD + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1406654 + * Commit: https://review.opendev.org/#/c/147379/ 2. should not be optional for command `openstack service create` - Previously, the command was `openstack service create --type `, - whereas now it is: `openstack service create --name `. - This bug also affected python-keystoneclient, and keystone. + Previously, the command was `openstack service create --type `, + whereas now it is: `openstack service create --name `. + This bug also affected python-keystoneclient, and keystone. - * In favor of: making a positional argument. - * As of: 1.0.2 - * Removed in: TBD - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1404073 - * Commit: https://review.opendev.org/#/c/143242/ + * In favor of: making a positional argument. + * As of: 1.0.2 + * Removed in: TBD + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1404073 + * Commit: https://review.opendev.org/#/c/143242/ 3. Command `openstack security group rule delete` now requires rule id - Previously, the command was `openstack security group rule delete --proto - [--src-ip --dst-port ] `, - whereas now it is: `openstack security group rule delete `. + Previously, the command was `openstack security group rule delete --proto + [--src-ip --dst-port ] `, + whereas now it is: `openstack security group rule delete `. - * In favor of: Using `openstack security group rule delete `. - * As of: 1.2.1 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1450872 - * Commit: https://review.opendev.org/#/c/179446/ + * In favor of: Using `openstack security group rule delete `. + * As of: 1.2.1 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1450872 + * Commit: https://review.opendev.org/#/c/179446/ 4. Command `openstack image create` does not update already existing image - Previously, the image create command updated already existing image if it had - same name. It disabled possibility to create multiple images with same name - and lead to potentially unwanted update of existing images by image create - command. - Now, update code was moved from create action to set action. + Previously, the image create command updated already existing image if it had + same name. It disabled possibility to create multiple images with same name + and lead to potentially unwanted update of existing images by image create + command. + Now, update code was moved from create action to set action. - * In favor of: Create multiple images with same name (as glance does). - * As of: 1.5.0 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1461817 - * Commit: https://review.opendev.org/#/c/194654/ + * In favor of: Create multiple images with same name (as glance does). + * As of: 1.5.0 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1461817 + * Commit: https://review.opendev.org/#/c/194654/ 5. Command `openstack network list --dhcp` has been removed - The --dhcp option to network list is not a logical use case of listing - networks, it lists agents. Another command should be added in the future - to provide this functionality. It is highly unlikely anyone uses this - feature as we don't support any other agent commands. Use neutron - dhcp-agent-list-hosting-net command instead. + The --dhcp option to network list is not a logical use case of listing + networks, it lists agents. Another command should be added in the future + to provide this functionality. It is highly unlikely anyone uses this + feature as we don't support any other agent commands. Use neutron + dhcp-agent-list-hosting-net command instead. - * In favor of: Create network agent list command in the future - * As of: 1.6.0 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/472613 - * Commit: https://review.opendev.org/#/c/194654/ + * In favor of: Create network agent list command in the future + * As of: 1.6.0 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/472613 + * Commit: https://review.opendev.org/#/c/194654/ 6. Plugin interface change for default API versions - Previously, the default version was set in the parsed arguments, - but this makes it impossible to tell what has been passed in at the - command line, set in an environment variable or is just the default. - Now, the module should have a DEFAULT_API_VERSION that contains the - value and it will be set after command line argument, environment - and OCC file processing. + Previously, the default version was set in the parsed arguments, + but this makes it impossible to tell what has been passed in at the + command line, set in an environment variable or is just the default. + Now, the module should have a DEFAULT_API_VERSION that contains the + value and it will be set after command line argument, environment + and OCC file processing. - * In favor of: DEFAULT_API_VERSION - * As of: 1.2.1 - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1453229 - * Commit: https://review.opendev.org/#/c/181514/ + * In favor of: DEFAULT_API_VERSION + * As of: 1.2.1 + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1453229 + * Commit: https://review.opendev.org/#/c/181514/ 7. `image set` commands will no longer return the modified resource - Previously, modifying an image would result in the new image being displayed - to the user. To keep things consistent with other `set` commands, we will - no longer be showing the modified resource. + Previously, modifying an image would result in the new image being displayed + to the user. To keep things consistent with other `set` commands, we will + no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: NA - * Commit: NA + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: NA + * Commit: NA 8. `region` commands no longer support `url` - The Keystone team removed support for the `url` attribute from the client - and server side. Changes to the `create`, `set` and `list` commands for - regions have been affected. + The Keystone team removed support for the `url` attribute from the client + and server side. Changes to the `create`, `set` and `list` commands for + regions have been affected. - * In favor of: NA - * As of 1.9.0 - * Removed in: NA - * Bug: https://launchpad.net/bugs/1506841 - * Commit: https://review.opendev.org/#/c/236736/ + * In favor of: NA + * As of 1.9.0 + * Removed in: NA + * Bug: https://launchpad.net/bugs/1506841 + * Commit: https://review.opendev.org/#/c/236736/ 9. `flavor set/unset` commands will no longer return the modified resource - Previously, modifying a flavor would result in the new flavor being displayed - to the user. To keep things consistent with other `set/unset` commands, we - will no longer be showing the modified resource. + Previously, modifying a flavor would result in the new flavor being displayed + to the user. To keep things consistent with other `set/unset` commands, we + will no longer be showing the modified resource. - * In favor of: Use `set/unset` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/280663/ + * In favor of: Use `set/unset` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/280663/ 10. `security group set` commands will no longer return the modified resource - Previously, modifying a security group would result in the new security group - being displayed to the user. To keep things consistent with other `set` - commands, we will no longer be showing the modified resource. + Previously, modifying a security group would result in the new security group + being displayed to the user. To keep things consistent with other `set` + commands, we will no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281087/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281087/ 11. `compute agent set` commands will no longer return the modified resource - Previously, modifying an agent would result in the new agent being displayed - to the user. To keep things consistent with other `set` commands, we will - no longer be showing the modified resource. + Previously, modifying an agent would result in the new agent being displayed + to the user. To keep things consistent with other `set` commands, we will + no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281088/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281088/ 12. ` ` should be optional for command `openstack compute agent set` - Previously, the command was `openstack compute agent set - `, whereas now it is: `openstack compute agent set --version - --url --md5hash `. + Previously, the command was `openstack compute agent set + `, whereas now it is: `openstack compute agent set --version + --url --md5hash `. - * In favor of: making optional. - * As of: NA - * Removed in: NA - * Bug: NA - * Commit: https://review.opendev.org/#/c/328819/ + * In favor of: making optional. + * As of: NA + * Removed in: NA + * Bug: NA + * Commit: https://review.opendev.org/#/c/328819/ 13. `aggregate set` commands will no longer return the modified resource - Previously, modifying an aggregate would result in the new aggregate being - displayed to the user. To keep things consistent with other `set` commands, - we will no longer be showing the modified resource. + Previously, modifying an aggregate would result in the new aggregate being + displayed to the user. To keep things consistent with other `set` commands, + we will no longer be showing the modified resource. - * In favor of: Use `set` then `show` - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 - * Commit: https://review.opendev.org/#/c/281089/ + * In favor of: Use `set` then `show` + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1546065 + * Commit: https://review.opendev.org/#/c/281089/ 14. Output of `ip floating list` command has changed. - When using Compute v2, the original output is: + When using Compute v2, the original output is: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +----+--------+------------+----------+-------------+ - | ID | Pool | IP | Fixed IP | Instance ID | - +----+--------+-----------------------+-------------+ - | 1 | public | 172.24.4.1 | None | None | - +----+--------+------------+----------+-------------+ + +----+--------+------------+----------+-------------+ + | ID | Pool | IP | Fixed IP | Instance ID | + +----+--------+-----------------------+-------------+ + | 1 | public | 172.24.4.1 | None | None | + +----+--------+------------+----------+-------------+ - Now it changes to: + Now it changes to: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +----+---------------------+------------------+-----------+--------+ - | ID | Floating IP Address | Fixed IP Address | Server ID | Pool | - +----+---------------------+------------------+-----------+--------+ - | 1 | 172.24.4.1 | None | None | public | - +----+---------------------+------------------+-----------+--------+ + +----+---------------------+------------------+-----------+--------+ + | ID | Floating IP Address | Fixed IP Address | Server ID | Pool | + +----+---------------------+------------------+-----------+--------+ + | 1 | 172.24.4.1 | None | None | public | + +----+---------------------+------------------+-----------+--------+ - When using Network v2, which is different from Compute v2. The output is: + When using Network v2, which is different from Compute v2. The output is: - .. code-block:: bash + .. code-block:: bash - # ip floating list + # ip floating list - +--------------------------------------+---------------------+------------------+------+ - | ID | Floating IP Address | Fixed IP Address | Port | - +--------------------------------------+---------------------+------------------+------+ - | 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3 | None | None | - +--------------------------------------+---------------------+------------------+------+ + +--------------------------------------+---------------------+------------------+------+ + | ID | Floating IP Address | Fixed IP Address | Port | + +--------------------------------------+---------------------+------------------+------+ + | 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3 | None | None | + +--------------------------------------+---------------------+------------------+------+ - * In favor of: Use `ip floating list` command - * As of: NA - * Removed in: NA - * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1519502 - * Commit: https://review.opendev.org/#/c/277720/ + * In favor of: Use `ip floating list` command + * As of: NA + * Removed in: NA + * Bug: https://bugs.launchpad.net/python-openstackclient/+bug/1519502 + * Commit: https://review.opendev.org/#/c/277720/ For Developers ============== diff --git a/doc/source/cli/command-objects/access-rules.rst b/doc/source/cli/command-objects/access-rules.rst index bc8458283f..6e811fc7df 100644 --- a/doc/source/cli/command-objects/access-rules.rst +++ b/doc/source/cli/command-objects/access-rules.rst @@ -9,53 +9,11 @@ rule comprises of a service type, a request path, and a request method. Access rules may only be created as attributes of application credentials, but they may be viewed and deleted independently. +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule delete -access rule delete ------------------- +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule list -Delete access rule(s) - -.. program:: access rule delete -.. code:: bash - - openstack access rule delete [ ...] - -.. describe:: - - Access rule(s) to delete (ID) - -access rule list ----------------- - -List access rules - -.. program:: access rule list -.. code:: bash - - openstack access rule list - [--user ] - [--user-domain ] - -.. option:: --user - - User whose access rules to list (name or ID). If not provided, looks up the - current user's access rules. - -.. option:: --user-domain - - Domain the user belongs to (name or ID). This can be - used in case collisions between user names exist. - -access rule show ---------------------------- - -Display access rule details - -.. program:: access rule show -.. code:: bash - - openstack access rule show - -.. describe:: - - Access rule to display (ID) +.. autoprogram-cliff:: openstack.identity.v3 + :command: access rule show diff --git a/doc/source/cli/command-objects/block-storage-cleanup.rst b/doc/source/cli/command-objects/block-storage-cleanup.rst new file mode 100644 index 0000000000..6a593c1187 --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-cleanup.rst @@ -0,0 +1,8 @@ +============= +block storage +============= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage cleanup diff --git a/doc/source/cli/command-objects/block-storage-log-level.rst b/doc/source/cli/command-objects/block-storage-log-level.rst new file mode 100644 index 0000000000..17241a0edf --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-log-level.rst @@ -0,0 +1,8 @@ +======================= +Block Storage Log Level +======================= + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage log level * diff --git a/doc/source/cli/command-objects/block-storage-manage.rst b/doc/source/cli/command-objects/block-storage-manage.rst new file mode 100644 index 0000000000..a1cff1ad67 --- /dev/null +++ b/doc/source/cli/command-objects/block-storage-manage.rst @@ -0,0 +1,11 @@ +==================== +Block Storage Manage +==================== + +Block Storage v3 + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage volume manageable list + +.. autoprogram-cliff:: openstack.volume.v3 + :command: block storage snapshot manageable list diff --git a/doc/source/cli/command-objects/consistency-group-snapshot.rst b/doc/source/cli/command-objects/consistency-group-snapshot.rst index 29d5065663..51241685fd 100644 --- a/doc/source/cli/command-objects/consistency-group-snapshot.rst +++ b/doc/source/cli/command-objects/consistency-group-snapshot.rst @@ -2,95 +2,16 @@ consistency group snapshot ========================== -Block Storage v2 +Block Storage v2, v3 -consistency group snapshot create ---------------------------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot create -Create new consistency group snapshot. +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot delete -.. program:: consistency group snapshot create -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot list - openstack consistency group snapshot create - [--consistency-group ] - [--description ] - [] - -.. option:: --consistency-group - - Consistency group to snapshot (name or ID) - (default to be the same as ) - -.. option:: --description - - Description of this consistency group snapshot - -.. _consistency_group_snapshot_create-snapshot-name: -.. describe:: - - Name of new consistency group snapshot (default to None) - -consistency group snapshot delete ---------------------------------- - -Delete consistency group snapshot(s) - -.. program:: consistency group snapshot delete -.. code:: bash - - openstack consistency group snapshot delete - [ ...] - -.. _consistency_group_snapshot_delete-consistency-group-snapshot: -.. describe:: - - Consistency group snapshot(s) to delete (name or ID) - -consistency group snapshot list -------------------------------- - -List consistency group snapshots. - -.. program:: consistency group snapshot list -.. code:: bash - - openstack consistency group snapshot list - [--all-projects] - [--long] - [--status ] - [--consistency-group ] - -.. option:: --all-projects - - Show detail for all projects. Admin only. - (defaults to False) - -.. option:: --long - - List additional fields in output - -.. option:: --status - - Filters results by a status - ("available", "error", "creating", "deleting" or "error_deleting") - -.. option:: --consistency-group - - Filters results by a consistency group (name or ID) - -consistency group snapshot show -------------------------------- - -Display consistency group snapshot details. - -.. program:: consistency group snapshot show -.. code:: bash - - openstack consistency group snapshot show - - -.. _consistency_group_snapshot_show-consistency-group-snapshot: -.. describe:: - - Consistency group snapshot to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group snapshot show diff --git a/doc/source/cli/command-objects/consistency-group.rst b/doc/source/cli/command-objects/consistency-group.rst index 57082c6df8..9ff207ff79 100644 --- a/doc/source/cli/command-objects/consistency-group.rst +++ b/doc/source/cli/command-objects/consistency-group.rst @@ -2,172 +2,25 @@ consistency group ================= -Block Storage v2 +Block Storage v2, v3 -consistency group add volume ----------------------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group add volume -Add volume(s) to consistency group. +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group create -.. program:: consistency group add volume -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group delete - openstack consistency group add volume - - [ ...] +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group list -.. _consistency_group_add_volume: -.. describe:: +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group remove volume - Consistency group to contain (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group set -.. describe:: - - Volume(s) to add to (name or ID) - (repeat option to add multiple volumes) - -consistency group create ------------------------- - -Create new consistency group. - -.. program:: consistency group create -.. code:: bash - - openstack consistency group create - --volume-type | --consistency-group-source | --consistency-group-snapshot - [--description ] - [--availability-zone ] - [] - -.. option:: --volume-type - - Volume type of this consistency group (name or ID) - -.. option:: --consistency-group-source - - Existing consistency group (name or ID) - -.. option:: --consistency-group-snapshot - - Existing consistency group snapshot (name or ID) - -.. option:: --description - - Description of this consistency group - -.. option:: --availability-zone - - Availability zone for this consistency group - (not available if creating consistency group from source) - -.. _consistency_group_create-name: -.. describe:: - - Name of new consistency group (default to None) - -consistency group delete ------------------------- - -Delete consistency group(s). - -.. program:: consistency group delete -.. code:: bash - - openstack consistency group delete - [--force] - [ ...] - -.. option:: --force - - Allow delete in state other than error or available - -.. _consistency_group_delete-consistency-group: -.. describe:: - - Consistency group(s) to delete (name or ID) - -consistency group list ----------------------- - -List consistency groups. - -.. program:: consistency group list -.. code:: bash - - openstack consistency group list - [--all-projects] - [--long] - -.. option:: --all-projects - - Show detail for all projects. Admin only. - (defaults to False) - -.. option:: --long - - List additional fields in output - -consistency group remove volume -------------------------------- - -Remove volume(s) from consistency group. - -.. program:: consistency group remove volume -.. code:: bash - - openstack consistency group remove volume - - [ ...] - -.. _consistency_group_remove_volume: -.. describe:: - - Consistency group containing (name or ID) - -.. describe:: - - Volume(s) to remove from (name or ID) - (repeat option to remove multiple volumes) - -consistency group set ---------------------- - -Set consistency group properties. - -.. program:: consistency group set -.. code:: bash - - openstack consistency group set - [--name ] - [--description ] - - -.. option:: --name - - New consistency group name - -.. option:: --description - - New consistency group description - -.. _consistency_group_set-consistency-group: -.. describe:: - - Consistency group to modify (name or ID) - -consistency group show ----------------------- - -Display consistency group details. - -.. program:: consistency group show -.. code:: bash - - openstack consistency group show - - -.. _consistency_group_show-consistency-group: -.. describe:: - - Consistency group to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: consistency group show diff --git a/doc/source/cli/command-objects/console-connection.rst b/doc/source/cli/command-objects/console-connection.rst new file mode 100644 index 0000000000..c3358050fb --- /dev/null +++ b/doc/source/cli/command-objects/console-connection.rst @@ -0,0 +1,10 @@ +================== +console connection +================== + +Server console connection information + +Compute v2 + +.. autoprogram-cliff:: openstack.compute.v2 + :command: console connection show diff --git a/doc/source/cli/command-objects/default-security-group-rule.rst b/doc/source/cli/command-objects/default-security-group-rule.rst new file mode 100644 index 0000000000..1905614bfc --- /dev/null +++ b/doc/source/cli/command-objects/default-security-group-rule.rst @@ -0,0 +1,11 @@ +=========================== +default security group rule +=========================== + +A **default security group rule** specifies the template of the security group +rules which will be used by neutron to create rules in every new security group. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: default security group rule * diff --git a/doc/source/cli/command-objects/image-member.rst b/doc/source/cli/command-objects/image-member.rst new file mode 100644 index 0000000000..4b48991cb3 --- /dev/null +++ b/doc/source/cli/command-objects/image-member.rst @@ -0,0 +1,14 @@ +============ +image member +============ + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image add project + +.. autoprogram-cliff:: openstack.image.v2 + :command: image remove project + +.. autoprogram-cliff:: openstack.image.v2 + :command: image member list diff --git a/doc/source/cli/command-objects/image-metadef.rst b/doc/source/cli/command-objects/image-metadef.rst new file mode 100644 index 0000000000..ed36d95f75 --- /dev/null +++ b/doc/source/cli/command-objects/image-metadef.rst @@ -0,0 +1,50 @@ +============= +image metadef +============= + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace set + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef namespace show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef resource type list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object update + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef object property show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image metadef property show diff --git a/doc/source/cli/command-objects/image-task.rst b/doc/source/cli/command-objects/image-task.rst new file mode 100644 index 0000000000..0021192042 --- /dev/null +++ b/doc/source/cli/command-objects/image-task.rst @@ -0,0 +1,11 @@ +========== +image task +========== + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image task list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image task show diff --git a/doc/source/cli/command-objects/image-v2.rst b/doc/source/cli/command-objects/image-v2.rst index 473b26d07b..4a2a4d0f90 100644 --- a/doc/source/cli/command-objects/image-v2.rst +++ b/doc/source/cli/command-objects/image-v2.rst @@ -1,6 +1,32 @@ -======== -image v2 -======== +===== +image +===== + +Image v2 + +.. autoprogram-cliff:: openstack.image.v2 + :command: image create + +.. autoprogram-cliff:: openstack.image.v2 + :command: image delete + +.. autoprogram-cliff:: openstack.image.v2 + :command: image list + +.. autoprogram-cliff:: openstack.image.v2 + :command: image save + +.. autoprogram-cliff:: openstack.image.v2 + :command: image set + +.. autoprogram-cliff:: openstack.image.v2 + :command: image unset + +.. autoprogram-cliff:: openstack.image.v2 + :command: image show + +.. autoprogram-cliff:: openstack.image.v2 + :command: image stage .. autoprogram-cliff:: openstack.image.v2 - :command: image * + :command: image import diff --git a/doc/source/cli/command-objects/limits.rst b/doc/source/cli/command-objects/limits.rst index 3a0f99b376..11d53802c6 100644 --- a/doc/source/cli/command-objects/limits.rst +++ b/doc/source/cli/command-objects/limits.rst @@ -4,7 +4,7 @@ limits The Compute and Block Storage APIs have resource usage limits. -Compute v2, Block Storage v1 +Block Storage v2, v3; Compute v2 .. autoprogram-cliff:: openstack.common diff --git a/doc/source/cli/command-objects/network-trunk.rst b/doc/source/cli/command-objects/network-trunk.rst new file mode 100644 index 0000000000..98fd4b0c4b --- /dev/null +++ b/doc/source/cli/command-objects/network-trunk.rst @@ -0,0 +1,16 @@ +============= +network trunk +============= + +A **network trunk** is a container to group logical ports from different +networks and provide a single trunked vNIC for servers. It consists of +one parent port which is a regular VIF and multiple subports which allow +the server to connect to more networks. + +Network v2 + +.. autoprogram-cliff:: openstack.network.v2 + :command: network subport list + +.. autoprogram-cliff:: openstack.network.v2 + :command: network trunk * diff --git a/doc/source/cli/command-objects/project-purge.rst b/doc/source/cli/command-objects/project-purge.rst deleted file mode 100644 index 8f10a77452..0000000000 --- a/doc/source/cli/command-objects/project-purge.rst +++ /dev/null @@ -1,11 +0,0 @@ -============= -project purge -============= - -Clean resources associated with a specific project. - -Block Storage v1, v2; Compute v2; Image v1, v2 - - -.. 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 cab1265240..59a8a9bb4e 100644 --- a/doc/source/cli/command-objects/quota.rst +++ b/doc/source/cli/command-objects/quota.rst @@ -5,7 +5,7 @@ quota Resource quotas appear in multiple APIs, OpenStackClient presents them as a single object with multiple properties. -Block Storage v1, v2, Compute v2, Network v2 +Block Storage v1, v3; Compute v2; Network v2 .. autoprogram-cliff:: openstack.common :command: quota * diff --git a/doc/source/cli/command-objects/role-assignment.rst b/doc/source/cli/command-objects/role-assignment.rst index b29f32c690..aa618d4dd3 100644 --- a/doc/source/cli/command-objects/role-assignment.rst +++ b/doc/source/cli/command-objects/role-assignment.rst @@ -4,103 +4,5 @@ role assignment Identity v2, v3 -role assignment list --------------------- - -List role assignments - -.. program:: role assignment list -.. code:: bash - - openstack role assignment list - [--role ] - [--role-domain ] - [--user ] - [--user-domain ] - [--group ] - [--group-domain ] - [--domain ] - [--project ] - [--project-domain ] - [--effective] - [--inherited] - [--names] - -.. option:: --role - - Role to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --role-domain - - Domain the role belongs to (name or ID). - This can be used in case collisions between role names exist. - - .. versionadded:: 3 - -.. option:: --user - - User to filter (name or ID) - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - This can be used in case collisions between user names exist. - - .. versionadded:: 3 - -.. option:: --group - - Group to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --group-domain - - Domain the group belongs to (name or ID). - This can be used in case collisions between group names exist. - - .. versionadded:: 3 - -.. option:: --domain - - Domain to filter (name or ID) - - .. versionadded:: 3 - -.. option:: --project - - Project to filter (name or ID) - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - .. versionadded:: 3 - -.. option:: --effective - - Returns only effective role assignments (defaults to False) - - .. versionadded:: 3 - -.. option:: --inherited - - Specifies if the role grant is inheritable to the sub projects - - .. versionadded:: 3 - -.. option:: --names - - Returns role assignments with names instead of IDs - -.. option:: --auth-user - - Returns role assignments for the authenticated user. - -.. option:: --auth-project - - Returns role assignments for the project to which the authenticated user - is scoped. +.. autoprogram-cliff:: openstack.identity.v3 + :command: role assignment list diff --git a/doc/source/cli/command-objects/volume-backend.rst b/doc/source/cli/command-objects/volume-backend.rst index 4766ecabb2..f47efd1976 100644 --- a/doc/source/cli/command-objects/volume-backend.rst +++ b/doc/source/cli/command-objects/volume-backend.rst @@ -2,7 +2,7 @@ volume backend ============== -Block Storage v2 +Block Storage v2, v3 -.. autoprogram-cliff:: openstack.volume.v2 +.. autoprogram-cliff:: openstack.volume.v3 :command: volume backend * diff --git a/doc/source/cli/command-objects/volume-backup.rst b/doc/source/cli/command-objects/volume-backup.rst index 1c26921197..7b036ca0ce 100644 --- a/doc/source/cli/command-objects/volume-backup.rst +++ b/doc/source/cli/command-objects/volume-backup.rst @@ -2,8 +2,8 @@ volume backup ============= -Block Storage v1, v2 +Block Storage v2, v3 -.. autoprogram-cliff:: openstack.volume.v2 +.. autoprogram-cliff:: openstack.volume.v3 :command: volume backup * diff --git a/doc/source/cli/command-objects/volume-host.rst b/doc/source/cli/command-objects/volume-host.rst index 350d6dec7c..acd0866356 100644 --- a/doc/source/cli/command-objects/volume-host.rst +++ b/doc/source/cli/command-objects/volume-host.rst @@ -2,51 +2,7 @@ volume host =========== -Block Storage v2 +Block Storage v2, v3 -volume host failover --------------------- - -Failover volume host to different backend - -.. program:: volume host failover -.. code:: bash - - openstack volume host failover - --volume-backend - - -.. option:: --volume-backend - - The ID of the volume backend replication - target where the host will failover to (required) - -.. _volume_host_failover-host-name: -.. describe:: - - Name of volume host - -volume host set ---------------- - -Set volume host properties - -.. program:: volume host set -.. code:: bash - - openstack volume host set - [--enable | --disable] - - -.. option:: --enable - - Thaw and enable the specified volume host. - -.. option:: --disable - - Freeze and disable the specified volume host - -.. _volume_host_set-host-name: -.. describe:: - - Name of volume host +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume host * diff --git a/doc/source/cli/command-objects/volume-qos.rst b/doc/source/cli/command-objects/volume-qos.rst index 8fdbc12284..82c4d540c7 100644 --- a/doc/source/cli/command-objects/volume-qos.rst +++ b/doc/source/cli/command-objects/volume-qos.rst @@ -2,165 +2,7 @@ volume qos ========== -Block Storage v1, v2 +Block Storage v2, v3 -volume qos associate --------------------- - -Associate a QoS specification to a volume type - -.. program:: volume qos associate -.. code:: bash - - openstack volume qos associate - - - -.. _volume_qos_associate: -.. describe:: - - QoS specification to modify (name or ID) - -.. describe:: - - Volume type to associate the QoS (name or ID) - -volume qos create ------------------ - -Create new QoS Specification - -.. program:: volume qos create -.. code:: bash - - openstack volume qos create - [--consumer ] - [--property [...] ] - - -.. option:: --consumer - - Consumer of the QoS. Valid consumers: 'front-end', 'back-end', 'both' (defaults to 'both') - -.. option:: --property - - Set a property on this QoS specification (repeat option to set multiple properties) - -.. _volume_qos_create-name: -.. describe:: - - New QoS specification name - -volume qos delete ------------------ - -Delete QoS specification - -.. program:: volume qos delete -.. code:: bash - - openstack volume qos delete - [--force] - [ ...] - -.. option:: --force - - Allow to delete in-use QoS specification(s) - -.. _volume_qos_delete-qos-spec: -.. describe:: - - QoS specification(s) to delete (name or ID) - -volume qos disassociate ------------------------ - -Disassociate a QoS specification from a volume type - -.. program:: volume qos disassociate -.. code:: bash - - openstack volume qos disassociate - --volume-type | --all - - -.. option:: --volume-type - - Volume type to disassociate the QoS from (name or ID) - -.. option:: --all - - Disassociate the QoS from every volume type - -.. _volume_qos_disassociate-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) - -volume qos list ---------------- - -List QoS specifications - -.. program:: volume qos list -.. code:: bash - - openstack volume qos list - -volume qos set --------------- - -Set QoS specification properties - -.. program:: volume qos set -.. code:: bash - - openstack volume qos set - [--property [...] ] - - -.. option:: --property - - Property to add or modify for this QoS specification (repeat option to set multiple properties) - -.. _volume_qos_set-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) - -volume qos show ---------------- - -Display QoS specification details - -.. program:: volume qos show -.. code:: bash - - openstack volume qos show - - -.. _volume_qos_show-qos-spec: -.. describe:: - - QoS specification to display (name or ID) - -volume qos unset ----------------- - -Unset QoS specification properties - -.. program:: volume qos unset -.. code:: bash - - openstack volume qos unset - [--property [...] ] - - -.. option:: --property - - Property to remove from QoS specification (repeat option to remove multiple properties) - -.. _volume_qos_unset-qos-spec: -.. describe:: - - QoS specification to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume qos * diff --git a/doc/source/cli/command-objects/volume-service.rst b/doc/source/cli/command-objects/volume-service.rst index 0499fb9062..43d455ff5a 100644 --- a/doc/source/cli/command-objects/volume-service.rst +++ b/doc/source/cli/command-objects/volume-service.rst @@ -2,65 +2,7 @@ volume service ============== -Block Storage v1, v2 +Block Storage v2, v3 -volume service list -------------------- - -List volume service - -.. program:: volume service list -.. code:: bash - - openstack volume service list - [--host ] - [--service ] - [--long] - -.. option:: --host - - List services on specified host (name only) - -.. option:: --service - - List only specified service (name only) - -.. option:: --long - - List additional fields in output - -volume service set ------------------- - -Set volume service properties - -.. program:: volume service set -.. code:: bash - - openstack volume service set - [--enable | --disable] - [--disable-reason ] - - - -.. option:: --enable - - Enable volume service - -.. option:: --disable - - Disable volume service - -.. option:: --disable-reason - - Reason for disabling the service - (should be used with :option:`--disable` option) - -.. _volume_service_set-host: -.. describe:: - - Name of host - -.. describe:: - - Name of service (Binary name) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume service * diff --git a/doc/source/cli/command-objects/volume-snapshot.rst b/doc/source/cli/command-objects/volume-snapshot.rst index 21a8937018..e63e436dff 100644 --- a/doc/source/cli/command-objects/volume-snapshot.rst +++ b/doc/source/cli/command-objects/volume-snapshot.rst @@ -2,222 +2,7 @@ volume snapshot =============== -Block Storage v1, v2 +Block Storage v2, v3 -volume snapshot create ----------------------- - -Create new volume snapshot - -.. program:: volume snapshot create -.. code:: bash - - openstack volume snapshot create - [--volume ] - [--description ] - [--force] - [--property [...] ] - [--remote-source [...]] - - -.. option:: --volume - - Volume to snapshot (name or ID) (default is ) - -.. option:: --description - - Description of the snapshot - -.. option:: --force - - Create a snapshot attached to an instance. Default is False - -.. option:: --property - - Set a property to this snapshot (repeat option to set multiple properties) - - *Volume version 2 only* - -.. option:: --remote-source - - The attribute(s) of the exsiting remote volume snapshot - (admin required) (repeat option to specify multiple attributes) - e.g.: '--remote-source source-name=test_name --remote-source source-id=test_id' - - *Volume version 2 only* - -.. _volume_snapshot_create-snapshot-name: -.. describe:: - - Name of the new snapshot - -volume snapshot delete ----------------------- - -Delete volume snapshot(s) - -.. program:: volume snapshot delete -.. code:: bash - - openstack volume snapshot delete - [--force] - [ ...] - -.. option:: --force - - Attempt forced removal of snapshot(s), regardless of state (defaults to False) - -.. _volume_snapshot_delete-snapshot: -.. describe:: - - Snapshot(s) to delete (name or ID) - -volume snapshot list --------------------- - -List volume snapshots - -.. program:: volume snapshot list -.. code:: bash - - openstack volume snapshot list - [--all-projects] - [--project [--project-domain ]] - [--long] - [--limit ] - [--marker ] - [--name ] - [--status ] - [--volume ] - -.. option:: --all-projects - - Include all projects (admin only) - -.. option:: --project - - Filter results by project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --long - - List additional fields in output - -.. option:: --status - - Filters results by a status. - ('available', 'error', 'creating', 'deleting' or 'error_deleting') - -.. option:: --name - - Filters results by a name. - -.. option:: --volume - - Filters results by a volume (name or ID). - -.. option:: --limit - - Maximum number of snapshots to display - - *Volume version 2 only* - -.. option:: --marker - - The last snapshot ID of the previous page - - *Volume version 2 only* - -volume snapshot set -------------------- - -Set volume snapshot properties - -.. program:: volume snapshot set -.. code:: bash - - openstack volume snapshot set - [--name ] - [--description ] - [--no-property] - [--property [...] ] - [--state ] - - -.. option:: --name - - New snapshot name - -.. option:: --description - - New snapshot description - -.. option:: --no-property - - Remove all properties from :ref:`\ ` - (specify both :option:`--no-property` and :option:`--property` to - remove the current properties before setting new properties.) - -.. option:: --property - - Property to add or modify for this snapshot (repeat option to set multiple properties) - -.. option:: --state - - New snapshot state. - ("available", "error", "creating", "deleting", or "error_deleting") (admin only) - (This option simply changes the state of the snapshot in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. _volume_snapshot_set-snapshot: -.. describe:: - - Snapshot to modify (name or ID) - -volume snapshot show --------------------- - -Display volume snapshot details - -.. program:: volume snapshot show -.. code:: bash - - openstack volume snapshot show - - -.. _volume_snapshot_show-snapshot: -.. describe:: - - Snapshot to display (name or ID) - -volume snapshot unset ---------------------- - -Unset volume snapshot properties - -.. program:: volume snapshot unset -.. code:: bash - - openstack volume snapshot unset - [--property ] - - -.. option:: --property - - Property to remove from snapshot (repeat option to remove multiple properties) - -.. _volume_snapshot_unset-snapshot: -.. describe:: - - Snapshot to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume snapshot * diff --git a/doc/source/cli/command-objects/volume-transfer-request.rst b/doc/source/cli/command-objects/volume-transfer-request.rst index 23cd3d3e1b..97dac02a0a 100644 --- a/doc/source/cli/command-objects/volume-transfer-request.rst +++ b/doc/source/cli/command-objects/volume-transfer-request.rst @@ -2,95 +2,7 @@ volume transfer request ======================= -Block Storage v1, v2 +Block Storage v2, v3 -volume transfer request accept ------------------------------- - -Accept volume transfer request - -.. program:: volume transfer request accept -.. code:: bash - - openstack volume transfer request accept - --auth-key - - -.. option:: --auth-key - - Volume transfer request authentication key - -.. _volume_transfer_request_accept: -.. describe:: - - Volume transfer request to accept (ID only) - - Non-admin users are only able to specify the transfer request by ID. - -volume transfer request create ------------------------------- - -Create volume transfer request - -.. program:: volume transfer request create -.. code:: bash - - openstack volume transfer request create - [--name ] - - -.. option:: --name - - New transfer request name (default to None) - -.. _volume_transfer_request_create-volume: -.. describe:: - - Volume to transfer (name or ID) - -volume transfer request delete ------------------------------- - -Delete volume transfer request(s) - -.. program:: volume transfer request delete -.. code:: bash - - openstack volume transfer request delete - [ ...] - -.. _volume_transfer_request_delete-transfer-request: -.. describe:: - - Volume transfer request(s) to delete (name or ID) - -volume transfer request list ----------------------------- - -Lists all volume transfer requests - -.. program:: volume transfer request list -.. code:: bash - - openstack volume transfer request list - --all-projects - -.. option:: --all-projects - - Include all projects (admin only) - -volume transfer request show ----------------------------- - -Show volume transfer request details - -.. program:: volume transfer request show -.. code:: bash - - openstack volume transfer request show - - -.. _volume_transfer_request_show-transfer-request: -.. describe:: - - Volume transfer request to display (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume transfer request * diff --git a/doc/source/cli/command-objects/volume-type.rst b/doc/source/cli/command-objects/volume-type.rst index 2b5aff9940..003ee67306 100644 --- a/doc/source/cli/command-objects/volume-type.rst +++ b/doc/source/cli/command-objects/volume-type.rst @@ -2,290 +2,7 @@ volume type =========== -Block Storage v1, v2 +Block Storage v2, v3 -volume type create ------------------- - -Create new volume type - -.. program:: volume type create -.. code:: bash - - openstack volume type create - [--description ] - [--public | --private] - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-provider ] - [--encryption-cipher ] - [--encryption-key-size ] - [--encryption-control-location ] - - -.. option:: --description - - Volume type description - - .. versionadded:: 2 - -.. option:: --public - - Volume type is accessible to the public - - .. versionadded:: 2 - -.. option:: --private - - Volume type is not accessible to the public - - .. versionadded:: 2 - -.. option:: --property - - Set a property on this volume type (repeat option to set multiple properties) - -.. option:: --project - - Allow to access private type (name or ID) - (Must be used with :option:`--private` option) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --encryption-provider - - Set the encryption provider format for this volume type - (e.g "luks" or "plain") (admin only) - - This option is required when setting encryption type of a volume. - Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-control-location` - -.. option:: --encryption-cipher - - Set the encryption algorithm or mode for this volume type - (e.g "aes-xts-plain64") (admin only) - -.. option:: --encryption-key-size - - Set the size of the encryption key of this volume type - (e.g "128" or "256") (admin only) - -.. option:: --encryption-control-location - - Set the notional service where the encryption is performed - ("front-end" or "back-end") (admin only) - - The default value for this option is "front-end" when setting encryption type of - a volume. Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-provider` - -.. _volume_type_create-name: -.. describe:: - - Volume type name - -volume type delete ------------------- - -Delete volume type(s) - -.. program:: volume type delete -.. code:: bash - - openstack volume type delete - [ ...] - -.. _volume_type_delete-volume-type: -.. describe:: - - Volume type(s) to delete (name or ID) - -volume type list ----------------- - -List volume types - -.. program:: volume type list -.. code:: bash - - openstack volume type list - [--long] - [--default | --public | --private] - [--encryption-type] - -.. option:: --long - - List additional fields in output - -.. option:: --public - - List only public types - - *Volume version 2 only* - -.. option:: --private - - List only private types (admin only) - - *Volume version 2 only* - -.. option:: --default - - List the default volume type - - *Volume version 2 only* - -.. option:: --encryption-type - - Display encryption information for each volume type (admin only) - -volume type set ---------------- - -Set volume type properties - -.. program:: volume type set -.. code:: bash - - openstack volume type set - [--name ] - [--description ] - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-provider ] - [--encryption-cipher ] - [--encryption-key-size ] - [--encryption-control-location ] - - -.. option:: --name - - Set volume type name - - .. versionadded:: 2 - -.. option:: --description - - Set volume type description - - .. versionadded:: 2 - -.. option:: --project - - Set volume type access to project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - -.. option:: --property - - Set a property on this volume type (repeat option to set multiple properties) - -.. option:: --encryption-provider - - Set the encryption provider format for this volume type - (e.g "luks" or "plain") (admin only) - - This option is required when setting encryption type of a volume for the first time. - Consider using other encryption options such as: :option:`--encryption-cipher`, - :option:`--encryption-key-size` and :option:`--encryption-control-location` - -.. option:: --encryption-cipher - - Set the encryption algorithm or mode for this volume type - (e.g "aes-xts-plain64") (admin only) - -.. option:: --encryption-key-size - - Set the size of the encryption key of this volume type - (e.g "128" or "256") (admin only) - -.. option:: --encryption-control-location - - Set the notional service where the encryption is performed - ("front-end" or "back-end") (admin only) - - The default value for this option is "front-end" when setting encryption type of - a volume for the first time. Consider using other encryption options such as: - :option:`--encryption-cipher`, :option:`--encryption-key-size` and :option:`--encryption-provider` - -.. _volume_type_set-volume-type: -.. describe:: - - Volume type to modify (name or ID) - -volume type show ----------------- - -Display volume type details - -.. program:: volume type show -.. code:: bash - - openstack volume type show - [--encryption-type] - - -.. option:: --encryption-type - - Display encryption information of this volume type (admin only) - -.. _volume_type_show-volume-type: -.. describe:: - - Volume type to display (name or ID) - -volume type unset ------------------ - -Unset volume type properties - -.. program:: volume type unset -.. code:: bash - - openstack volume type unset - [--property [...] ] - [--project ] - [--project-domain ] - [--encryption-type] - - -.. option:: --property - - Property to remove from volume type (repeat option to remove multiple properties) - -.. option:: --project - - Removes volume type access from project (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --encryption-type - - Remove the encryption type for this volume type (admin only) - -.. _volume_type_unset-volume-type: -.. describe:: - - Volume type to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume type * diff --git a/doc/source/cli/command-objects/volume.rst b/doc/source/cli/command-objects/volume.rst index ac414110a0..337bb9fa2b 100644 --- a/doc/source/cli/command-objects/volume.rst +++ b/doc/source/cli/command-objects/volume.rst @@ -2,389 +2,33 @@ volume ====== -Block Storage v1, v2 +Block Storage v2, v3 -volume create -------------- +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume create -Create new volume +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume delete -.. program:: volume create -.. code:: bash +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume list - openstack volume create - [--size ] - [--type ] - [--image | --snapshot | --source ] - [--description ] - [--availability-zone ] - [--consistency-group ] - [--property [...] ] - [--hint [...] ] - [--bootable | --non-bootable] - [--read-only | --read-write] - +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume migrate -.. option:: --size +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume set - Volume size in GB - (Required unless --snapshot or --source is specified) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume show -.. option:: --type +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume unset - Set the type of volume +Block Storage v3 - Select ```` from the available types as shown - by ``volume type list``. +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume summary -.. option:: --image - - Use ```` as source of volume (name or ID) - - This is commonly used to create a boot volume for a server. - -.. option:: --snapshot - - Use ```` as source of volume (name or ID) - -.. option:: --source - - Volume to clone (name or ID) - -.. option:: --description - - Volume description - -.. option:: --availability-zone - - Create volume in ```` - -.. option:: --consistency-group - - Consistency group where the new volume belongs to - -.. option:: --property - - Set a property on this volume (repeat option to set multiple properties) - -.. option:: --hint - - Arbitrary scheduler hint key-value pairs to help boot an instance - (repeat option to set multiple hints) - -.. option:: --bootable - - Mark volume as bootable - -.. option:: --non-bootable - - Mark volume as non-bootable (default) - -.. option:: --read-only - - Set volume to read-only access mode - -.. option:: --read-write - - Set volume to read-write access mode (default) - -.. _volume_create-name: -.. describe:: - - Volume name - -volume delete -------------- - -Delete volume(s) - -.. program:: volume delete -.. code:: bash - - openstack volume delete - [--force | --purge] - [ ...] - -.. option:: --force - - Attempt forced removal of volume(s), regardless of state (defaults to False) - -.. option:: --purge - - Remove any snapshots along with volume(s) (defaults to False) - - *Volume version 2 only* - -.. _volume_delete-volume: -.. describe:: - - Volume(s) to delete (name or ID) - -volume list ------------ - -List volumes - -.. program:: volume list -.. code:: bash - - openstack volume list - [--project [--project-domain ]] - [--user [--user-domain ]] - [--name ] - [--status ] - [--all-projects] - [--long] - [--limit ] - [--marker ] - -.. option:: --project - - Filter results by ```` (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --project-domain - - Domain the project belongs to (name or ID). - - This can be used in case collisions between project names exist. - - *Volume version 2 only* - -.. option:: --user - - Filter results by ```` (name or ID) (admin only) - - *Volume version 2 only* - -.. option:: --user-domain - - Domain the user belongs to (name or ID). - - This can be used in case collisions between user names exist. - - *Volume version 2 only* - -.. option:: --name - - Filter results by volume name - -.. option:: --status - - Filter results by status - -.. option:: --all-projects - - Include all projects (admin only) - -.. option:: --long - - List additional fields in output - -.. option:: --limit - - Maximum number of volumes to display - -.. option:: --marker - - The last volume ID of the previous page - - *Volume version 2 only* - -volume migrate --------------- - -Migrate volume to a new host - -.. program:: volume migrate -.. code:: bash - - openstack volume migrate - --host - [--force-host-copy] - [--lock-volume] - - -.. option:: --host - - Destination host (takes the form: host@backend-name#pool) (required) - -.. option:: --force-host-copy - - Enable generic host-based force-migration, - which bypasses driver optimizations - -.. option:: --lock-volume - - If specified, the volume state will be locked and will not allow - a migration to be aborted (possibly by another operation) - - *Volume version 2 only* - -.. _volume_migrate-volume: -.. describe:: - - Volume to migrate (name or ID) - -volume set ----------- - -Set volume properties - -.. program:: volume set -.. code:: bash - - openstack volume set - [--name ] - [--size ] - [--description ] - [--no-property] - [--property [...] ] - [--image-property [...] ] - [--state ] - [--attached | --detached ] - [--type ] - [--retype-policy ] - [--bootable | --non-bootable] - [--read-only | --read-write] - - -.. option:: --name - - New volume name - -.. option:: --size - - Extend volume size in GB - -.. option:: --description - - New volume description - -.. option:: --no-property - - Remove all properties from :ref:`\ ` - (specify both :option:`--no-property` and :option:`--property` to - remove the current properties before setting new properties.) - -.. option:: --property - - Set a property on this volume (repeat option to set multiple properties) - -.. option:: --type - - New volume type (name or ID) - - *Volume version 2 only* - -.. option:: --retype-policy - - Migration policy while re-typing volume - ("never" or "on-demand", default is "never" ) - (available only when :option:`--type` option is specified) - - *Volume version 2 only* - -.. option:: --bootable - - Mark volume as bootable - -.. option:: --non-bootable - - Mark volume as non-bootable - -.. option:: --read-only - - Set volume to read-only access mode - -.. option:: --read-write - - Set volume to read-write access mode - -.. option:: --image-property - - Set an image property on this volume - (repeat option to set multiple image properties) - - Image properties are copied along with the image when creating a volume - using ``--image``. Note that these properties are immutable on the image - itself, this option updates the copy attached to this volume. - - *Volume version 2 only* - -.. option:: --state - - New volume state - ("available", "error", "creating", "deleting", "in-use", - "attaching", "detaching", "error_deleting" or "maintenance") (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. option:: --attached - - Set volume attachment status to "attached" (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. option:: --deattach - - Set volume attachment status to "detached" (admin only) - (This option simply changes the state of the volume in the database with - no regard to actual status, exercise caution when using) - - *Volume version 2 only* - -.. _volume_set-volume: -.. describe:: - - Volume to modify (name or ID) - -volume show ------------ - -Show volume details - -.. program:: volume show -.. code:: bash - - openstack volume show - - -.. _volume_show-volume: -.. describe:: - - Volume to display (name or ID) - -volume unset ------------- - -Unset volume properties - -.. program:: volume unset -.. code:: bash - - openstack volume unset - [--property ] - [--image-property ] - - -.. option:: --property - - Remove a property from volume (repeat option to remove multiple properties) - -.. option:: --image-property - - Remove an image property from volume - (repeat option to remove multiple image properties) - - *Volume version 2 only* - -.. _volume_unset-volume: -.. describe:: - - Volume to modify (name or ID) +.. autoprogram-cliff:: openstack.volume.v3 + :command: volume revert diff --git a/doc/source/cli/commands.rst b/doc/source/cli/commands.rst index d789eceb51..653e2a50bd 100644 --- a/doc/source/cli/commands.rst +++ b/doc/source/cli/commands.rst @@ -191,23 +191,14 @@ conflicts when creating new plugins. For a complete list check out * ``appcontainer service``: (**Application Container (Zun)**) * ``baremetal``: (**Baremetal (Ironic)**) * ``claim``: (**Messaging (Zaqar)**) -* ``cluster``: (**Clustering (Senlin)**) -* ``cluster action``: (**Clustering (Senlin)**) -* ``cluster event``: (**Clustering (Senlin)**) -* ``cluster members``: (**Clustering (Senlin)**) -* ``cluster node``: (**Clustering (Senlin)**) -* ``cluster policy``: (**Clustering (Senlin)**) -* ``cluster policy binding``: (**Clustering (Senlin)**) -* ``cluster policy type``: (**Clustering (Senlin)**) -* ``cluster profile``: (**Clustering (Senlin)**) -* ``cluster profile type``: (**Clustering (Senlin)**) -* ``cluster receiver``: (**Clustering (Senlin)**) +* ``coe ca``: (**Container Orchestration Engine (Magnum)**) +* ``coe cluster``: (**Container Orchestration Engine (Magnum)**) +* ``coe cluster template``: (**Container Orchestration Engine (Magnum)**) +* ``coe quotas``: (**Container Orchestration Engine (Magnum)**) +* ``coe service``: (**Container Orchestration Engine (Magnum)**) +* ``coe stats``: (**Container Orchestration Engine (Magnum)**) * ``cron trigger``: (**Workflow Engine (Mistral)**) * ``database flavor``: (**Database (Trove)**) -* ``dataprocessing data source``: (**Data Processing (Sahara)**) -* ``dataprocessing image``: (**Data Processing (Sahara)**) -* ``dataprocessing image tags``: (**Data Processing (Sahara)**) -* ``dataprocessing plugin``: (**Data Processing (Sahara)**) * ``loadbalancer``: (**Load Balancer (Octavia)**) * ``loadbalancer healthmonitor``: (**Load Balancer (Octavia)**) * ``loadbalancer l7policy``: (**Load Balancer (Octavia)**) @@ -226,13 +217,35 @@ conflicts when creating new plugins. For a complete list check out * ``ptr record``: (**DNS (Designate)**) * ``queue``: (**Messaging (Zaqar)**) * ``recordset``: (**DNS (Designate)**) -* ``rsd``: (**Disaggregated Hardware Resource Management (RSD)**) -* ``search`` (**Search (Searchlight)**) -* ``search facet`` (**Search (Searchlight)**) -* ``search resource type`` (**Search (Searchlight)**) * ``secret``: (**Key Manager (Barbican)**) * ``secret container``: (**Key Manager (Barbican)**) * ``secret order``: (**Key Manager (Barbican)**) +* ``share``: (**Share (Manila)**) +* ``share access``: (**Share (Manila)**) +* ``share availability zone``: (**Share (Manila)**) +* ``share backup``: (**Share (Manila)**) +* ``share export location``: (**Share (Manila)**) +* ``share group``: (**Share (Manila)**) +* ``share group snapshot``: (**Share (Manila)**) +* ``share group type``: (**Share (Manila)**) +* ``share instance``: (**Share (Manila)**) +* ``share limits show``: (**Share (Manila)**) +* ``share lock``: (**Share (Manila)**) +* ``share message``: (**Share (Manila)**) +* ``share migration``: (**Share (Manila)**) +* ``share network``: (**Share (Manila)**) +* ``share quota``: (**Share (Manila)**) +* ``share replica``: (**Share (Manila)**) +* ``share security service``: (**Share (Manila)**) +* ``share server``: (**Share (Manila)**) +* ``share server migration``: (**Share (Manila)**) +* ``share service``: (**Share (Manila)**) +* ``share snapshot``: (**Share (Manila)**) +* ``share snapshot access``: (**Share (Manila)**) +* ``share snapshot export location``: (**Share (Manila)**) +* ``share snapshot instance``: (**Share (Manila)**) +* ``share transfer``: (**Share (Manila)**) +* ``share type``: (**Share (Manila)**) * ``software config``: (**Orchestration (Heat)**) * ``software deployment``: (**Orchestration (Heat)**) * ``stack event``: (**Orchestration (Heat)**) @@ -276,7 +289,6 @@ Those actions with an opposite action are noted in parens if applicable. live server migration if possible * ``pause`` (``unpause``) - stop one or more servers and leave them in memory * ``query`` - Query resources by Elasticsearch query string or json format DSL. -* ``purge`` - clean resources associated with a specific project * ``cleanup`` - flexible clean resources associated with a specific project * ``reboot`` - forcibly reboot a server * ``rebuild`` - rebuild a server using (most of) the same arguments as in the original create diff --git a/doc/source/cli/data/cinder.csv b/doc/source/cli/data/cinder.csv index eeaaeacce0..1b199400b4 100644 --- a/doc/source/cli/data/cinder.csv +++ b/doc/source/cli/data/cinder.csv @@ -1,5 +1,5 @@ absolute-limits,limits show --absolute,Lists absolute limits for a user. -api-version,WONTFIX,Display the server API version information. +api-version,openstack versions show --service volume,Display the server API version information. availability-zone-list,availability zone list --volume,Lists all availability zones. attachment-complete,volume attachment complete,Complete an attachment for a cinder volume. (Supported by API versions 3.44 - 3.latest) attachment-create,volume attachment create,Create an attachment for a cinder volume. (Supported by API versions 3.27 - 3.latest) @@ -45,7 +45,7 @@ freeze-host,volume host set --disable,Freeze and disable the specified cinder-vo get-capabilities,volume backend capability show,Show capabilities of a volume backend. Admin only. get-pools,volume backend pool list,Show pool information for backends. Admin only. group-create,volume group create,Creates a group. (Supported by API versions 3.13 - 3.latest) -group-create-from-src,,Creates a group from a group snapshot or a source group. (Supported by API versions 3.14 - 3.latest) +group-create-from-src,volume group create [--source-group|--group-snapshot],Creates a group from a group snapshot or a source group. (Supported by API versions 3.14 - 3.latest) group-delete,volume group delete,Removes one or more groups. (Supported by API versions 3.13 - 3.latest) group-disable-replication,volume group set --disable-replication,Disables replication for group. (Supported by API versions 3.38 - 3.latest) group-enable-replication,volume group set --enable-replication,Enables replication for group. (Supported by API versions 3.38 - 3.latest) @@ -71,7 +71,7 @@ image-metadata-show,volume show,Shows volume image metadata. list,volume list,Lists all volumes. list-filters,block storage resource filter list,List enabled filters. (Supported by API versions 3.33 - 3.latest) manage,volume create --remote-source k=v,Manage an existing volume. -manageable-list,,Lists all manageable volumes. (Supported by API versions 3.8 - 3.latest) +manageable-list,block storage volume manageable list,Lists all manageable volumes. (Supported by API versions 3.8 - 3.latest) message-delete,volume message delete,Removes one or more messages. (Supported by API versions 3.3 - 3.latest) message-list,volume message list,Lists all messages. (Supported by API versions 3.3 - 3.latest) message-show,volume message show,Shows message details. (Supported by API versions 3.3 - 3.latest) @@ -91,36 +91,36 @@ qos-show,volume qos show,Shows a specified qos specs. quota-class-show,quota show --class,Lists quotas for a quota class. quota-class-update,quota set --class,Updates quotas for a quota class. quota-defaults,quota show --default,Lists default quotas for a tenant. -quota-delete,,Delete the quotas for a tenant. +quota-delete,quota delete --volume,Delete the quotas for a tenant. quota-show,quota show,Lists quotas for a tenant. quota-update,quota set,Updates quotas for a tenant. -quota-usage,,Lists quota usage for a tenant. +quota-usage,quota show --usage,Lists quota usage for a tenant. rate-limits,limits show --rate,Lists rate limits for a user. readonly-mode-update,volume set --read-only-mode | --read-write-mode,Updates volume read-only access-mode flag. rename,volume set --name,Renames a volume. reset-state,volume set --state,Explicitly updates the volume state. retype,volume type set --type,Changes the volume type for a volume. -revert-to-snapshot,,Revert a volume to the specified snapshot. (Supported by API versions 3.40 - 3.latest) +revert-to-snapshot,volume revert,Revert a volume to the specified snapshot. (Supported by API versions 3.40 - 3.latest) service-disable,volume service set --disable,Disables the service. service-enable,volume service set --enable,Enables the service. -service-get-log,,(Supported by API versions 3.32 - 3.latest) +service-get-log,block storage log level list,(Supported by API versions 3.32 - 3.latest) service-list,volume service list,Lists all services. Filter by host and service binary. -service-set-log,,(Supported by API versions 3.32 - 3.latest) +service-set-log,block storage log level set,(Supported by API versions 3.32 - 3.latest) set-bootable,volume set --bootable / --not-bootable,Update bootable status of a volume. show,volume show,Shows volume details. -snapshot-create,snapshot create,Creates a snapshot. -snapshot-delete,snapshot delete,Remove one or more snapshots. -snapshot-list,snapshot list,Lists all snapshots. +snapshot-create,volume snapshot create,Creates a snapshot. +snapshot-delete,volume snapshot delete,Remove one or more snapshots. +snapshot-list,volume snapshot list,Lists all snapshots. snapshot-manage,volume snapshot create --remote-source ,Manage an existing snapshot. -snapshot-manageable-list,,Lists all manageable snapshots. (Supported by API versions 3.8 - 3.latest) -snapshot-metadata,snapshot set --property k=v / snapshot unset --property k,Sets or deletes snapshot metadata. -snapshot-metadata-show,snapshot show,Shows snapshot metadata. -snapshot-metadata-update-all,snapshot set --property k=v,Updates snapshot metadata. -snapshot-rename,snapshot set --name,Renames a snapshot. -snapshot-reset-state,snapshot set --state,Explicitly updates the snapshot state. -snapshot-show,snapshot show,Shows snapshot details. +snapshot-manageable-list,block storage snapshot manageable list,Lists all manageable snapshots. (Supported by API versions 3.8 - 3.latest) +snapshot-metadata,volume snapshot set --property k=v / snapshot unset --property k,Sets or deletes snapshot metadata. +snapshot-metadata-show,volume snapshot show,Shows snapshot metadata. +snapshot-metadata-update-all,volume snapshot set --property k=v,Updates snapshot metadata. +snapshot-rename,volume snapshot set --name,Renames a snapshot. +snapshot-reset-state,volume snapshot set --state,Explicitly updates the snapshot state. +snapshot-show,volume snapshot show,Shows snapshot details. snapshot-unmanage,volume snapshot delete --remote,Stop managing a snapshot. -summary,,Get volumes summary. (Supported by API versions 3.12 - 3.latest) +summary,volume summary,Get volumes summary. (Supported by API versions 3.12 - 3.latest) thaw-host,volume host set --enable,Thaw and enable the specified cinder-volume host. transfer-accept,volume transfer accept,Accepts a volume transfer. transfer-create,volume transfer create,Creates a volume transfer. @@ -139,8 +139,8 @@ type-show,volume type show,Show volume type details. type-update,volume type set,"Updates volume type name description and/or is_public." unmanage,volume delete --remote,Stop managing a volume. upload-to-image,image create --volume,Uploads volume to Image Service as an image. -version-list,,List all API versions. (Supported by API versions 3.0 - 3.latest) -work-cleanup,,Request cleanup of services with optional filtering. (Supported by API versions 3.24 - 3.latest) +version-list,versions show --service block-storage,List all API versions. (Supported by API versions 3.0 - 3.latest) +work-cleanup,block storage cleanup,Request cleanup of services with optional filtering. (Supported by API versions 3.24 - 3.latest) bash-completion,complete,Prints arguments for bash_completion. help,help,Shows help about this program or one of its subcommands. list-extensions,extension list --volume,Lists all available os-api extensions. diff --git a/doc/source/cli/data/glance.csv b/doc/source/cli/data/glance.csv index 27585b9510..f978962274 100644 --- a/doc/source/cli/data/glance.csv +++ b/doc/source/cli/data/glance.csv @@ -1,46 +1,51 @@ +cache-clear,cached image clear,"Clear all images from cache, queue or both." +cache-delete,cached image delete,Delete image from cache/caching queue. +cache-list,cached image list,Get cache state. +cache-queue,cached image queue,Queue image(s) for caching. explain,WONTFIX,Describe a specific model. image-create,image create,Create a new image. -image-create-via-import,,EXPERIMENTAL: Create a new image via image import. +image-create-via-import, image create --import,"EXPERIMENTAL: Create a new image via image import using glance-direct import method. Missing support for web-download, copy-image and glance-download import methods. The OSC command is also missing support for importing image to specified store as well as all stores (--store, --stores, --all-stores) and skip or stop processing if import fails to one of the store (--allow-failure)" image-deactivate,image set --deactivate,Deactivate specified image. image-delete,image delete,Delete specified image. image-download,image save,Download a specific image. -image-import,,Initiate the image import taskflow. +image-import,image import,Initiate the image import taskflow. image-list,image list,List images you can access. image-reactivate,image set --activate,Reactivate specified image. image-show,image show,Describe a specific image. -image-stage,,Upload data for a specific image to staging. +image-stage,image stage,Upload data for a specific image to staging. image-tag-delete,image unset --tag ,Delete the tag associated with the given image. image-tag-update,image set --tag ,Update an image with the given tag. +image-tasks,,Get tasks associated with image. image-update,image set,Update an existing image. image-upload,,Upload data for a specific image. -import-info,,Print import methods available from Glance. +import-info,image import info,Show available import methods from Glance. location-add,,Add a location (and related metadata) to an image. location-delete,,Remove locations (and related metadata) from an image. location-update,,Update metadata of an image's location. -md-namespace-create,,Create a new metadata definitions namespace. -md-namespace-delete,,Delete specified metadata definitions namespace with its contents. -md-namespace-import,,Import a metadata definitions namespace from file or standard input. -md-namespace-list,,List metadata definitions namespaces. -md-namespace-objects-delete,,Delete all metadata definitions objects inside a specific namespace. -md-namespace-properties-delete,,Delete all metadata definitions property inside a specific namespace. -md-namespace-resource-type-list,,List resource types associated to specific namespace. -md-namespace-show,,Describe a specific metadata definitions namespace. +md-namespace-create,image metadef namespace create,Create a new metadata definitions namespace. +md-namespace-delete,image metadef namespace delete,Delete specified metadata definitions namespace with its contents. +md-namespace-import,WONTFIX,Import a metadata definitions namespace from file or standard input. +md-namespace-list,image metadef namespace list,List metadata definitions namespaces. +md-namespace-objects-delete,image metadef object delete,Delete all metadata definitions objects inside a specific namespace. +md-namespace-properties-delete,image metadef property delete,Delete all metadata definitions property inside a specific namespace. +md-namespace-resource-type-list,image metadef resource type association list,List resource types associated to specific namespace. +md-namespace-show,image metadef namespace show,Describe a specific metadata definitions namespace. md-namespace-tags-delete,,Delete all metadata definitions tags inside a specific namespace. md-namespace-update,,Update an existing metadata definitions namespace. -md-object-create,,Create a new metadata definitions object inside a namespace. -md-object-delete,,Delete a specific metadata definitions object inside a namespace. -md-object-list,,List metadata definitions objects inside a specific namespace. -md-object-property-show,,Describe a specific metadata definitions property inside an object. -md-object-show,,Describe a specific metadata definitions object inside a namespace. -md-object-update,,Update metadata definitions object inside a namespace. -md-property-create,,Create a new metadata definitions property inside a namespace. -md-property-delete,,Delete a specific metadata definitions property inside a namespace. -md-property-list,,List metadata definitions properties inside a specific namespace. -md-property-show,,Describe a specific metadata definitions property inside a namespace. -md-property-update,,Update metadata definitions property inside a namespace. -md-resource-type-associate,,Associate resource type with a metadata definitions namespace. -md-resource-type-deassociate,,Deassociate resource type with a metadata definitions namespace. -md-resource-type-list,,List available resource type names. +md-object-create,image metadef object create,Create a new metadata definitions object inside a namespace. +md-object-show,image metadef object show,Describe a specific metadata definitions object inside a namespace. +md-object-list,image metadef object list,List metadata definitions objects inside a specific namespace. +md-object-delete,image metadef object delete,Delete a specific metadata definitions object inside a namespace. +md-object-property-show,image metadef object property show,Describe a specific metadata definitions property inside an object. +md-object-update,image metadef object update,Update metadata definitions object inside a namespace. +md-property-create,image metadef property create,Create a new metadata definitions property inside a namespace. +md-property-delete,image metadef property delete,Delete a specific metadata definitions property inside a namespace. +md-property-list,image metadef property list,List metadata definitions properties inside a specific namespace. +md-property-show,image metadef property show,Describe a specific metadata definitions property inside a namespace. +md-property-update,image metadef property set,Update metadata definitions property inside a namespace. +md-resource-type-associate,image metadef resource type association create,Associate resource type with a metadata definitions namespace. +md-resource-type-deassociate,image metadef resource type association delete,Deassociate resource type with a metadata definitions namespace. +md-resource-type-list,image metadef resource type list,List available resource type names. md-tag-create,,Add a new metadata definitions tag inside a namespace. md-tag-create-multiple,,Create new metadata definitions tags inside a namespace. md-tag-delete,,Delete a specific metadata definitions tag inside a namespace. @@ -49,12 +54,14 @@ md-tag-show,,Describe a specific metadata definitions tag inside a namespace. md-tag-update,,Rename a metadata definitions tag inside a namespace. member-create,image add project,Create member for a given image. member-delete,image remove project,Delete image member. -member-list,,Describe sharing permissions by image. +member-get,image member get,Show details of an image member +member-list,image member list,Describe sharing permissions by image. member-update,image set --accept --reject --status,Update the status of a member for a given image. -stores-delete,,Delete image from specific store. +stores-delete,image delete --store,Delete image from specific store. stores-info,,Print available backends from Glance. -task-create,,Create a new task. -task-list,,List tasks you can access. -task-show,,Describe a specific task. +task-create,WONTFIX,Create a new task. +task-list,image task list,List tasks you can access. +task-show,image task show,Describe a specific task. +usage,,Get quota usage information. bash-completion,complete,Prints arguments for bash_completion. help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/keystone.csv b/doc/source/cli/data/keystone.csv index bcc305515f..2a7e7f5690 100644 --- a/doc/source/cli/data/keystone.csv +++ b/doc/source/cli/data/keystone.csv @@ -1,37 +1,37 @@ -catalog,catalog show,"List service catalog, possibly filtered by service." -ec2-credentials-create,ec2 credentials create,Create EC2-compatible credentials for user per tenant. -ec2-credentials-delete,ec2 credentials delete,Delete EC2-compatible credentials. -ec2-credentials-get,ec2 credentials show,Display EC2-compatible credentials. -ec2-credentials-list,ec2 credentials list,List EC2-compatible credentials for a user. -endpoint-create,endpoint create,Create a new endpoint associated with a service. -endpoint-delete,endpoint delete,Delete a service endpoint. -endpoint-get,endpoint get,Find endpoint filtered by a specific attribute or service type. -endpoint-list,endpoint list,List configured service endpoints. -password-update,user password set,Update own password. -role-create,role create,Create new role. -role-delete,role delete,Delete role. -role-get,role show,Display role details. -role-list,role list,List all roles. -service-create,service create,Add service to Service Catalog. -service-delete,service delete,Delete service from Service Catalog. -service-get,service show,Display service from Service Catalog. -service-list,service list,List all services in Service Catalog. -tenant-create,project create,Create new tenant. -tenant-delete,project delete,Delete tenant. -tenant-get,project show,Display tenant details. -tenant-list,project list,List all tenants. -tenant-update,project set,"Update tenant name, description, enabled status." -token-get,token issue,Display the current user token. -user-create,user create,Create new user. -user-delete,user delete,Delete user. -user-get,user show,Display user details. -user-list,user list,List users. -user-password-update,user set --password,Update user password. -user-role-add,role add --user --project,Add role to user. -user-role-list,role assignment list --user --project,List roles granted to a user. -user-role-remove,role remove --user --project,Remove role from user. -user-update,user set,"Update user's name, email, and enabled status." -discover,WONTFIX,"Discover Keystone servers, supported API versions and extensions." -bootstrap,WONTFIX,"Grants a new role to a new user on a new tenant, after creating each." -bash-completion,complete,Prints all of the commands and options to stdout. -help,help,Display help about this program or one of its subcommands. +catalog,catalog show,"List service catalog, possibly filtered by service." +ec2-credentials-create,ec2 credentials create,Create EC2-compatible credentials for user per tenant. +ec2-credentials-delete,ec2 credentials delete,Delete EC2-compatible credentials. +ec2-credentials-get,ec2 credentials show,Display EC2-compatible credentials. +ec2-credentials-list,ec2 credentials list,List EC2-compatible credentials for a user. +endpoint-create,endpoint create,Create a new endpoint associated with a service. +endpoint-delete,endpoint delete,Delete a service endpoint. +endpoint-get,endpoint get,Find endpoint filtered by a specific attribute or service type. +endpoint-list,endpoint list,List configured service endpoints. +password-update,user password set,Update own password. +role-create,role create,Create new role. +role-delete,role delete,Delete role. +role-get,role show,Display role details. +role-list,role list,List all roles. +service-create,service create,Add service to Service Catalog. +service-delete,service delete,Delete service from Service Catalog. +service-get,service show,Display service from Service Catalog. +service-list,service list,List all services in Service Catalog. +tenant-create,project create,Create new tenant. +tenant-delete,project delete,Delete tenant. +tenant-get,project show,Display tenant details. +tenant-list,project list,List all tenants. +tenant-update,project set,"Update tenant name, description, enabled status." +token-get,token issue,Display the current user token. +user-create,user create,Create new user. +user-delete,user delete,Delete user. +user-get,user show,Display user details. +user-list,user list,List users. +user-password-update,user set --password,Update user password. +user-role-add,role add --user --project,Add role to user. +user-role-list,role assignment list --user --project,List roles granted to a user. +user-role-remove,role remove --user --project,Remove role from user. +user-update,user set,"Update user's name, email, and enabled status." +discover,WONTFIX,"Discover Keystone servers, supported API versions and extensions." +bootstrap,WONTFIX,"Grants a new role to a new user on a new tenant, after creating each." +bash-completion,complete,Prints all of the commands and options to stdout. +help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/neutron.csv b/doc/source/cli/data/neutron.csv index 402f4064ee..2399ed825f 100644 --- a/doc/source/cli/data/neutron.csv +++ b/doc/source/cli/data/neutron.csv @@ -188,7 +188,7 @@ qos-policy-list,network qos policy list,List QoS policies that belong to a given qos-policy-show,network qos policy show,Show information of a given qos policy. qos-policy-update,network qos policy set,Update a given qos policy. quota-default-show,quota show --default,Show default quotas for a given tenant. -quota-delete,,Delete defined quotas of a given tenant. +quota-delete,quota delete --network,Delete defined quotas of a given tenant. quota-list,quota list,List quotas of all tenants who have non-default quota values. quota-show,quota show,Show quotas for a given tenant. quota-update,quota set,Define tenant's quotas not to use defaults. @@ -230,7 +230,7 @@ subnetpool-show,subnet pool show,Show information of a given subnetpool. subnetpool-update,subnet pool set / subnet pool unset,Update subnetpool's information. tag-add,network set --tag,Add a tag into the resource. tag-remove,network unset --tag,Remove a tag on the resource. -tag-replace,,Replace all tags on the resource. +tag-replace,network set --no-tag --tag,Replace all tags on the resource. vpn-endpoint-group-create,,Create a VPN endpoint group. vpn-endpoint-group-delete,,Delete a given VPN endpoint group. vpn-endpoint-group-list,,List VPN endpoint groups that belong to a given tenant. diff --git a/doc/source/cli/data/nova.csv b/doc/source/cli/data/nova.csv index 46459163fc..ff691a5193 100644 --- a/doc/source/cli/data/nova.csv +++ b/doc/source/cli/data/nova.csv @@ -4,7 +4,7 @@ agent-delete,compute agent delete,Delete existing agent build. agent-list,compute agent list,List all builds. agent-modify,compute agent set,Modify existing agent build. aggregate-add-host,aggregate add host,Add the host to the specified aggregate. -aggregate-cache-images,,Request images be cached. (Supported by API versions '2.81' - '2.latest') [hint: use '-- os-compute-api-version' flag to show help message for proper version] +aggregate-cache-images,aggregate cache image,Request images be cached. (Supported by API versions '2.81' - '2.latest') [hint: use '-- os-compute-api-version' flag to show help message for proper version] aggregate-create,aggregate create,Create a new aggregate with the specified details. aggregate-delete,aggregate delete,Delete the aggregate. aggregate-list,aggregate list,Print a list of all aggregates. @@ -36,19 +36,19 @@ get-rdp-console,console url show --rdp,Get a rdp console to a server. get-serial-console,console url show --serial,Get a serial console to a server. get-spice-console,console url show --spice,Get a spice console to a server. get-vnc-console,console url show --novnc,Get a vnc console to a server. -host-evacuate,,Evacuate all instances from failed host. -host-evacuate-live,,Live migrate all instances off the specified host to other available hosts. -host-meta,,Set or Delete metadata on all instances of a host. -host-servers-migrate,,Cold migrate all instances off the specified host to other available hosts. +host-evacuate,WONTFIX,Evacuate all instances from failed host. +host-evacuate-live,WONTFIX,Live migrate all instances off the specified host to other available hosts. +host-meta,WONTFIX,Set or Delete metadata on all instances of a host. +host-servers-migrate,WONTFIX,Cold migrate all instances off the specified host to other available hosts. hypervisor-list,hypervisor list,List hypervisors. (Supported by API versions '2.0' - '2.latest') -hypervisor-servers,,List servers belonging to specific hypervisors. +hypervisor-servers,server list --host,List servers belonging to specific hypervisors. hypervisor-show,hypervisor show,Display the details of the specified hypervisor. hypervisor-stats,hypervisor stats show,Get hypervisor statistics over all compute nodes. -hypervisor-uptime,,Display the uptime of the specified hypervisor. +hypervisor-uptime,hypervisor show,Display the uptime of the specified hypervisor. image-create,server image create,Create a new image by taking a snapshot of a running server. instance-action,server event show,Show an action. instance-action-list,server event list,List actions on a server. -instance-usage-audit-log,,List/Get server usage audits. +instance-usage-audit-log,WONTFIX,List/Get server usage audits. interface-attach,server add port / server add floating ip / server add fixed ip,Attach a network interface to a server. interface-detach,server remove port,Detach a network interface from a server. interface-list,port list --server,List interfaces attached to a server. @@ -65,12 +65,12 @@ live-migration-force-comp,server migration force complete,Force on-going live mi lock,server lock,Lock a server. meta,server set --property / unset,Set or delete metadata on a server. migrate,server migrate,Migrate a server. The new host will be selected by the scheduler. -migration-list,,Print a list of migrations. +migration-list,server migration list,Print a list of migrations. pause,server pause,Pause a server. quota-class-show,quota show --class,List the quotas for a quota class. quota-class-update,quota set --class,Update the quotas for a quota class. quota-defaults,quota list,List the default quotas for a tenant. -quota-delete,quota set,Delete quota for a tenant/user so their quota will Revert back to default. +quota-delete,quota delete --compute,Delete quota for a tenant/user so their quota will Revert back to default. quota-show,quota show,List the quotas for a tenant/user. quota-update,quota set,Update the quotas for a tenant/user. reboot,server reboot,Reboot a server. @@ -118,10 +118,10 @@ unshelve,server unshelve,Unshelve a server. update,server set / unset,Update the name or the description for a server. usage,usage show,Show usage data for a single tenant. usage-list,usage list,List usage data for all tenants. -version-list,,List all API versions. +version-list,versions show --service compute,List all API versions. volume-attach,server add volume,Attach a volume to a server. -volume-attachments,server show,List all the volumes attached to a server. +volume-attachments,server volume list,List all the volumes attached to a server. volume-detach,server remove volume,Detach a volume from a server. -volume-update,,Update volume attachment. +volume-update,server volume update,Update volume attachment. bash-completion,complete,Prints all of the commands and options to stdout so that the nova.bash_completion script doesn't have to hard code them. help,help,Display help about this program or one of its subcommands. diff --git a/doc/source/cli/data/swift.csv b/doc/source/cli/data/swift.csv index 681474125b..87d781e271 100644 --- a/doc/source/cli/data/swift.csv +++ b/doc/source/cli/data/swift.csv @@ -1,10 +1,10 @@ -delete,object delete / container delete,Delete a container or objects within a container. -download,object save / container save,Download objects from containers. -list,object list / container list,Lists the containers for the account or the objects for a container. -post,container create / object set / container set / object store account set,"Updates meta information for the account, container, or object." -copy,,"Copies object, optionally adds meta." -stat,object show / container show / object store account show,"Displays information for the account, container, or object." -upload,object create,Uploads files or directories to the given container. -capabilities,,List cluster capabilities. -tempurl,,Create a temporary URL. -auth,WONTFIX,Display auth related environment variables. +delete,object delete / container delete,Delete a container or objects within a container. +download,object save / container save,Download objects from containers. +list,object list / container list,Lists the containers for the account or the objects for a container. +post,container create / object set / container set / object store account set,"Updates meta information for the account, container, or object." +copy,,"Copies object, optionally adds meta." +stat,object show / container show / object store account show,"Displays information for the account, container, or object." +upload,object create,Uploads files or directories to the given container. +capabilities,,List cluster capabilities. +tempurl,,Create a temporary URL. +auth,WONTFIX,Display auth related environment variables. diff --git a/doc/source/cli/man/openstack.rst b/doc/source/cli/man/openstack.rst index dc327a66e8..8f7124dd6d 100644 --- a/doc/source/cli/man/openstack.rst +++ b/doc/source/cli/man/openstack.rst @@ -49,7 +49,7 @@ command line. The primary difference is the use of 'project' in the name of the Refer to the keystoneclient library documentation for more details about these plugins and their options, and for a complete list of available plugins. Please bear in mind that some plugins might not support all of the functionalities of :program:`openstack`; for example the v3unscopedsaml plugin can deliver only unscoped tokens, some commands might not be available through this authentication method. -Additionally, it is possible to use Keystone's service token to authenticate, by setting the options :option:`--os-token` and :option:`--os-url` (or the environment variables :envvar:`OS_TOKEN` and :envvar:`OS_URL` respectively). This method takes precedence over authentication plugins. +Additionally, it is possible to use Keystone's service token to authenticate, by setting the options :option:`--os-token` and :option:`--os-endpoint` (or the environment variables :envvar:`OS_TOKEN` and :envvar:`OS_ENDPOINT` respectively). This method takes precedence over authentication plugins. .. NOTE:: To use the ``v3unscopedsaml`` method, the lxml package will need to be installed. @@ -106,9 +106,9 @@ OPTIONS Authentication URL -.. option:: --os-url +.. option:: --os-endpoint - Service URL, when using a service token for authentication + Service ENDPOINT, when using a service token for authentication .. option:: --os-domain-name @@ -349,7 +349,7 @@ file, but if those are incomplete it may be impossible to know which auth type is intended. The :option:`--os-auth-type` option can always be used to force a specific type. -When :option:`--os-token` and :option:`--os-url` are both present the +When :option:`--os-token` and :option:`--os-endpoint` are both present the ``token_endpoint`` auth type is selected automatically. If :option:`--os-auth-url` and :option:`--os-username` are present ``password`` auth type is selected. @@ -466,9 +466,9 @@ The following environment variables can be set to alter the behaviour of :progra - ``v3applicationcredential`` - ``v3multifactor`` -.. envvar:: OS_URL +.. envvar:: OS_ENDPOINT - Service URL (when using the service token) + Service ENDPOINT (when using the service token) .. envvar:: OS_DOMAIN_NAME @@ -593,8 +593,8 @@ The following environment variables can be set to alter the behaviour of :progra BUGS ==== -Bug reports are accepted at the python-openstackclient StoryBoard project -"https://storyboard.openstack.org/#!/project/975". +Bug reports are accepted at the python-openstackclient Launchpad project +"https://bugs.launchpad.net/python-openstackclient". AUTHORS diff --git a/doc/source/cli/plugin-commands/aodh.rst b/doc/source/cli/plugin-commands/aodh.rst new file mode 100644 index 0000000000..5d8b4332cf --- /dev/null +++ b/doc/source/cli/plugin-commands/aodh.rst @@ -0,0 +1,4 @@ +aodh +---- + +.. autoprogram-cliff:: openstack.alarming.v2 diff --git a/doc/source/cli/plugin-commands/cyborg.rst b/doc/source/cli/plugin-commands/cyborg.rst new file mode 100644 index 0000000000..aedaa6b53d --- /dev/null +++ b/doc/source/cli/plugin-commands/cyborg.rst @@ -0,0 +1,4 @@ +cyborg +------ + +.. autoprogram-cliff:: openstack.accelerator.v2 diff --git a/doc/source/cli/plugin-commands/index.rst b/doc/source/cli/plugin-commands/index.rst index 638dcbe560..2622ee58b3 100644 --- a/doc/source/cli/plugin-commands/index.rst +++ b/doc/source/cli/plugin-commands/index.rst @@ -7,42 +7,21 @@ Plugin Commands .. toctree:: :maxdepth: 1 + aodh barbican + cyborg designate gnocchi heat ironic ironic-inspector + magnum manila mistral neutron octavia placement - rsd - sahara - senlin trove watcher zaqar zun - -.. TODO(efried): Make pages for the following once they're fixed. - -.. aodh -.. # aodhclient docs build is failing with recent pyparsing -.. # autoprogram-cliff:: openstack.alarming.v2 - -.. cue -.. # cueclient is not in global-requirements -.. # list-plugins:: openstack.mb.v1 -.. # :detailed: - -.. murano -.. # the murano docs cause warnings and a broken docs build -.. # .. list-plugins:: openstack.application_catalog.v1 -.. # :detailed: - -.. tripleo -.. # tripleoclient is not in global-requirements -.. # list-plugins:: openstack.tripleoclient.v1 -.. # :detailed: diff --git a/doc/source/cli/plugin-commands/magnum.rst b/doc/source/cli/plugin-commands/magnum.rst new file mode 100644 index 0000000000..9b3f9f7e8a --- /dev/null +++ b/doc/source/cli/plugin-commands/magnum.rst @@ -0,0 +1,4 @@ +magnum +------ + +.. autoprogram-cliff:: openstack.container_infra.v1 diff --git a/doc/source/cli/plugin-commands/rsd.rst b/doc/source/cli/plugin-commands/rsd.rst deleted file mode 100644 index d28cea316f..0000000000 --- a/doc/source/cli/plugin-commands/rsd.rst +++ /dev/null @@ -1,4 +0,0 @@ -rsd ---- - -.. autoprogram-cliff:: openstack.rsd.v2 diff --git a/doc/source/cli/plugin-commands/sahara.rst b/doc/source/cli/plugin-commands/sahara.rst deleted file mode 100644 index 7c51756a3a..0000000000 --- a/doc/source/cli/plugin-commands/sahara.rst +++ /dev/null @@ -1,4 +0,0 @@ -sahara ------- - -.. autoprogram-cliff:: openstack.data_processing.v1 diff --git a/doc/source/cli/plugin-commands/senlin.rst b/doc/source/cli/plugin-commands/senlin.rst deleted file mode 100644 index 90929058f8..0000000000 --- a/doc/source/cli/plugin-commands/senlin.rst +++ /dev/null @@ -1,4 +0,0 @@ -senlin ------- - -.. autoprogram-cliff:: openstack.clustering.v1 diff --git a/doc/source/conf.py b/doc/source/conf.py index 4b60ce4a5d..6ee3145558 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # OpenStack Command Line Client documentation build configuration file, created # by sphinx-quickstart on Wed May 16 12:05:58 2012. @@ -15,22 +14,22 @@ # -- General configuration ---------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' +# needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', - 'sphinx.ext.doctest', - 'sphinx.ext.todo', - 'openstackdocstheme', - 'stevedore.sphinxext', - 'cliff.sphinxext', - 'sphinxcontrib.apidoc', - ] +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.todo', + 'openstackdocstheme', + 'stevedore.sphinxext', + 'cliff.sphinxext', + 'sphinxcontrib.apidoc', +] # openstackdocstheme options openstackdocs_repo_name = 'openstack/python-openstackclient' -openstackdocs_use_storyboard = True openstackdocs_auto_name = False # Add project 'foo' to this list to enable the :foo-doc: role @@ -39,30 +38,30 @@ ] # Add any paths that contain templates here, relative to this directory. -#templates_path = ['_templates'] +# templates_path = ['_templates'] # The suffix of source filenames. source_suffix = '.rst' # The encoding of source files. -#source_encoding = 'utf-8-sig' +# source_encoding = 'utf-8-sig' # The master toctree document. master_doc = 'index' # General information about the project. -project = u'OpenStack Command Line Client' -copyright = u'2012-2013 OpenStack Foundation' +project = 'OpenStack Command Line Client' +copyright = '2012-2013 OpenStack Foundation' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. -#language = None +# language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: -#today = '' +# today = '' # Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' +# today_fmt = '%B %d, %Y' # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. @@ -70,18 +69,18 @@ # The reST default role (used for this markup: `text`) to use for all # documents. -#default_role = None +# default_role = None # If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True +# add_function_parentheses = True # If true, the current module name will be prepended to all description # unit titles (such as .. function::). -#add_module_names = True +# add_module_names = True # If true, sectionauthor and moduleauthor directives will be shown in the # output. They are ignored by default. -#show_authors = False +# show_authors = False # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'native' @@ -94,75 +93,75 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. -#html_theme_path = ["."] -#html_theme = '_theme' +# html_theme_path = ["."] +# html_theme = '_theme' html_theme = 'openstackdocs' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +# html_theme_options = {} # Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] +# html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +# html_title = None # A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None +# html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = None # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +# html_favicon = None # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". -#html_static_path = ['_static'] +# html_static_path = ['_static'] # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +# html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +# html_sidebars = {} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +# html_additional_pages = {} # If false, no module index is generated. -#html_domain_indices = True +# html_domain_indices = True # If false, no index is generated. -#html_use_index = True +# html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +# html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +# html_show_sourcelink = True # If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True +# html_show_sphinx = True # If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True +# html_show_copyright = True # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the # base URL from which the finished HTML is served. -#html_use_opensearch = '' +# html_use_opensearch = '' # This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None +# html_file_suffix = None # Output file base name for HTML help builder. htmlhelp_basename = 'OpenStackCommandLineClientdoc' @@ -174,44 +173,46 @@ # -- Options for LaTeX output ------------------------------------------------- latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', + # The paper size ('letterpaper' or 'a4paper'). + #'papersize': 'letterpaper', + # The font size ('10pt', '11pt' or '12pt'). + #'pointsize': '10pt', + # Additional stuff for the LaTeX preamble. + #'preamble': '', } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]) # . latex_documents = [ - ('index', 'OpenStackCommandLineClient.tex', - u'OpenStack Command Line Client Documentation', - u'OpenStack', 'manual'), + ( + 'index', + 'OpenStackCommandLineClient.tex', + 'OpenStack Command Line Client Documentation', + 'OpenStack', + 'manual', + ), ] # The name of an image file (relative to this directory) to place at the top of # the title page. -#latex_logo = None +# latex_logo = None # For "manual" documents, if this is true, then toplevel headings are parts, # not chapters. -#latex_use_parts = False +# latex_use_parts = False # If true, show page references after internal links. -#latex_show_pagerefs = False +# latex_show_pagerefs = False # If true, show URL addresses after external links. -#latex_show_urls = False +# latex_show_urls = False # Documents to append as an appendix to all manuals. -#latex_appendices = [] +# latex_appendices = [] # If false, no module index is generated. -#latex_domain_indices = True +# latex_domain_indices = True # -- Options for manual page output ------------------------------------------- @@ -222,14 +223,14 @@ ( 'cli/man/openstack', 'openstack', - u'OpenStack Command Line Client', - [u'OpenStack contributors'], + 'OpenStack Command Line Client', + ['OpenStack contributors'], 1, ), ] # If true, show URL addresses after external links. -#man_show_urls = False +# man_show_urls = False # -- Options for Texinfo output ----------------------------------------------- @@ -238,21 +239,25 @@ # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ - ('index', 'OpenStackCommandLineClient', - u'OpenStack Command Line Client Documentation', - u'OpenStack', 'OpenStackCommandLineClient', - 'One line description of project.', - 'Miscellaneous'), + ( + 'index', + 'OpenStackCommandLineClient', + 'OpenStack Command Line Client Documentation', + 'OpenStack', + 'OpenStackCommandLineClient', + 'One line description of project.', + 'Miscellaneous', + ), ] # Documents to append as an appendix to all manuals. -#texinfo_appendices = [] +# texinfo_appendices = [] # If false, no module index is generated. -#texinfo_domain_indices = True +# texinfo_domain_indices = True # How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' +# texinfo_show_urls = 'footnote' # -- Options for cliff.sphinxext plugin --------------------------------------- @@ -260,8 +265,16 @@ autoprogram_cliff_application = 'openstack' autoprogram_cliff_ignored = [ - '--help', '--format', '--column', '--max-width', '--fit-width', - '--print-empty', '--prefix', '--noindent', '--quote'] + '--help', + '--format', + '--column', + '--max-width', + '--fit-width', + '--print-empty', + '--prefix', + '--noindent', + '--quote', +] # Prevent cliff from generating "This command is provided by the # python-openstackclient plugin." diff --git a/doc/source/contributor/command-errors.rst b/doc/source/contributor/command-errors.rst index c4adb7d190..f47dfec7c3 100644 --- a/doc/source/contributor/command-errors.rst +++ b/doc/source/contributor/command-errors.rst @@ -29,8 +29,9 @@ Example This example is taken from ``keypair create`` where the ``--public-key`` option specifies a file containing the public key to upload. If the file is not found, -the IOError exception is trapped and a more specific CommandError exception is -raised that includes the name of the file that was attempted to be opened. +the ``IOError`` exception is trapped and a more specific ``CommandError`` +exception is raised that includes the name of the file that was attempted to be +opened. .. code-block:: python @@ -45,7 +46,7 @@ raised that includes the name of the file that was attempted to be opened. public_key = parsed_args.public_key if public_key: try: - with io.open( + with open( os.path.expanduser(parsed_args.public_key), "rb" ) as p: @@ -56,8 +57,8 @@ raised that includes the name of the file that was attempted to be opened. msg % (parsed_args.public_key, e), ) - keypair = compute_client.keypairs.create( - parsed_args.name, + keypair = compute_client.create_keypair( + name=parsed_args.name, public_key=public_key, ) diff --git a/doc/source/contributor/humaninterfaceguide.rst b/doc/source/contributor/humaninterfaceguide.rst index a7db380053..db6d7987b9 100644 --- a/doc/source/contributor/humaninterfaceguide.rst +++ b/doc/source/contributor/humaninterfaceguide.rst @@ -117,14 +117,14 @@ interface to the user, not the user to the interface. Commands should be discoverable via the interface itself. -To determine a list of available commands, use the :code:`-h` or -:code:`--help` options: +To determine a list of available commands, use the ``-h`` or +``--help`` options: .. code-block:: bash $ openstack --help -For help with an individual command, use the :code:`help` command: +For help with an individual command, use the ``help`` command: .. code-block:: bash @@ -167,7 +167,7 @@ Command Structure OpenStackClient has a consistent and predictable format for all of its commands. -* The top level command name is :code:`openstack` +* The top level command name is ``openstack`` * Sub-commands take the form: .. code-block:: bash @@ -185,6 +185,21 @@ Output formats: * user-friendly tables with headers, etc * machine-parsable delimited +.. note:: + + A note on terminology. An **argument** is a positional parameter to the + command. As discussed later, these should be used sparingly in + OpenStackClient. An **option** - also known as a **flag** - is a named + parameter denoted with either a hyphen and a single-letter name (``-r``) or + a double hyphen and a multiple-letter name (``--recursive``). They may or + may not also include a user-specified value (``--file foo.txt`` or + ``--file=foo.txt``). + + For more information on this topic and CLIs in general, refer to the + excellent `Command Line Interface Guidelines website`__. + + .. __: https://clig.dev/#arguments-and-flags + Global Options ~~~~~~~~~~~~~~ @@ -193,84 +208,151 @@ invocation regardless of action to be performed. They include authentication credentials and API version selection. Most global options have a corresponding environment variable that may also be used to set the value. If both are present, the command-line option takes priority. The environment variable names are derived -from the option name by dropping the leading dashes ('--'), converting each embedded -dash ('-') to an underscore ('_'), and converting to upper case. +from the option name by dropping the leading dashes (``--``), converting each embedded +dash (``-``) to an underscore (``_``), and converting to upper case. * Global options shall always have a long option name, certain common options may also have short names. Short names should be reserved for global options to limit the potential for duplication and multiple meanings between commands given the limited set of available short names. -* All long options names shall begin with two dashes ('--') and use a single dash - ('-') internally between words (:code:`--like-this`). Underscores ('_') shall not + +* All long options names shall begin with two dashes (``--``) and use a single dash + (``-``) internally between words (``--like-this``). Underscores (``_``) shall not be used in option names. + * Authentication options conform to the common CLI authentication guidelines in :ref:`authentication`. -For example, :code:`--os-username` can be set from the environment via -:code:`OS_USERNAME`. +For example, ``--os-username`` can be set from the environment via +``OS_USERNAME``. ---help -++++++ +``--help`` +++++++++++ -The standard :code:`--help` global option displays the documentation for invoking +The standard ``--help`` global option displays the documentation for invoking the program and a list of the available commands on standard output. All other options and commands are ignored when this is present. The traditional short -form help option (:code:`-h`) is also available. +form help option (``-h``) is also available. ---version -+++++++++ +``--version`` ++++++++++++++ -The standard :code:`--version` option displays the name and version on standard +The standard ``--version`` option displays the name and version on standard output. All other options and commands are ignored when this is present. -Command Object(s) and Action -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Objects and Actions +~~~~~~~~~~~~~~~~~~~ -Commands consist of an object described by one or more words followed by an action. Commands that require two objects have the primary object ahead of the action and the secondary object after the action. Any positional arguments identifying the objects shall appear in the same order as the objects. In badly formed English it is expressed as "(Take) object1 (and perform) action (using) object2 (to it)." +Commands consist of an object, described by one or more words, followed by an +action. :: - [] + -Examples: +For example: -* :code:`group add user ` -* :code:`volume type list` # Note that :code:`volume type` is a two-word - single object +* ``group create`` +* ``server set`` +* ``volume type list`` -The :code:`help` command is unique as it appears in front of a normal command -and displays the help text for that command rather than execute it. +(note that ``volume type`` is a two-word single object) + +Some commands require two objects. These commands have the primary object ahead of the +action and the secondary object after the action. In badly formed English it is +expressed as "(Take) object-1 (and perform) action (using) object-2 (to it)." :: + + + +For example: + +* ``group add user`` +* ``aggregate add host`` +* ``image remove project`` Object names are always specified in command in their singular form. This is contrary to natural language use. -Command Arguments and Options -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``help`` +++++++++ + +The ``help`` command is unique as it appears in front of a normal command +and displays the help text for that command rather than execute it. + +Arguments +~~~~~~~~~ + +Commands that interact with a specific instance of an object should accept a +single argument. This argument should be a name or identifier for the object. +:: + + [] + +For example: + +* ``group create `` +* ``server set `` + +(note that ``volume type`` is a two-word single object) + +For commands that require two objects, the commands should accept two +arguments when interacting with specific instances of the two objects. These +arguments should appear in the same order as the objects. :: + + [ ] + +For example: + +* ``group add user `` +* ``aggregate add host `` +* ``image remove project `` + +Options +~~~~~~~ Each command may have its own set of options distinct from the global options. They follow the same style as the global options and always appear between -the command and any positional arguments the command requires. +the command and any arguments the command requires. -Command options shall only have long names. The small range of available -short names makes it hard for a single short option name to have a consistent -meaning across multiple commands. +Command options should only have long names. The small range of available short +names makes it hard for a single short option name to have a consistent meaning +across multiple commands. Option Forms ++++++++++++ -* **boolean**: boolean options shall use a form of :code:`--|--` - (preferred) or :code:`--