remove unused common files
Now that we have removed the manuals that will no longer be maintained here, we can also clean up the common content that was only used in those deleted manuals. Change-Id: I3c934ef9ebf9f49f43a10f5182ffcf6e74ff7358 Signed-off-by: Doug Hellmann <doug@doughellmann.com>
This commit is contained in:
parent
f7b5b56b34
commit
2402e636ae
@ -82,7 +82,6 @@ release = '15.0.0'
|
||||
exclude_patterns = [
|
||||
'common/appendix.rst',
|
||||
'common/cli-*.rst',
|
||||
'common/nova-show-usage-statistics-for-hosts-instances.rst',
|
||||
]
|
||||
|
||||
# The reST default role (used for this markup: `text`) to use for all
|
||||
|
@ -1,17 +0,0 @@
|
||||
========================================
|
||||
Discover the version number for a client
|
||||
========================================
|
||||
|
||||
Run the following command to discover the version number for a client:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ PROJECT --version
|
||||
|
||||
For example, to see the version number for the ``openstack`` client,
|
||||
run the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack --version
|
||||
openstack 3.2.0
|
@ -1,281 +0,0 @@
|
||||
==========================================
|
||||
Install the OpenStack command-line clients
|
||||
==========================================
|
||||
|
||||
Install the prerequisite software and the Python package for each
|
||||
OpenStack client.
|
||||
|
||||
Install the prerequisite software
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Most Linux distributions include packaged versions of the command-line clients.
|
||||
You can directly install the clients from the packages with prerequisites.
|
||||
For more information, see Installing_from_packages_.
|
||||
|
||||
If you need to install the source package for the command-line package,
|
||||
the following table lists the software needed to run the
|
||||
command-line clients, and provides installation instructions as needed.
|
||||
|
||||
.. tabularcolumns:: |p{0.2\textwidth}|p{0.75\textwidth}|
|
||||
.. list-table:: OpenStack command-line clients prerequisites
|
||||
:class: longtable
|
||||
:header-rows: 1
|
||||
:widths: 20 80
|
||||
|
||||
* - Prerequisite
|
||||
- Description
|
||||
* - Python 2.7 or later
|
||||
- Supports Python 2.7, 3.4, and 3.5.
|
||||
* - setuptools package
|
||||
- Installed by default on Mac OS X.
|
||||
|
||||
Many Linux distributions provide packages to make setuptools
|
||||
easy to install. Search your package manager for setuptools to
|
||||
find an installation package.
|
||||
If you cannot find one, download the setuptools package
|
||||
directly from `Python Setuptools
|
||||
<https://pypi.python.org/pypi/setuptools>`_.
|
||||
|
||||
The recommended way to install setuptools on Microsoft Windows
|
||||
is to follow the documentation provided on the `Python Setuptools
|
||||
<https://pypi.python.org/pypi/setuptools>`_ website.
|
||||
|
||||
Another option is to use the `unofficial binary installer
|
||||
maintained by Christoph Gohlke
|
||||
<http://www.lfd.uci.edu/~gohlke/pythonlibs/#setuptools>`_.
|
||||
* - pip package
|
||||
- To install the clients on a Linux, Mac OS X, or Microsoft Windows
|
||||
system, use pip. It is easy to use, ensures that you get the latest
|
||||
version of the clients from the `Python Package Index
|
||||
<https://pypi.python.org/>`__, and lets you update or remove
|
||||
the packages later on.
|
||||
|
||||
Since the installation process compiles source files, this requires
|
||||
the related Python development package for your operating system
|
||||
and distribution.
|
||||
|
||||
**Option 1:** Install pip using get-pip.py
|
||||
|
||||
To install pip, securely download `get-pip.py
|
||||
<https://bootstrap.pypa.io/get-pip.py>`__.
|
||||
Then run the following:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# python get-pip.py
|
||||
|
||||
For more details visit `install pip
|
||||
<https://pip.pypa.io/en/stable/installing/>`__.
|
||||
|
||||
**Option 2:** Install pip through the package manager for your system
|
||||
|
||||
|
||||
**Ubuntu or Debian**
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# apt install python-dev python-pip
|
||||
|
||||
Note that extra dependencies may be required, per operating system,
|
||||
depending on the package being installed, such as is the case with
|
||||
Tempest.
|
||||
|
||||
**Red Hat Enterprise Linux or CentOS**
|
||||
|
||||
A packaged version enables you to use yum to install the package:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# yum install python-devel python-pip
|
||||
|
||||
On Red Hat Enterprise Linux, this command assumes that you have enabled
|
||||
the OpenStack repository. For more information, see the
|
||||
`Installation Tutorial for Red Hat Enterprise Linux and CentOS
|
||||
<https://docs.openstack.org/ocata/install-guide-rdo/environment-packages.html>`_.
|
||||
|
||||
There are also packaged versions of the clients available that enable
|
||||
:command:`yum` to install the clients as described in
|
||||
Installing_from_packages_.
|
||||
|
||||
**Fedora**
|
||||
|
||||
A packaged version enables you to use :command:`dnf` to install the
|
||||
package:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# dnf install python-devel python-pip
|
||||
|
||||
**SUSE Linux Enterprise Server**
|
||||
|
||||
A packaged version available in `the Open Build Service
|
||||
<https://build.opensuse.org/package/show?package=python-pip&project=Cloud:OpenStack:Master>`__
|
||||
enables you to use YaST or zypper to install the package.
|
||||
|
||||
First, add the Open Build Service repository as described in the
|
||||
`Installation Tutorial
|
||||
<https://docs.openstack.org/ocata/install-guide-obs/environment-packages.html>`_.
|
||||
|
||||
Then install pip and use it to manage client installation:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# zypper install python-devel python-pip
|
||||
|
||||
There are also packaged versions of the clients available that enable
|
||||
zypper to install the clients as described in Installing_from_packages_.
|
||||
|
||||
**openSUSE**
|
||||
|
||||
You can install pip and use it to manage client installation:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# zypper install python-devel python-pip
|
||||
|
||||
There are also packaged versions of the clients available that enable
|
||||
zypper to install the clients as described in Installing_from_packages_.
|
||||
|
||||
Another option for Microsoft Windows is to use the `unofficial binary installer provided
|
||||
by Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip>`_.
|
||||
|
||||
Install the OpenStack client
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following example shows the command for installing the OpenStack client
|
||||
with ``pip``, which supports multiple services.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# pip install python-openstackclient
|
||||
|
||||
The following individual clients are deprecated in favor of a common client.
|
||||
Instead of installing and learning all these clients, we recommend
|
||||
installing and using the OpenStack client. You may need to install an
|
||||
individual project's client because coverage is not yet sufficient in the
|
||||
OpenStack client. If you need to install an individual client's project,
|
||||
replace the ``PROJECT`` name in this ``pip install`` command using the
|
||||
list below.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# pip install python-PROJECTclient
|
||||
|
||||
* ``barbican`` - Key Manager Service API
|
||||
* ``ceilometer`` - Telemetry API
|
||||
* ``cinder`` - Block Storage API and extensions
|
||||
* ``cloudkitty`` - Rating service API
|
||||
* ``designate`` - DNS service API
|
||||
* ``glance`` - Image service API
|
||||
* ``gnocchi`` - Telemetry API v3
|
||||
* ``heat`` - Orchestration API
|
||||
* ``magnum`` - Container Infrastructure Management service API
|
||||
* ``manila`` - Shared file systems API
|
||||
* ``mistral`` - Workflow service API
|
||||
* ``monasca`` - Monitoring API
|
||||
* ``murano`` - Application catalog API
|
||||
* ``neutron`` - Networking API
|
||||
* ``nova`` - Compute API and extensions
|
||||
* ``senlin`` - Clustering service API
|
||||
* ``swift`` - Object Storage API
|
||||
* ``trove`` - Database service API
|
||||
|
||||
.. _Installing_with_pip:
|
||||
|
||||
Installing with pip
|
||||
-------------------
|
||||
|
||||
Use pip to install the OpenStack clients on a Linux, Mac OS X, or
|
||||
Microsoft Windows system. It is easy to use and ensures that you get the
|
||||
latest version of the client from the `Python Package
|
||||
Index <https://pypi.python.org/pypi>`__. Also, pip enables you to update
|
||||
or remove a package.
|
||||
|
||||
Install each client separately by using the following command:
|
||||
|
||||
* For Mac OS X or Linux:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# pip install python-PROJECTclient
|
||||
|
||||
* For Microsoft Windows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
C:\>pip install python-PROJECTclient
|
||||
|
||||
.. _Installing_from_packages:
|
||||
|
||||
Installing from packages
|
||||
------------------------
|
||||
|
||||
RDO, openSUSE, SUSE Linux Enterprise, Debian, and Ubuntu have client packages
|
||||
that can be installed without pip.
|
||||
|
||||
.. note::
|
||||
|
||||
The packaged version might install older clients.
|
||||
If you want to make sure the latest clients are installed,
|
||||
you might need to :ref:`install the clients with pip <installing_with_pip>`.
|
||||
|
||||
* On Red Hat Enterprise Linux or CentOS, use ``yum`` to install the clients
|
||||
from the packaged versions:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# yum install python-PROJECTclient
|
||||
|
||||
This command assumes that you have enabled the OpenStack repository for your
|
||||
distribution. For more information, see the
|
||||
`Installation Tutorial for Red Hat Enterprise Linux and CentOS
|
||||
<https://docs.openstack.org/ocata/install-guide-rdo/environment-packages.html>`_.
|
||||
|
||||
* For Ubuntu or Debian, use ``apt-get`` to install the clients from the
|
||||
packaged versions:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# apt-get install python-PROJECTclient
|
||||
|
||||
* For openSUSE, use ``zypper`` to install the clients from the distribution
|
||||
packages service:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# zypper install python-PROJECTclient
|
||||
|
||||
* For SUSE Linux Enterprise Server, use ``zypper`` to install the clients from
|
||||
the packaged versions:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# zypper install python-PROJECTclient
|
||||
|
||||
This command assumes that you have enabled the OpenStack repository for your
|
||||
distribution. For more information, see the
|
||||
`Installation Tutorial for openSUSE and SUSE Linux Enterprise
|
||||
<https://docs.openstack.org/ocata/install-guide-obs/environment-packages.html>`_.
|
||||
|
||||
Upgrade or remove clients
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To upgrade a client with :command:`pip`, add the ``--upgrade`` option to the
|
||||
:command:`pip install` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# pip install --upgrade python-PROJECTclient
|
||||
|
||||
To remove the client with pip, run the :command:`pip uninstall` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# pip uninstall python-PROJECTclient
|
||||
|
||||
What's next
|
||||
~~~~~~~~~~~
|
||||
|
||||
Before you can run client commands, you must create and source the
|
||||
``PROJECT-openrc.sh`` file to set environment variables. See
|
||||
:doc:`../common/cli-set-environment-variables-using-openstack-rc`.
|
@ -1,282 +0,0 @@
|
||||
=============
|
||||
Manage images
|
||||
=============
|
||||
|
||||
The cloud operator assigns roles to users. Roles determine who can
|
||||
upload and manage images. The operator might restrict image upload and
|
||||
management to only cloud administrators or operators.
|
||||
|
||||
You can upload images through the :command:`openstack image create`
|
||||
command or the Image service API. You can use the ``openstack`` client
|
||||
for the image management. It provides mechanisms to list and
|
||||
delete images, set and delete image metadata, and create images of a
|
||||
running instance or snapshot and backup types.
|
||||
|
||||
After you upload an image, you cannot change it.
|
||||
|
||||
For details about image creation, see the `Virtual Machine Image
|
||||
Guide <https://docs.openstack.org/image-guide/>`__.
|
||||
|
||||
List or get details for images (glance)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To get a list of images and to get further details about a single
|
||||
image, use :command:`openstack image list` and :command:`openstack image show`
|
||||
commands.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image list
|
||||
+--------------------------------------+---------------------------------+--------+
|
||||
| ID | Name | Status |
|
||||
+--------------------------------------+---------------------------------+--------+
|
||||
| dfc1dfb0-d7bf-4fff-8994-319dd6f703d7 | cirros-0.3.5-x86_64-uec | active |
|
||||
| a3867e29-c7a1-44b0-9e7f-10db587cad20 | cirros-0.3.5-x86_64-uec-kernel | active |
|
||||
| 4b916fba-6775-4092-92df-f41df7246a6b | cirros-0.3.5-x86_64-uec-ramdisk | active |
|
||||
| d07831df-edc3-4817-9881-89141f9134c3 | myCirrosImage | active |
|
||||
+--------------------------------------+---------------------------------+--------+
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image show myCirrosImage
|
||||
+------------------+------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+------------------+------------------------------------------------------+
|
||||
| checksum | ee1eca47dc88f4879d8a229cc70a07c6 |
|
||||
| container_format | ami |
|
||||
| created_at | 2016-08-11T15:07:26Z |
|
||||
| disk_format | ami |
|
||||
| file | /v2/images/d07831df-edc3-4817-9881-89141f9134c3/file |
|
||||
| id | d07831df-edc3-4817-9881-89141f9134c3 |
|
||||
| min_disk | 0 |
|
||||
| min_ram | 0 |
|
||||
| name | myCirrosImage |
|
||||
| owner | d88310717a8e4ebcae84ed075f82c51e |
|
||||
| protected | False |
|
||||
| schema | /v2/schemas/image |
|
||||
| size | 13287936 |
|
||||
| status | active |
|
||||
| tags | |
|
||||
| updated_at | 2016-08-11T15:20:02Z |
|
||||
| virtual_size | None |
|
||||
| visibility | private |
|
||||
+------------------+------------------------------------------------------+
|
||||
|
||||
When viewing a list of images, you can also use ``grep`` to filter the
|
||||
list, as follows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image list | grep 'cirros'
|
||||
| dfc1dfb0-d7bf-4fff-8994-319dd6f703d7 | cirros-0.3.5-x86_64-uec | active |
|
||||
| a3867e29-c7a1-44b0-9e7f-10db587cad20 | cirros-0.3.5-x86_64-uec-kernel | active |
|
||||
| 4b916fba-6775-4092-92df-f41df7246a6b | cirros-0.3.5-x86_64-uec-ramdisk | active |
|
||||
|
||||
.. note::
|
||||
|
||||
To store location metadata for images, which enables direct file access for a client,
|
||||
update the ``/etc/glance/glance-api.conf`` file with the following statements:
|
||||
|
||||
* ``show_multiple_locations = True``
|
||||
|
||||
* ``filesystem_store_metadata_file = filePath``
|
||||
|
||||
where filePath points to a JSON file that defines the mount point for OpenStack
|
||||
images on your system and a unique ID. For example:
|
||||
|
||||
.. code-block:: json
|
||||
|
||||
[{
|
||||
"id": "2d9bb53f-70ea-4066-a68b-67960eaae673",
|
||||
"mountpoint": "/var/lib/glance/images/"
|
||||
}]
|
||||
|
||||
After you restart the Image service, you can use the following syntax to view
|
||||
the image's location information:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack --os-image-api-version 2 image show imageID
|
||||
|
||||
For example, using the image ID shown above, you would issue the command as follows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack --os-image-api-version 2 image show 2d9bb53f-70ea-4066-a68b-67960eaae673
|
||||
|
||||
Create or update an image (glance)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To create an image, use :command:`openstack image create`:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image create imageName
|
||||
|
||||
To update an image by name or ID, use :command:`openstack image set`:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image set imageName
|
||||
|
||||
The following list explains the optional arguments that you can use with
|
||||
the ``create`` and ``set`` commands to modify image properties. For
|
||||
more information, refer to the `OpenStack Image command reference
|
||||
<https://docs.openstack.org/developer/python-openstackclient/command-objects/image.html>`_.
|
||||
|
||||
The following example shows the command that you would use to upload a
|
||||
CentOS 6.3 image in qcow2 format and configure it for public access:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image create --disk-format qcow2 --container-format bare \
|
||||
--public --file ./centos63.qcow2 centos63-image
|
||||
|
||||
The following example shows how to update an existing image with a
|
||||
properties that describe the disk bus, the CD-ROM bus, and the VIF
|
||||
model:
|
||||
|
||||
.. note::
|
||||
|
||||
When you use OpenStack with VMware vCenter Server, you need to specify
|
||||
the ``vmware_disktype`` and ``vmware_adaptertype`` properties with
|
||||
:command:`openstack image create`.
|
||||
Also, we recommend that you set the ``hypervisor_type="vmware"`` property.
|
||||
For more information, see `Images with VMware vSphere
|
||||
<https://docs.openstack.org/ocata/config-reference/compute/hypervisor-vmware.html#images-with-vmware-vsphere>`_
|
||||
in the OpenStack Configuration Reference.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image set \
|
||||
--property hw_disk_bus=scsi \
|
||||
--property hw_cdrom_bus=ide \
|
||||
--property hw_vif_model=e1000 \
|
||||
f16-x86_64-openstack-sda
|
||||
|
||||
Currently the libvirt virtualization tool determines the disk, CD-ROM,
|
||||
and VIF device models based on the configured hypervisor type
|
||||
(``libvirt_type`` in ``/etc/nova/nova.conf`` file). For the sake of optimal
|
||||
performance, libvirt defaults to using virtio for both disk and VIF
|
||||
(NIC) models. The disadvantage of this approach is that it is not
|
||||
possible to run operating systems that lack virtio drivers, for example,
|
||||
BSD, Solaris, and older versions of Linux and Windows.
|
||||
|
||||
If you specify a disk or CD-ROM bus model that is not supported, see
|
||||
the Disk_and_CD-ROM_bus_model_values_table_.
|
||||
If you specify a VIF model that is not supported, the instance fails to
|
||||
launch. See the VIF_model_values_table_.
|
||||
|
||||
The valid model values depend on the ``libvirt_type`` setting, as shown
|
||||
in the following tables.
|
||||
|
||||
.. _Disk_and_CD-ROM_bus_model_values_table:
|
||||
|
||||
**Disk and CD-ROM bus model values**
|
||||
|
||||
+-------------------------+--------------------------+
|
||||
| libvirt\_type setting | Supported model values |
|
||||
+=========================+==========================+
|
||||
| qemu or kvm | * ide |
|
||||
| | |
|
||||
| | * scsi |
|
||||
| | |
|
||||
| | * virtio |
|
||||
+-------------------------+--------------------------+
|
||||
| xen | * ide |
|
||||
| | |
|
||||
| | * xen |
|
||||
+-------------------------+--------------------------+
|
||||
|
||||
|
||||
.. _VIF_model_values_table:
|
||||
|
||||
**VIF model values**
|
||||
|
||||
+-------------------------+--------------------------+
|
||||
| libvirt\_type setting | Supported model values |
|
||||
+=========================+==========================+
|
||||
| qemu or kvm | * e1000 |
|
||||
| | |
|
||||
| | * ne2k\_pci |
|
||||
| | |
|
||||
| | * pcnet |
|
||||
| | |
|
||||
| | * rtl8139 |
|
||||
| | |
|
||||
| | * virtio |
|
||||
+-------------------------+--------------------------+
|
||||
| xen | * e1000 |
|
||||
| | |
|
||||
| | * netfront |
|
||||
| | |
|
||||
| | * ne2k\_pci |
|
||||
| | |
|
||||
| | * pcnet |
|
||||
| | |
|
||||
| | * rtl8139 |
|
||||
+-------------------------+--------------------------+
|
||||
| vmware | * VirtualE1000 |
|
||||
| | |
|
||||
| | * VirtualPCNet32 |
|
||||
| | |
|
||||
| | * VirtualVmxnet |
|
||||
+-------------------------+--------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
By default, hardware properties are retrieved from the image
|
||||
properties. However, if this information is not available, the
|
||||
``libosinfo`` database provides an alternative source for these
|
||||
values.
|
||||
|
||||
If the guest operating system is not in the database, or if the use
|
||||
of ``libosinfo`` is disabled, the default system values are used.
|
||||
|
||||
Users can set the operating system ID or a ``short-id`` in image
|
||||
properties. For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image set --property short-id=fedora23 \
|
||||
name-of-my-fedora-image
|
||||
|
||||
Alternatively, users can set ``id`` to a URL:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image set \
|
||||
--property id=http://fedoraproject.org/fedora/23 \
|
||||
ID-of-my-fedora-image
|
||||
|
||||
Create an image from ISO image
|
||||
------------------------------
|
||||
|
||||
You can upload ISO images to the Image service (glance).
|
||||
You can subsequently boot an ISO image using Compute.
|
||||
|
||||
In the Image service, run the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image create ISO_IMAGE --file IMAGE.iso \
|
||||
--disk-format iso --container-format bare
|
||||
|
||||
Optionally, to confirm the upload in Image service, run:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image list
|
||||
|
||||
Troubleshoot image creation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you encounter problems in creating an image in the Image service or
|
||||
Compute, the following information may help you troubleshoot the
|
||||
creation process.
|
||||
|
||||
* Ensure that the version of qemu you are using is version 0.14 or
|
||||
later. Earlier versions of qemu result in an ``unknown option -s``
|
||||
error message in the ``/var/log/nova/nova-compute.log`` file.
|
||||
|
||||
* Examine the ``/var/log/nova/nova-api.log`` and
|
||||
``/var/log/nova/nova-compute.log`` log files for error messages.
|
@ -1,677 +0,0 @@
|
||||
.. _volume:
|
||||
|
||||
==============
|
||||
Manage volumes
|
||||
==============
|
||||
|
||||
A volume is a detachable block storage device, similar to a USB hard
|
||||
drive. You can attach a volume to only one instance. Use the ``openstack``
|
||||
client commands to create and manage volumes.
|
||||
|
||||
Migrate a volume
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
As an administrator, you can migrate a volume with its data from one
|
||||
location to another in a manner that is transparent to users and
|
||||
workloads. You can migrate only detached volumes with no snapshots.
|
||||
|
||||
Possible use cases for data migration include:
|
||||
|
||||
* Bring down a physical storage device for maintenance without
|
||||
disrupting workloads.
|
||||
|
||||
* Modify the properties of a volume.
|
||||
|
||||
* Free up space in a thinly-provisioned back end.
|
||||
|
||||
Migrate a volume with the :command:`openstack volume migrate` command, as shown
|
||||
in the following example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume migrate [-h] --host <host> [--force-host-copy]
|
||||
[--lock-volume | --unlock-volume]
|
||||
<volume>
|
||||
|
||||
In this example, ``--force-host-copy`` forces the generic
|
||||
host-based migration mechanism and bypasses any driver optimizations.
|
||||
``--lock-volume | --unlock-volume`` applies to the available volume.
|
||||
To determine whether the termination of volume migration caused by other
|
||||
commands. ``--lock-volume`` locks the volume state and does not allow the
|
||||
migration to be aborted.
|
||||
|
||||
.. note::
|
||||
|
||||
If the volume has snapshots, the specified host destination cannot accept
|
||||
the volume. If the user is not an administrator, the migration fails.
|
||||
|
||||
Create a volume
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
This example creates a ``my-new-volume`` volume based on an image.
|
||||
|
||||
#. List images, and note the ID of the image that you want to use for your
|
||||
volume:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image list
|
||||
+--------------------------------------+---------------------------------+
|
||||
| ID | Name |
|
||||
+--------------------------------------+---------------------------------+
|
||||
| 8bf4dc2a-bf78-4dd1-aefa-f3347cf638c8 | cirros-0.3.5-x86_64-uec |
|
||||
| 9ff9bb2e-3a1d-4d98-acb5-b1d3225aca6c | cirros-0.3.5-x86_64-uec-kernel |
|
||||
| 4b227119-68a1-4b28-8505-f94c6ea4c6dc | cirros-0.3.5-x86_64-uec-ramdisk |
|
||||
+--------------------------------------+---------------------------------+
|
||||
|
||||
|
||||
#. List the availability zones, and note the ID of the availability zone in
|
||||
which you want to create your volume:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack availability zone list
|
||||
+------+-----------+
|
||||
| Name | Status |
|
||||
+------+-----------+
|
||||
| nova | available |
|
||||
+------+-----------+
|
||||
|
||||
#. Create a volume with 8 gibibytes (GiB) of space, and specify the
|
||||
availability zone and image:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume create --image 8bf4dc2a-bf78-4dd1-aefa-f3347cf638c8 \
|
||||
--size 8 --availability-zone nova my-new-volume
|
||||
|
||||
+------------------------------+--------------------------------------+
|
||||
| Property | Value |
|
||||
+------------------------------+--------------------------------------+
|
||||
| attachments | [] |
|
||||
| availability_zone | nova |
|
||||
| bootable | false |
|
||||
| consistencygroup_id | None |
|
||||
| created_at | 2016-09-23T07:52:42.000000 |
|
||||
| description | None |
|
||||
| encrypted | False |
|
||||
| id | bab4b0e0-ce3d-4d57-bf57-3c51319f5202 |
|
||||
| metadata | {} |
|
||||
| multiattach | False |
|
||||
| name | my-new-volume |
|
||||
| os-vol-tenant-attr:tenant_id | 3f670abbe9b34ca5b81db6e7b540b8d8 |
|
||||
| replication_status | disabled |
|
||||
| size | 8 |
|
||||
| snapshot_id | None |
|
||||
| source_volid | None |
|
||||
| status | creating |
|
||||
| updated_at | None |
|
||||
| user_id | fe19e3a9f63f4a14bd4697789247bbc5 |
|
||||
| volume_type | lvmdriver-1 |
|
||||
+------------------------------+--------------------------------------+
|
||||
|
||||
#. To verify that your volume was created successfully, list the available
|
||||
volumes:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+--------------------------------------+---------------+-----------+------+-------------+
|
||||
| ID | DisplayName | Status | Size | Attached to |
|
||||
+--------------------------------------+---------------+-----------+------+-------------+
|
||||
| bab4b0e0-ce3d-4d57-bf57-3c51319f5202 | my-new-volume | available | 8 | |
|
||||
+--------------------------------------+---------------+-----------+------+-------------+
|
||||
|
||||
|
||||
If your volume was created successfully, its status is ``available``. If
|
||||
its status is ``error``, you might have exceeded your quota.
|
||||
|
||||
.. _Create_a_volume_from_specified_volume_type:
|
||||
|
||||
Create a volume from specified volume type
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Cinder supports these three ways to specify ``volume type`` during
|
||||
volume creation.
|
||||
|
||||
#. volume_type
|
||||
#. cinder_img_volume_type (via glance image metadata)
|
||||
#. default_volume_type (via cinder.conf)
|
||||
|
||||
.. _volume_type:
|
||||
|
||||
volume_type
|
||||
-----------
|
||||
|
||||
User can specify `volume type` when creating a volume.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume create -h -f {json,shell,table,value,yaml}
|
||||
-c COLUMN --max-width <integer>
|
||||
--noindent --prefix PREFIX --size <size>
|
||||
--type <volume-type> --image <image>
|
||||
--snapshot <snapshot> --source <volume>
|
||||
--description <description> --user <user>
|
||||
--project <project>
|
||||
--availability-zone <availability-zone>
|
||||
--property <key=value>
|
||||
<name>
|
||||
|
||||
|
||||
.. _cinder_img_volume_type:
|
||||
|
||||
cinder_img_volume_type
|
||||
----------------------
|
||||
|
||||
If glance image has ``cinder_img_volume_type`` property, Cinder uses this
|
||||
parameter to specify ``volume type`` when creating a volume.
|
||||
|
||||
Choose glance image which has ``cinder_img_volume_type`` property and create
|
||||
a volume from the image.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack image list
|
||||
+----------------------------------+---------------------------------+--------+
|
||||
| ID | Name | Status |
|
||||
+----------------------------------+---------------------------------+--------+
|
||||
| 376bd633-c9c9-4c5d-a588-342f4f66 | cirros-0.3.5-x86_64-uec | active |
|
||||
| d086 | | |
|
||||
| 2c20fce7-2e68-45ee-ba8d- | cirros-0.3.5-x86_64-uec-ramdisk | active |
|
||||
| beba27a91ab5 | | |
|
||||
| a5752de4-9faf-4c47-acbc- | cirros-0.3.5-x86_64-uec-kernel | active |
|
||||
| 78a5efa7cc6e | | |
|
||||
+----------------------------------+---------------------------------+--------+
|
||||
|
||||
|
||||
$ openstack image show 376bd633-c9c9-4c5d-a588-342f4f66d086
|
||||
+------------------+-----------------------------------------------------------+
|
||||
| Field | Value |
|
||||
+------------------+-----------------------------------------------------------+
|
||||
| checksum | eb9139e4942121f22bbc2afc0400b2a4 |
|
||||
| container_format | ami |
|
||||
| created_at | 2016-10-13T03:28:55Z |
|
||||
| disk_format | ami |
|
||||
| file | /v2/images/376bd633-c9c9-4c5d-a588-342f4f66d086/file |
|
||||
| id | 376bd633-c9c9-4c5d-a588-342f4f66d086 |
|
||||
| min_disk | 0 |
|
||||
| min_ram | 0 |
|
||||
| name | cirros-0.3.5-x86_64-uec |
|
||||
| owner | 88ba456e3a884c318394737765e0ef4d |
|
||||
| properties | kernel_id='a5752de4-9faf-4c47-acbc-78a5efa7cc6e', |
|
||||
| | ramdisk_id='2c20fce7-2e68-45ee-ba8d-beba27a91ab5' |
|
||||
| protected | False |
|
||||
| schema | /v2/schemas/image |
|
||||
| size | 25165824 |
|
||||
| status | active |
|
||||
| tags | |
|
||||
| updated_at | 2016-10-13T03:28:55Z |
|
||||
| virtual_size | None |
|
||||
| visibility | public |
|
||||
+------------------+-----------------------------------------------------------+
|
||||
|
||||
$ openstack volume create --image 376bd633-c9c9-4c5d-a588-342f4f66d086 \
|
||||
--size 1 --availability-zone nova test
|
||||
+---------------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+---------------------+--------------------------------------+
|
||||
| attachments | [] |
|
||||
| availability_zone | nova |
|
||||
| bootable | false |
|
||||
| consistencygroup_id | None |
|
||||
| created_at | 2016-10-13T06:29:53.688599 |
|
||||
| description | None |
|
||||
| encrypted | False |
|
||||
| id | e6e6a72d-cda7-442c-830f-f306ea6a03d5 |
|
||||
| multiattach | False |
|
||||
| name | test |
|
||||
| properties | |
|
||||
| replication_status | disabled |
|
||||
| size | 1 |
|
||||
| snapshot_id | None |
|
||||
| source_volid | None |
|
||||
| status | creating |
|
||||
| type | lvmdriver-1 |
|
||||
| updated_at | None |
|
||||
| user_id | 33fdc37314914796883706b33e587d51 |
|
||||
+---------------------+--------------------------------------+
|
||||
|
||||
.. _default_volume_type:
|
||||
|
||||
default_volume_type
|
||||
-------------------
|
||||
|
||||
If above parameters are not set, Cinder uses default_volume_type which is
|
||||
defined in cinder.conf during volume creation.
|
||||
|
||||
Example cinder.conf file configuration.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
[default]
|
||||
default_volume_type = lvmdriver-1
|
||||
|
||||
.. _Attach_a_volume_to_an_instance:
|
||||
|
||||
Attach a volume to an instance
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Attach your volume to a server, specifying the server ID and the volume
|
||||
ID:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack server add volume 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 \
|
||||
573e024d-5235-49ce-8332-be1576d323f8 --device /dev/vdb
|
||||
|
||||
#. Show information for your volume:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume show 573e024d-5235-49ce-8332-be1576d323f8
|
||||
|
||||
The output shows that the volume is attached to the server with ID
|
||||
``84c6e57d-a6b1-44b6-81eb-fcb36afd31b5``, is in the nova availability
|
||||
zone, and is bootable.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+------------------------------+-----------------------------------------------+
|
||||
| Field | Value |
|
||||
+------------------------------+-----------------------------------------------+
|
||||
| attachments | [{u'device': u'/dev/vdb', |
|
||||
| | u'server_id': u'84c6e57d-a |
|
||||
| | u'id': u'573e024d-... |
|
||||
| | u'volume_id': u'573e024d... |
|
||||
| availability_zone | nova |
|
||||
| bootable | true |
|
||||
| consistencygroup_id | None |
|
||||
| created_at | 2016-10-13T06:08:07.000000 |
|
||||
| description | None |
|
||||
| encrypted | False |
|
||||
| id | 573e024d-5235-49ce-8332-be1576d323f8 |
|
||||
| multiattach | False |
|
||||
| name | my-new-volume |
|
||||
| os-vol-tenant-attr:tenant_id | 7ef070d3fee24bdfae054c17ad742e28 |
|
||||
| properties | |
|
||||
| replication_status | disabled |
|
||||
| size | 8 |
|
||||
| snapshot_id | None |
|
||||
| source_volid | None |
|
||||
| status | in-use |
|
||||
| type | lvmdriver-1 |
|
||||
| updated_at | 2016-10-13T06:08:11.000000 |
|
||||
| user_id | 33fdc37314914796883706b33e587d51 |
|
||||
| volume_image_metadata |{u'kernel_id': u'df430cc2..., |
|
||||
| | u'image_id': u'397e713c..., |
|
||||
| | u'ramdisk_id': u'3cf852bd..., |
|
||||
| |u'image_name': u'cirros-0.3.5-x86_64-uec'} |
|
||||
+------------------------------+-----------------------------------------------+
|
||||
|
||||
|
||||
|
||||
.. _Resize_a_volume:
|
||||
|
||||
Resize a volume
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
#. To resize your volume, you must first detach it from the server.
|
||||
To detach the volume from your server, pass the server ID and volume ID
|
||||
to the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack server remove volume 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 573e024d-5235-49ce-8332-be1576d323f8
|
||||
|
||||
This command does not provide any output.
|
||||
|
||||
#. List volumes:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| ID | Display Name | Status | Size | Attached to |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| 573e024d-52... | my-new-volume | available | 8 | |
|
||||
| bd7cf584-45... | my-bootable-vol | available | 8 | |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
|
||||
Note that the volume is now available.
|
||||
|
||||
#. Resize the volume by passing the volume ID and the new size (a value
|
||||
greater than the old one) as parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume set 573e024d-5235-49ce-8332-be1576d323f8 --size 10
|
||||
|
||||
This command does not provide any output.
|
||||
|
||||
.. note::
|
||||
|
||||
When extending an LVM volume with a snapshot, the volume will be
|
||||
deactivated. The reactivation is automatic unless
|
||||
``auto_activation_volume_list`` is defined in ``lvm.conf``. See
|
||||
``lvm.conf`` for more information.
|
||||
|
||||
Delete a volume
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
#. To delete your volume, you must first detach it from the server.
|
||||
To detach the volume from your server and check for the list of existing
|
||||
volumes, see steps 1 and 2 in Resize_a_volume_.
|
||||
|
||||
Delete the volume using either the volume name or ID:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume delete my-new-volume
|
||||
|
||||
This command does not provide any output.
|
||||
|
||||
#. List the volumes again, and note that the status of your volume is
|
||||
``deleting``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| ID | Display Name | Status | Size | Attached to |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| 573e024d-52... | my-new-volume | deleting | 8 | |
|
||||
| bd7cf584-45... | my-bootable-vol | available | 8 | |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
|
||||
When the volume is fully deleted, it disappears from the list of
|
||||
volumes:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| ID | Display Name | Status | Size | Attached to |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
| bd7cf584-45... | my-bootable-vol | available | 8 | |
|
||||
+----------------+-----------------+-----------+------+-------------+
|
||||
|
||||
Transfer a volume
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can transfer a volume from one owner to another by using the
|
||||
:command:`openstack volume transfer request create` command. The volume
|
||||
donor, or original owner, creates a transfer request and sends the created
|
||||
transfer ID and authorization key to the volume recipient. The volume
|
||||
recipient, or new owner, accepts the transfer by using the ID and key.
|
||||
|
||||
.. note::
|
||||
|
||||
The procedure for volume transfer is intended for projects (both the
|
||||
volume donor and recipient) within the same cloud.
|
||||
|
||||
Use cases include:
|
||||
|
||||
* Create a custom bootable volume or a volume with a large data set and
|
||||
transfer it to a customer.
|
||||
|
||||
* For bulk import of data to the cloud, the data ingress system creates
|
||||
a new Block Storage volume, copies data from the physical device, and
|
||||
transfers device ownership to the end user.
|
||||
|
||||
Create a volume transfer request
|
||||
--------------------------------
|
||||
|
||||
#. While logged in as the volume donor, list the available volumes:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+-----------------+-----------------+-----------+------+-------------+
|
||||
| ID | Display Name | Status | Size | Attached to |
|
||||
+-----------------+-----------------+-----------+------+-------------+
|
||||
| 72bfce9f-cac... | None | error | 1 | |
|
||||
| a1cdace0-08e... | None | available | 1 | |
|
||||
+-----------------+-----------------+-----------+------+-------------+
|
||||
|
||||
|
||||
#. As the volume donor, request a volume transfer authorization code for a
|
||||
specific volume:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request create <volume>
|
||||
|
||||
<volume>
|
||||
Name or ID of volume to transfer.
|
||||
|
||||
The volume must be in an ``available`` state or the request will be
|
||||
denied. If the transfer request is valid in the database (that is, it
|
||||
has not expired or been deleted), the volume is placed in an
|
||||
``awaiting-transfer`` state. For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request create a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f
|
||||
|
||||
The output shows the volume transfer ID in the ``id`` row and the
|
||||
authorization key.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
+------------+--------------------------------------+
|
||||
| Field | Value |
|
||||
+------------+--------------------------------------+
|
||||
| auth_key | 0a59e53630f051e2 |
|
||||
| created_at | 2016-11-03T11:49:40.346181 |
|
||||
| id | 34e29364-142b-4c7b-8d98-88f765bf176f |
|
||||
| name | None |
|
||||
| volume_id | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f |
|
||||
+------------+--------------------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
Optionally, you can specify a name for the transfer by using the
|
||||
``--name transferName`` parameter.
|
||||
|
||||
.. note::
|
||||
|
||||
While the ``auth_key`` property is visible in the output of
|
||||
``openstack volume transfer request create VOLUME_ID``, it will not be
|
||||
available in subsequent ``openstack volume transfer request show TRANSFER_ID``
|
||||
command.
|
||||
|
||||
#. Send the volume transfer ID and authorization key to the new owner (for
|
||||
example, by email).
|
||||
|
||||
#. View pending transfers:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request list
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
| ID | Volume | Name |
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
| 6e4e9aa4-bed5-4f94-8f76-df43232f44dc | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
|
||||
#. After the volume recipient, or new owner, accepts the transfer, you can
|
||||
see that the transfer is no longer available:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request list
|
||||
+----+-----------+------+
|
||||
| ID | Volume ID | Name |
|
||||
+----+-----------+------+
|
||||
+----+-----------+------+
|
||||
|
||||
Accept a volume transfer request
|
||||
--------------------------------
|
||||
|
||||
#. As the volume recipient, you must first obtain the transfer ID and
|
||||
authorization key from the original owner.
|
||||
|
||||
#. Accept the request:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request accept transferID authKey
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request accept 6e4e9aa4-bed5-4f94-8f76-df43232f44dc b2c8e585cbc68a80
|
||||
+-----------+--------------------------------------+
|
||||
| Property | Value |
|
||||
+-----------+--------------------------------------+
|
||||
| id | 6e4e9aa4-bed5-4f94-8f76-df43232f44dc |
|
||||
| name | None |
|
||||
| volume_id | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f |
|
||||
+-----------+--------------------------------------+
|
||||
|
||||
.. note::
|
||||
|
||||
If you do not have a sufficient quota for the transfer, the transfer
|
||||
is refused.
|
||||
|
||||
Delete a volume transfer
|
||||
------------------------
|
||||
|
||||
#. List available volumes and their statuses:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+-----------------+-----------------+-----------------+------+-------------+
|
||||
| ID | Display Name | Status | Size | Attached to |
|
||||
+-----------------+-----------------+-----------------+------+-------------+
|
||||
| 72bfce9f-cac... | None | error | 1 | |
|
||||
| a1cdace0-08e... | None |awaiting-transfer| 1 | |
|
||||
+-----------------+-----------------+-----------------+------+-------------+
|
||||
|
||||
|
||||
#. Find the matching transfer ID:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request list
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
| ID | VolumeID | Name |
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
| a6da6888-7cdf-4291-9c08-8c1f22426b8a | a1cdace0-08e4-4dc7-b9dc-457e9bcfe25f | None |
|
||||
+--------------------------------------+--------------------------------------+------+
|
||||
|
||||
#. Delete the volume:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request delete <transfer>
|
||||
|
||||
<transfer>
|
||||
Name or ID of transfer to delete.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request delete a6da6888-7cdf-4291-9c08-8c1f22426b8a
|
||||
|
||||
#. Verify that transfer list is now empty and that the volume is again
|
||||
available for transfer:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume transfer request list
|
||||
+----+-----------+------+
|
||||
| ID | Volume ID | Name |
|
||||
+----+-----------+------+
|
||||
+----+-----------+------+
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume list
|
||||
+-----------------+-----------+--------------+------+-------------+----------+-------------+
|
||||
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
|
||||
+-----------------+-----------+--------------+------+-------------+----------+-------------+
|
||||
| 72bfce9f-ca... | error | None | 1 | None | false | |
|
||||
| a1cdace0-08... | available | None | 1 | None | false | |
|
||||
+-----------------+-----------+--------------+------+-------------+----------+-------------+
|
||||
|
||||
Manage and unmanage a snapshot
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A snapshot is a point in time version of a volume. As an administrator,
|
||||
you can manage and unmanage snapshots.
|
||||
|
||||
Manage a snapshot
|
||||
-----------------
|
||||
|
||||
Manage a snapshot with the :command:`openstack volume snapshot set` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume snapshot set [-h]
|
||||
[--name <name>]
|
||||
[--description <description>]
|
||||
[--no-property]
|
||||
[--property <key=value>]
|
||||
[--state <state>]
|
||||
<snapshot>
|
||||
|
||||
The arguments to be passed are:
|
||||
|
||||
``--name <name>``
|
||||
New snapshot name
|
||||
|
||||
``--description <description>``
|
||||
New snapshot description
|
||||
|
||||
``--no-property``
|
||||
Remove all properties from <snapshot> (specify both
|
||||
--no-property and --property to remove the current
|
||||
properties before setting new properties.)
|
||||
|
||||
``--property <key=value>``
|
||||
Property to add or modify for this snapshot (repeat option to set
|
||||
multiple properties)
|
||||
|
||||
``--state <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)
|
||||
|
||||
``<snapshot>``
|
||||
Snapshot to modify (name or ID)
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume snapshot set my-snapshot-id
|
||||
|
||||
Unmanage a snapshot
|
||||
-------------------
|
||||
|
||||
Unmanage a snapshot with the :command:`openstack volume snapshot unset`
|
||||
command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume snapshot unset [-h]
|
||||
[--property <key>]
|
||||
<snapshot>
|
||||
|
||||
The arguments to be passed are:
|
||||
|
||||
``--property <key>``
|
||||
Property to remove from snapshot (repeat option to remove multiple properties)
|
||||
|
||||
``<snapshot>``
|
||||
Snapshot to modify (name or ID).
|
||||
|
||||
The following example unmanages the ``my-snapshot-id`` image:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume snapshot unset my-snapshot-id
|
@ -1,132 +0,0 @@
|
||||
============================
|
||||
Command-line client overview
|
||||
============================
|
||||
|
||||
OpenStackClient project provides a unified command-line client, which
|
||||
enables you to access the project API through easy-to-use commands.
|
||||
Also, most OpenStack project provides a command-line client for each service.
|
||||
For example, the Compute service provides a ``nova`` command-line client.
|
||||
|
||||
You can run the commands from the command line, or include the
|
||||
commands within scripts to automate tasks. If you provide OpenStack
|
||||
credentials, such as your user name and password, you can run these
|
||||
commands on any computer.
|
||||
|
||||
Internally, each command uses cURL command-line tools, which embed API
|
||||
requests. OpenStack APIs are RESTful APIs, and use the HTTP
|
||||
protocol. They include methods, URIs, media types, and response codes.
|
||||
|
||||
OpenStack APIs are open-source Python clients, and can run on Linux or
|
||||
Mac OS X systems. On some client commands, you can specify a debug
|
||||
parameter to show the underlying API request for the command. This is
|
||||
a good way to become familiar with the OpenStack API calls.
|
||||
|
||||
As a cloud end user, you can use the OpenStack Dashboard to provision
|
||||
your own resources within the limits set by administrators. You can
|
||||
modify the examples provided in this section to create other types and
|
||||
sizes of server instances.
|
||||
|
||||
Unified command-line client
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can use the unified ``openstack`` command (**python-openstackclient**)
|
||||
for the most of OpenStack services.
|
||||
For more information, see `OpenStackClient document
|
||||
<https://docs.openstack.org/developer/python-openstackclient/>`_.
|
||||
|
||||
|
||||
Individual command-line clients
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Unless the unified OpenStack Client (**python-openstackclient**) is used,
|
||||
the following table lists the command-line client for each OpenStack
|
||||
service with its package name and description.
|
||||
|
||||
.. tabularcolumns:: |p{0.2\textwidth}|l|l|p{0.35\textwidth}|
|
||||
.. list-table:: OpenStack services and clients
|
||||
:widths: 20 20 20 40
|
||||
:header-rows: 1
|
||||
|
||||
* - Service
|
||||
- Client
|
||||
- Package
|
||||
- Description
|
||||
* - Application Catalog service
|
||||
- murano
|
||||
- python-muranoclient
|
||||
- Creates and manages applications.
|
||||
* - Bare Metal service
|
||||
- ironic
|
||||
- python-ironicclient
|
||||
- manages and provisions physical machines.
|
||||
* - Block Storage service
|
||||
- cinder
|
||||
- python-cinderclient
|
||||
- Creates and manages volumes.
|
||||
* - Clustering service
|
||||
- senlin
|
||||
- python-senlinclient
|
||||
- Creates and manages clustering services.
|
||||
* - Compute service
|
||||
- nova
|
||||
- python-novaclient
|
||||
- Creates and manages images, instances, and flavors.
|
||||
* - Container Infrastructure Management service
|
||||
- magnum
|
||||
- python-magnumclient
|
||||
- Creates and manages containers.
|
||||
* - Database service
|
||||
- trove
|
||||
- python-troveclient
|
||||
- Creates and manages databases.
|
||||
* - DNS service
|
||||
- designate
|
||||
- python-designateclient
|
||||
- Creates and manages self service authoritative DNS.
|
||||
* - Image service
|
||||
- glance
|
||||
- python-glanceclient
|
||||
- Creates and manages images.
|
||||
* - Key Manager service
|
||||
- barbican
|
||||
- python-barbicanclient
|
||||
- Creates and manages keys.
|
||||
* - Monitoring
|
||||
- monasca
|
||||
- python-monascaclient
|
||||
- Monitoring solution.
|
||||
* - Networking service
|
||||
- neutron
|
||||
- python-neutronclient
|
||||
- Configures networks for guest servers.
|
||||
* - Object Storage service
|
||||
- swift
|
||||
- python-swiftclient
|
||||
- Gathers statistics, lists items, updates metadata, and uploads,
|
||||
downloads, and deletes files stored by the Object Storage service.
|
||||
Gains access to an Object Storage installation for ad hoc processing.
|
||||
* - Orchestration service
|
||||
- heat
|
||||
- python-heatclient
|
||||
- Launches stacks from templates, views details of running stacks
|
||||
including events and resources, and updates and deletes stacks.
|
||||
* - Rating service
|
||||
- cloudkitty
|
||||
- python-cloudkittyclient
|
||||
- Rating service.
|
||||
* - Shared File Systems service
|
||||
- manila
|
||||
- python-manilaclient
|
||||
- Creates and manages shared file systems.
|
||||
* - Telemetry service
|
||||
- ceilometer
|
||||
- python-ceilometerclient
|
||||
- Creates and collects measurements across OpenStack.
|
||||
* - Telemetry v3
|
||||
- gnocchi
|
||||
- python-gnocchiclient
|
||||
- Creates and collects measurements across OpenStack.
|
||||
* - Workflow service
|
||||
- mistral
|
||||
- python-mistralclient
|
||||
- Workflow service for OpenStack cloud.
|
@ -1,139 +0,0 @@
|
||||
=====================================================
|
||||
Set environment variables using the OpenStack RC file
|
||||
=====================================================
|
||||
|
||||
To set the required environment variables for the OpenStack command-line
|
||||
clients, you must create an environment file called an OpenStack rc
|
||||
file, or ``openrc.sh`` file. If your OpenStack installation provides
|
||||
it, you can download the file from the OpenStack Dashboard as an
|
||||
administrative user or any other user. This project-specific environment
|
||||
file contains the credentials that all OpenStack services use.
|
||||
|
||||
When you source the file, environment variables are set for your current
|
||||
shell. The variables enable the OpenStack client commands to communicate
|
||||
with the OpenStack services that run in the cloud.
|
||||
|
||||
.. note::
|
||||
|
||||
Defining environment variables using an environment file is not a
|
||||
common practice on Microsoft Windows. Environment variables are
|
||||
usually defined in the :menuselection:`Advanced > System Properties`
|
||||
dialog box. One method for using these scripts as-is on Windows is
|
||||
to install `Git for Windows`_ and using Git Bash to source the environment
|
||||
variables and to run all CLI commands.
|
||||
|
||||
.. _Git for Windows: https://git-for-windows.github.io/
|
||||
|
||||
Download and source the OpenStack RC file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Log in to the dashboard and from the drop-down list select the project
|
||||
for which you want to download the OpenStack RC file.
|
||||
|
||||
#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and
|
||||
click :guilabel:`Access & Security`.
|
||||
|
||||
#. On the :guilabel:`API Access` tab, click :guilabel:`Download OpenStack
|
||||
RC File` and save the file. The filename will be of the form
|
||||
``PROJECT-openrc.sh`` where ``PROJECT`` is the name of the project for
|
||||
which you downloaded the file.
|
||||
|
||||
#. Copy the ``PROJECT-openrc.sh`` file to the computer from which you
|
||||
want to run OpenStack commands.
|
||||
|
||||
For example, copy the file to the computer from which you want to upload
|
||||
an image with a ``glance`` client command.
|
||||
|
||||
#. On any shell from which you want to run OpenStack commands, source the
|
||||
``PROJECT-openrc.sh`` file for the respective project.
|
||||
|
||||
In the following example, the ``demo-openrc.sh`` file is sourced for
|
||||
the demo project:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ . demo-openrc.sh
|
||||
|
||||
#. When you are prompted for an OpenStack password, enter the password for
|
||||
the user who downloaded the ``PROJECT-openrc.sh`` file.
|
||||
|
||||
Create and source the OpenStack RC file
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Alternatively, you can create the ``PROJECT-openrc.sh`` file from
|
||||
scratch, if you cannot download the file from the dashboard.
|
||||
|
||||
#. In a text editor, create a file named ``PROJECT-openrc.sh`` and add
|
||||
the following authentication information:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
export OS_USERNAME=username
|
||||
export OS_PASSWORD=password
|
||||
export OS_TENANT_NAME=projectName
|
||||
export OS_AUTH_URL=https://identityHost:portNumber/v2.0
|
||||
# The following lines can be omitted
|
||||
export OS_TENANT_ID=tenantIDString
|
||||
export OS_REGION_NAME=regionName
|
||||
export OS_CACERT=/path/to/cacertFile
|
||||
|
||||
.. warning::
|
||||
|
||||
Saving ``OS_PASSWORD`` in plain text may bring a security risk.
|
||||
You should protect the file or not save ``OS_PASSWORD`` into
|
||||
the file in the production environment.
|
||||
|
||||
#. On any shell from which you want to run OpenStack commands, source the
|
||||
``PROJECT-openrc.sh`` file for the respective project. In this
|
||||
example, you source the ``admin-openrc.sh`` file for the admin
|
||||
project:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ . admin-openrc.sh
|
||||
|
||||
.. note::
|
||||
|
||||
You are not prompted for the password with this method. The password
|
||||
lives in clear text format in the ``PROJECT-openrc.sh`` file.
|
||||
Restrict the permissions on this file to avoid security problems.
|
||||
You can also remove the ``OS_PASSWORD`` variable from the file, and
|
||||
use the ``--password`` parameter with OpenStack client commands
|
||||
instead.
|
||||
|
||||
.. note::
|
||||
|
||||
You must set the ``OS_CACERT`` environment variable when using the
|
||||
https protocol in the ``OS_AUTH_URL`` environment setting because
|
||||
the verification process for the TLS (HTTPS) server certificate uses
|
||||
the one indicated in the environment. This certificate will be used
|
||||
when verifying the TLS (HTTPS) server certificate.
|
||||
|
||||
Override environment variable values
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When you run OpenStack client commands, you can override some
|
||||
environment variable settings by using the options that are listed at
|
||||
the end of the ``help`` output of the various client commands. For
|
||||
example, you can override the ``OS_PASSWORD`` setting in the
|
||||
``PROJECT-openrc.sh`` file by specifying a password on a
|
||||
:command:`openstack` command, as follows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack --os-password PASSWORD server list
|
||||
|
||||
Where ``PASSWORD`` is your password.
|
||||
|
||||
A user specifies their username and password credentials to interact
|
||||
with OpenStack, using any client command. These credentials can be
|
||||
specified using various mechanisms, namely, the environment variable
|
||||
or command-line argument. It is not safe to specify the password using
|
||||
either of these methods.
|
||||
|
||||
For example, when you specify your password using the command-line
|
||||
client with the ``--os-password`` argument, anyone with access to your
|
||||
computer can view it in plain text with the ``ps`` field.
|
||||
|
||||
To avoid storing the password in plain text, you can prompt for the
|
||||
OpenStack password interactively.
|
@ -1,131 +0,0 @@
|
||||
=============================================
|
||||
Show usage statistics for hosts and instances
|
||||
=============================================
|
||||
|
||||
You can show basic statistics on resource usage for hosts and instances.
|
||||
|
||||
.. note::
|
||||
|
||||
For more sophisticated monitoring, see the
|
||||
`ceilometer <https://launchpad.net/ceilometer>`__ project. You can
|
||||
also use tools, such as `Ganglia <http://ganglia.info/>`__ or
|
||||
`Graphite <http://graphite.wikidot.com/>`__, to gather more detailed
|
||||
data.
|
||||
|
||||
Show host usage statistics
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following examples show the host usage statistics for a host called
|
||||
``devstack``.
|
||||
|
||||
* List the hosts and the nova-related services that run on them:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack host list
|
||||
+-----------+-------------+----------+
|
||||
| Host Name | Service | Zone |
|
||||
+-----------+-------------+----------+
|
||||
| devstack | conductor | internal |
|
||||
| devstack | compute | nova |
|
||||
| devstack | cert | internal |
|
||||
| devstack | network | internal |
|
||||
| devstack | scheduler | internal |
|
||||
| devstack | consoleauth | internal |
|
||||
+-----------+-------------+----------+
|
||||
|
||||
* Get a summary of resource usage of all of the instances running on
|
||||
the host:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack host show devstack
|
||||
+----------+----------------------------------+-----+-----------+---------+
|
||||
| Host | Project | CPU | MEMORY MB | DISK GB |
|
||||
+----------+----------------------------------+-----+-----------+---------+
|
||||
| devstack | (total) | 2 | 4003 | 157 |
|
||||
| devstack | (used_now) | 3 | 5120 | 40 |
|
||||
| devstack | (used_max) | 3 | 4608 | 40 |
|
||||
| devstack | b70d90d65e464582b6b2161cf3603ced | 1 | 512 | 0 |
|
||||
| devstack | 66265572db174a7aa66eba661f58eb9e | 2 | 4096 | 40 |
|
||||
+----------+----------------------------------+-----+-----------+---------+
|
||||
|
||||
The ``CPU`` column shows the sum of the virtual CPUs for instances
|
||||
running on the host.
|
||||
|
||||
The ``MEMORY MB`` column shows the sum of the memory (in MB)
|
||||
allocated to the instances that run on the host.
|
||||
|
||||
The ``DISK GB`` column shows the sum of the root and ephemeral disk
|
||||
sizes (in GB) of the instances that run on the host.
|
||||
|
||||
The row that has the value ``used_now`` in the ``PROJECT`` column
|
||||
shows the sum of the resources allocated to the instances that run on
|
||||
the host, plus the resources allocated to the virtual machine of the
|
||||
host itself.
|
||||
|
||||
The row that has the value ``used_max`` in the ``PROJECT`` column
|
||||
shows the sum of the resources allocated to the instances that run on
|
||||
the host.
|
||||
|
||||
.. note::
|
||||
|
||||
These values are computed by using information about the flavors of
|
||||
the instances that run on the hosts. This command does not query the
|
||||
CPU usage, memory usage, or hard disk usage of the physical host.
|
||||
|
||||
Show instance usage statistics
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Get CPU, memory, I/O, and network statistics for an instance.
|
||||
|
||||
#. List instances:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack server list
|
||||
+----------+----------------------+--------+------------+-------------+------------------+------------+
|
||||
| ID | Name | Status | Task State | Power State | Networks | Image Name |
|
||||
+----------+----------------------+--------+------------+-------------+------------------+------------+
|
||||
| 84c6e... | myCirrosServer | ACTIVE | None | Running | private=10.0.0.3 | cirros |
|
||||
| 8a995... | myInstanceFromVolume | ACTIVE | None | Running | private=10.0.0.4 | ubuntu |
|
||||
+----------+----------------------+--------+------------+-------------+------------------+------------+
|
||||
|
||||
#. Get diagnostic statistics:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ nova diagnostics myCirrosServer
|
||||
+---------------------------+--------+
|
||||
| Property | Value |
|
||||
+---------------------------+--------+
|
||||
| memory | 524288 |
|
||||
| memory-actual | 524288 |
|
||||
| memory-rss | 6444 |
|
||||
| tap1fec8fb8-7a_rx | 22137 |
|
||||
| tap1fec8fb8-7a_rx_drop | 0 |
|
||||
| tap1fec8fb8-7a_rx_errors | 0 |
|
||||
| tap1fec8fb8-7a_rx_packets | 166 |
|
||||
| tap1fec8fb8-7a_tx | 18032 |
|
||||
| tap1fec8fb8-7a_tx_drop | 0 |
|
||||
| tap1fec8fb8-7a_tx_errors | 0 |
|
||||
| tap1fec8fb8-7a_tx_packets | 130 |
|
||||
| vda_errors | -1 |
|
||||
| vda_read | 2048 |
|
||||
| vda_read_req | 2 |
|
||||
| vda_write | 182272 |
|
||||
| vda_write_req | 74 |
|
||||
+---------------------------+--------+
|
||||
|
||||
* Get summary statistics for each project:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack usage list
|
||||
Usage from 2013-06-25 to 2013-07-24:
|
||||
+---------+---------+--------------+-----------+---------------+
|
||||
| Project | Servers | RAM MB-Hours | CPU Hours | Disk GB-Hours |
|
||||
+---------+---------+--------------+-----------+---------------+
|
||||
| demo | 1 | 344064.44 | 672.00 | 0.00 |
|
||||
| stack | 3 | 671626.76 | 327.94 | 6558.86 |
|
||||
+---------+---------+--------------+-----------+---------------+
|
@ -252,6 +252,5 @@ Image is complete
|
||||
The underlying image file that you created with the
|
||||
:command:`qemu-img create` command, such as ``/tmp/trusty.qcow2``,
|
||||
is now ready for uploading to the Image service by using the
|
||||
:command:`openstack image create` command. For more information, see the
|
||||
`Create or update an image
|
||||
<https://docs.openstack.org/user-guide/common/cli-manage-images.html#create-or-update-an-image-glance>`__.
|
||||
:command:`openstack image create` command. For more information,
|
||||
see the `Glance User Guide <https://docs.openstack.org/glance/latest/user/index.html>`__.
|
||||
|
Loading…
Reference in New Issue
Block a user