diff --git a/doc/source/index.rst b/doc/source/index.rst index 9bcccea979..384145ee91 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -39,7 +39,7 @@ How to use Horizon in your own projects. :maxdepth: 2 install/index - user/index + User Documentation admin/index Contributor Docs diff --git a/doc/source/user/configure-access-and-security-for-instances.rst b/doc/source/user/configure-access-and-security-for-instances.rst new file mode 100644 index 0000000000..d55d07212e --- /dev/null +++ b/doc/source/user/configure-access-and-security-for-instances.rst @@ -0,0 +1,224 @@ +=========================================== +Configure access and security for instances +=========================================== + +Before you launch an instance, you should add security group rules to +enable users to ping and use SSH to connect to the instance. Security +groups are sets of IP filter rules that define networking access and are +applied to all instances within a project. To do so, you either add +rules to the default security group :ref:`security_groups_add_rule` +or add a new security group with rules. + +Key pairs are SSH credentials that are injected into an instance when it +is launched. To use key pair injection, the image that the instance is +based on must contain the ``cloud-init`` package. Each project should +have at least one key pair. For more information, see the section +:ref:`keypair_add`. + +If you have generated a key pair with an external tool, you can import +it into OpenStack. The key pair can be used for multiple instances that +belong to a project. For more information, see the section +:ref:`dashboard_import_keypair`. + +.. note:: + + A key pair belongs to an individual user, not to a project. + To share a key pair across multiple users, each user + needs to import that key pair. + +When an instance is created in OpenStack, it is automatically assigned a +fixed IP address in the network to which the instance is assigned. This +IP address is permanently associated with the instance until the +instance is terminated. However, in addition to the fixed IP address, a +floating IP address can also be attached to an instance. Unlike fixed IP +addresses, floating IP addresses are able to have their associations +modified at any time, regardless of the state of the instances involved. + +.. _security_groups_add_rule: + +Add a rule to the default security group +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This procedure enables SSH and ICMP (ping) access to instances. The +rules apply to all instances within a given project, and should be set +for every project unless there is a reason to prohibit SSH or ICMP +access to the instances. + +This procedure can be adjusted as necessary to add additional security +group rules to a project, if your cloud requires them. + +.. note:: + + When adding a rule, you must specify the protocol used with the + destination port or source port. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Access & Security` category. The + :guilabel:`Security Groups` tab shows the security groups that are + available for this project. + +#. Select the default security group and click :guilabel:`Manage Rules`. + +#. To allow SSH access, click :guilabel:`Add Rule`. + +#. In the :guilabel:`Add Rule` dialog box, enter the following values: + + * **Rule**: ``SSH`` + * **Remote**: ``CIDR`` + * **CIDR**: ``0.0.0.0/0`` + + .. note:: + + To accept requests from a particular range of IP + addresses, specify the IP address block in the + :guilabel:`CIDR` box. + +#. Click :guilabel:`Add`. + + Instances will now have SSH port 22 open for requests from any IP + address. + +#. To add an ICMP rule, click :guilabel:`Add Rule`. + +#. In the :guilabel:`Add Rule` dialog box, enter the following values: + + * **Rule**: ``All ICMP`` + * **Direction**: ``Ingress`` + * **Remote**: ``CIDR`` + * **CIDR**: ``0.0.0.0/0`` + +#. Click :guilabel:`Add`. + + Instances will now accept all incoming ICMP packets. + +.. _keypair_add: + +Add a key pair +~~~~~~~~~~~~~~ + +Create at least one key pair for each project. + + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Access & Security` category. + +#. Click the :guilabel:`Key Pairs` tab, which shows the key pairs that + are available for this project. + +#. Click :guilabel:`Create Key Pair`. + +#. In the :guilabel:`Create Key Pair` dialog box, enter a name for your + key pair, and click :guilabel:`Create Key Pair`. + +#. Respond to the prompt to download the key pair. + +.. _dashboard_import_keypair: + +Import a key pair +~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Access & Security` category. + +#. Click the :guilabel:`Key Pairs` tab, which shows the key pairs that + are available for this project. + +#. Click :guilabel:`Import Key Pair`. + +#. In the :guilabel:`Import Key Pair` dialog box, enter the name of your + key pair, copy the public key into the :guilabel:`Public Key` box, + and then click :guilabel:`Import Key Pair`. + +#. Save the ``*.pem`` file locally. + +#. To change its permissions so that only you can read and write to the + file, run the following command: + + .. code-block:: console + + $ chmod 0600 yourPrivateKey.pem + + .. note:: + + If you are using the Dashboard from a Windows computer, use PuTTYgen + to load the ``*.pem`` file and convert and save it as ``*.ppk``. For + more information see the `WinSCP web page for + PuTTYgen `__. + +#. To make the key pair known to SSH, run the :command:`ssh-add` command. + + .. code-block:: console + + $ ssh-add yourPrivateKey.pem + +The Compute database registers the public key of the key pair. + +The Dashboard lists the key pair on the :guilabel:`Access & Security` tab. + +Allocate a floating IP address to an instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When an instance is created in OpenStack, it is automatically assigned a +fixed IP address in the network to which the instance is assigned. This +IP address is permanently associated with the instance until the +instance is terminated. + +However, in addition to the fixed IP address, a floating IP address can +also be attached to an instance. Unlike fixed IP addresses, floating IP +addresses can have their associations modified at any time, regardless +of the state of the instances involved. This procedure details the +reservation of a floating IP address from an existing pool of addresses +and the association of that address with a specific instance. + + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Access & Security` category. + +#. Click the :guilabel:`Floating IPs` tab, which shows the floating IP + addresses allocated to instances. + +#. Click :guilabel:`Allocate IP To Project`. + +#. Choose the pool from which to pick the IP address. + +#. Click :guilabel:`Allocate IP`. + +#. In the :guilabel:`Floating IPs` list, click :guilabel:`Associate`. + +#. In the :guilabel:`Manage Floating IP Associations` dialog box, + choose the following options: + + - The :guilabel:`IP Address` field is filled automatically, + but you can add a new IP address by clicking the + :guilabel:`+` button. + + - In the :guilabel:`Port to be associated` field, select a port + from the list. + + The list shows all the instances with their fixed IP addresses. + +#. Click :guilabel:`Associate`. + +.. note:: + + To disassociate an IP address from an instance, click the + :guilabel:`Disassociate` button. + +To release the floating IP address back into the floating IP pool, click +the :guilabel:`Release Floating IP` option in the :guilabel:`Actions` column. diff --git a/doc/source/user/create-networks.rst b/doc/source/user/create-networks.rst new file mode 100644 index 0000000000..00006e3eb0 --- /dev/null +++ b/doc/source/user/create-networks.rst @@ -0,0 +1,146 @@ +========================== +Create and manage networks +========================== + +The OpenStack Networking service provides a scalable system for managing +the network connectivity within an OpenStack cloud deployment. It can +easily and quickly react to changing network needs (for example, +creating and assigning new IP addresses). + +Networking in OpenStack is complex. This section provides the basic +instructions for creating a network and a router. For detailed +information about managing networks, refer to the `OpenStack +Administrator +Guide `__. + +Create a network +~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Network` tab and + click :guilabel:`Networks` category. + +#. Click :guilabel:`Create Network`. + +#. In the :guilabel:`Create Network` dialog box, specify the following values. + + :guilabel:`Network` tab + + :guilabel:`Network Name`: Specify a name to identify the network. + + :guilabel:`Shared`: Share the network with other projects. Non admin users + are not allowed to set shared option. + + :guilabel:`Admin State`: The state to start the network in. + + :guilabel:`Create Subnet`: Select this check box to create a subnet + + You do not have to specify a subnet when you create a network, but if + you do not specify a subnet, the network can not be attached to an instance. + + :guilabel:`Subnet` tab + + :guilabel:`Subnet Name`: Specify a name for the subnet. + + :guilabel:`Network Address`: Specify the IP address for the subnet. + + :guilabel:`IP Version`: Select IPv4 or IPv6. + + :guilabel:`Gateway IP`: Specify an IP address for a specific gateway. This + parameter is optional. + + :guilabel:`Disable Gateway`: Select this check box to disable a gateway IP + address. + + :guilabel:`Subnet Details` tab + + :guilabel:`Enable DHCP`: Select this check box to enable DHCP. + + :guilabel:`Allocation Pools`: Specify IP address pools. + + :guilabel:`DNS Name Servers`: Specify a name for the DNS server. + + :guilabel:`Host Routes`: Specify the IP address of host routes. + +#. Click :guilabel:`Create`. + + The dashboard shows the network on the :guilabel:`Networks` tab. + +Create a router +~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Network` tab and + click :guilabel:`Routers` category. + +#. Click :guilabel:`Create Router`. + +#. In the :guilabel:`Create Router` dialog box, specify a name for the router + and :guilabel:`External Network`, and click :guilabel:`Create Router`. + + The new router is now displayed in the :guilabel:`Routers` tab. + +#. To connect a private network to the newly created router, perform the + following steps: + + A) On the :guilabel:`Routers` tab, click the name of the router. + + B) On the :guilabel:`Router Details` page, click the :guilabel:`Interfaces` + tab, then click :guilabel:`Add Interface`. + + C) In the :guilabel:`Add Interface` dialog box, select a :guilabel:`Subnet`. + + Optionally, in the :guilabel:`Add Interface` dialog box, set an + :guilabel:`IP Address` for the router interface for the selected subnet. + + If you choose not to set the :guilabel:`IP Address` value, then by + default OpenStack Networking uses the first host IP address in the + subnet. + + The :guilabel:`Router Name` and :guilabel:`Router ID` fields are + automatically updated. + +#. Click :guilabel:`Add Interface`. + +You have successfully created the router. You can view the new topology +from the :guilabel:`Network Topology` tab. + +Create a port +~~~~~~~~~~~~~ + +.. warning:: + + Creating and managing ports requires administrator privileges. + Contact an administrator before adding or changing ports. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop-down menu at the top left. + +#. On the :guilabel:`Admin` tab, click :guilabel:`Networks` category. + +#. Click on the :guilabel:`Network Name` of the network in which the port + has to be created. + +#. In the :guilabel:`Create Port` dialog box, specify the following values. + + :guilabel:`Name`: Specify name to identify the port. + + :guilabel:`Device ID`: Device ID attached to the port. + + :guilabel:`Device Owner`: Device owner attached to the port. + + :guilabel:`Binding Host`: The ID of the host where the port is allocated. + + :guilabel:`Binding VNIC Type`: Select the VNIC type that is bound to the + neutron port. + +#. Click :guilabel:`Create Port`. + + The new port is now displayed in the :guilabel:`Ports` list. diff --git a/doc/source/user/databases.rst b/doc/source/user/databases.rst new file mode 100644 index 0000000000..a6ac8dad63 --- /dev/null +++ b/doc/source/user/databases.rst @@ -0,0 +1,216 @@ +=========================== +Create and manage databases +=========================== + +The Database service provides scalable and reliable cloud provisioning +functionality for both relational and non-relational database engines. +Users can quickly and easily use database features without the burden of +handling complex administrative tasks. + +.. _dashboard_create_db_instance: + +Create a database instance +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**Prerequisites.** Before you create a database instance, you need to +configure a default datastore and make sure you have an appropriate +flavor for the type of database instance you want. + +#. **Configure a default datastore.** + + Because the dashboard does not let you choose a specific datastore to + use with an instance, you need to configure a default datastore. The + dashboard then uses the default datastore to create the instance. + + #. Add the following line to ``/etc/trove/trove.conf``: + + .. code-block:: console + + default_datastore = DATASTORE_NAME + + Replace ``DATASTORE_NAME`` with the name that the administrative + user set when issuing the :command:`trove-manage` command to create the + datastore. You can use the trove :command:`datastore-list` command to + display the datastores that are available in your environment. + + For example, if your MySQL data store name is set to ``mysql``, + your entry would look like this: + + .. code-block:: console + + default_datastore = mysql + + #. Restart Database services on the controller node: + + .. code-block:: console + + # service trove-api restart + # service trove-taskmanager restart + # service trove-conductor restart + +#. **Verify flavor.** + + Make sure an appropriate flavor exists for the type of + database instance you want. + +**Create database instance.** Once you have configured a default +datastore and verified that you have an appropriate flavor, you can +create a database instance. + +#. Log in to the dashboard. + +#. From the CURRENT PROJECT on the :guilabel:`Project` tab, select the + appropriate project. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Database` tab and + click :guilabel:`Instances` category. This lists the instances that + already exist in your environment. + +#. Click :guilabel:`Launch Instance`. + +#. In the :guilabel:`Launch Database` dialog box, specify the following values. + + Details + + :guilabel:`Database Name`: Specify a name for the database instance. + + :guilabel:`Flavor`: Select an appropriate flavor for the instance. + + :guilabel:`Volume Size`: Select a volume size. Volume size is expressed in + GB. + + :guilabel:`Initialize Databases`: Initial Database + + Optionally provide a comma separated list of databases to create, for + example: + + ``database1``, ``database2``, ``database3`` + + :guilabel:`Initial Admin User`: Create an initial admin user. This user will + have access to all the databases you create. + + :guilabel:`Password`: Specify a password associated with the initial admin + user you just named. + + :guilabel:`Host`: Optionally, allow the user to connect only from this host. + If you do not specify a host, this user will be allowed to connect from + anywhere. + +#. Click the :guilabel:`Launch` button. The new database instance appears in + the databases list. + +Backup and restore a database +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can use Database services to backup a database and store the backup +artifact in the Object Storage service. Later on, if the original +database is damaged, you can use the backup artifact to restore the +database. The restore process creates a database instance. + +This example shows you how to back up and restore a MySQL database. + +To backup the database instance +------------------------------- + +#. Log in to the dashboard. + +#. From the CURRENT PROJECT on the :guilabel:`Project` tab, select the + appropriate project. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Database` tab and + click :guilabel:`Instances` category. This displays the existing + instances in your system. + +#. Click :guilabel:`Create Backup`. + +#. In the :guilabel:`Backup Database` dialog box, specify the following + values: + + Name + + Specify a name for the backup. + + Database Instance + + Select the instance you want to back up. + +#. Click :guilabel:`Backup`. The new backup appears in the backup list. + +To restore a database instance +------------------------------ + +Now assume that your original database instance is damaged and you +need to restore it. You do the restore by using your backup to create +a new database instance. + +#. Log in to the dashboard. + +#. From the CURRENT PROJECT on the :guilabel:`Project` tab, select the + appropriate project. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Database` tab and + click :guilabel:`Backups` category. This lists the available backups. + +#. Check the backup you want to use and click :guilabel:`Restore Backup`. + +#. In the :guilabel:`Launch Database` dialog box, specify the values you + want for the new database instance. + +#. Click the :guilabel:`Restore From Database` tab and make sure that this + new instance is based on the correct backup. + +#. Click :guilabel:`Launch`. + + The new instance appears in the database instances list. + +Update a database instance +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can change various characteristics of a database instance, +such as its volume size and flavor. + +To change the volume size of an instance +---------------------------------------- + +#. Log in to the dashboard. + +#. From the CURRENT PROJECT on the :guilabel:`Project` tab, select the + appropriate project. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Database` tab and + click :guilabel:`Instances` category. This displays the existing + instances in your system. + +#. Check the instance you want to work with. + In the :guilabel:`Actions` column, expand the drop down menu + and select :guilabel:`Resize Volume`. + +#. In the :guilabel:`Resize Database Volume` dialog box, + fill in the :guilabel:`New Size` field with an integer indicating + the new size you want for the instance. Express the size in GB, and + note that the new size must be larger than the current size. + +#. Click :guilabel:`Resize Database Volume`. + +To change the flavor of an instance +----------------------------------- + +#. Log in to the dashboard. + +#. From the CURRENT PROJECT on the :guilabel:`Project` tab, select the + appropriate project. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Database` tab and + click :guilabel:`Instances` category. This displays the existing + instances in your system. + +#. Check the instance you want to work with. In the + :guilabel:`Actions` column, expand the drop down menu and + select :guilabel:`Resize Instance`. + +#. In the :guilabel:`Resize Database Instance` dialog box, + expand the drop down menu in the :guilabel:`New Flavor` field. + Select the new flavor you want for the instance. + +#. Click :guilabel:`Resize Database Instance`. + diff --git a/doc/source/user/figures/create_image.png b/doc/source/user/figures/create_image.png new file mode 100644 index 0000000000..b07d10b92e Binary files /dev/null and b/doc/source/user/figures/create_image.png differ diff --git a/doc/source/user/figures/dashboard_admin_tab.png b/doc/source/user/figures/dashboard_admin_tab.png new file mode 100644 index 0000000000..b26f8aca85 Binary files /dev/null and b/doc/source/user/figures/dashboard_admin_tab.png differ diff --git a/doc/source/user/figures/dashboard_identity_tab.png b/doc/source/user/figures/dashboard_identity_tab.png new file mode 100644 index 0000000000..a9c4541270 Binary files /dev/null and b/doc/source/user/figures/dashboard_identity_tab.png differ diff --git a/doc/source/user/figures/dashboard_project_tab.png b/doc/source/user/figures/dashboard_project_tab.png new file mode 100644 index 0000000000..8b5732e7e2 Binary files /dev/null and b/doc/source/user/figures/dashboard_project_tab.png differ diff --git a/doc/source/user/figures/dashboard_settings_tab.png b/doc/source/user/figures/dashboard_settings_tab.png new file mode 100644 index 0000000000..896609859c Binary files /dev/null and b/doc/source/user/figures/dashboard_settings_tab.png differ diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst index 1f3e49c3a5..cde57d3cc2 100644 --- a/doc/source/user/index.rst +++ b/doc/source/user/index.rst @@ -1,8 +1,24 @@ -==================== - User Documentation -==================== +======================================== + OpenStack Dashboard User Documentation +======================================== + +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. .. toctree:: :maxdepth: 2 + log-in.rst + manage-images.rst + configure-access-and-security-for-instances.rst + launch-instances.rst + create-networks.rst + manage-containers.rst + manage-volumes.rst + manage-shares.rst + stacks.rst + databases.rst + manage-lbaasv2.rst browser_support diff --git a/doc/source/user/launch-instances.rst b/doc/source/user/launch-instances.rst new file mode 100644 index 0000000000..ed50a905c4 --- /dev/null +++ b/doc/source/user/launch-instances.rst @@ -0,0 +1,295 @@ +=========================== +Launch and manage instances +=========================== + +Instances are virtual machines that run inside the cloud. +You can launch an instance from the following sources: + +* Images uploaded to the Image service. + +* Image that you have copied to a persistent volume. The instance + launches from the volume, which is provided by the ``cinder-volume`` + API through iSCSI. + +* Instance snapshot that you took. + +Launch an instance +~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Instances` category. + + The dashboard shows the instances with its name, its private and + floating IP addresses, size, status, task, power state, and so on. + +#. Click :guilabel:`Launch Instance`. + +#. In the :guilabel:`Launch Instance` dialog box, specify the following values: + + :guilabel:`Details` tab + + Instance Name + Assign a name to the virtual machine. + + Availability Zone + By default, this value is set to the availability zone given by the + cloud provider (for example, ``us-west`` or ``apac-south``). For some + cases, it could be ``nova``. + + .. note:: + + The name you assign here becomes the initial host name of the server. + If the name is longer than 63 characters, the Compute service + truncates it automatically to ensure dnsmasq works correctly. + + After the server is built, if you change the server name in the API + or change the host name directly, the names are not updated in the + dashboard. + + Server names are not guaranteed to be unique when created so you + could have two instances with the same host name. + + Count + To launch multiple instances, enter a value greater than ``1``. The + default is ``1``. + + :guilabel:`Source` tab + + Instance Boot Source + Your options are: + + Boot from image + If you choose this option, a new field for :guilabel:`Image Name` + displays. You can select the image from the list. + + Boot from snapshot + If you choose this option, a new field for :guilabel:`Instance + Snapshot` displays. You can select the snapshot from the list. + + Boot from volume + If you choose this option, a new field for :guilabel:`Volume` + displays. You can select the volume from the list. + + Boot from image (creates a new volume) + With this option, you can boot from an image and create a volume + by entering the :guilabel:`Device Size` and :guilabel:`Device + Name` for your volume. Click the :guilabel:`Delete Volume on + Instance Delete` option to delete the volume on deleting the + instance. + + Boot from volume snapshot (creates a new volume) + Using this option, you can boot from a volume snapshot and create + a new volume by choosing :guilabel:`Volume Snapshot` from a list + and adding a :guilabel:`Device Name` for your volume. Click the + :guilabel:`Delete Volume on Instance Delete` option to delete the + volume on deleting the instance. + + Image Name + This field changes based on your previous selection. If you have + chosen to launch an instance using an image, the :guilabel:`Image Name` + field displays. Select the image name from the dropdown list. + + Instance Snapshot + This field changes based on your previous selection. If you have + chosen to launch an instance using a snapshot, the + :guilabel:`Instance Snapshot` field displays. + Select the snapshot name from the dropdown list. + + Volume + This field changes based on your previous selection. If you have + chosen to launch an instance using a volume, the :guilabel:`Volume` + field displays. Select the volume name from the dropdown list. + If you want to delete the volume on instance delete, + check the :guilabel:`Delete Volume on Instance Delete` option. + + :guilabel:`Flavor` tab + + Flavor + Specify the size of the instance to launch. + + .. note:: + + The flavor is selected based on the size of the image selected + for launching an instance. For example, while creating an image, if + you have entered the value in the :guilabel:`Minimum RAM (MB)` field + as 2048, then on selecting the image, the default flavor is + ``m1.small``. + + :guilabel:`Networks` tab + + Selected Networks + To add a network to the instance, click the :guilabel:`+` in the + :guilabel:`Available` field. + + :guilabel:`Network Ports` tab + + Ports + Activate the ports that you want to assign to the instance. + + :guilabel:`Security Groups` tab + + Security Groups + Activate the security groups that you want to assign to the instance. + + Security groups are a kind of cloud firewall that define which + incoming network traffic is forwarded to instances. + + If you have not created any security groups, you can assign + only the default security group to the instance. + + :guilabel:`Key Pair` tab + + Key Pair + Specify a key pair. + + If the image uses a static root password or a static key set + (neither is recommended), you do not need to provide a key pair + to launch the instance. + + :guilabel:`Configuration` tab + + Customization Script Source + Specify a customization script that runs after your instance + launches. + + :guilabel:`Metadata` tab + + Available Metadata + Add Metadata items to your instance. + +#. Click :guilabel:`Launch Instance`. + + The instance starts on a compute node in the cloud. + +.. note:: + + If you did not provide a key pair, security groups, or rules, users + can access the instance only from inside the cloud through VNC. Even + pinging the instance is not possible without an ICMP rule configured. + +You can also launch an instance from the :guilabel:`Images` or +:guilabel:`Volumes` category when you launch an instance from +an image or a volume respectively. + +When you launch an instance from an image, OpenStack creates a local +copy of the image on the compute node where the instance starts. + +For details on creating images, see `Creating images +manually `_ +in the *OpenStack Virtual Machine Image Guide*. + +When you launch an instance from a volume, note the following steps: + +* To select the volume from which to launch, launch an instance from + an arbitrary image on the volume. The arbitrary image that you select + does not boot. Instead, it is replaced by the image on the volume that + you choose in the next steps. + + To boot a Xen image from a volume, the image you launch in must be + the same type, fully virtualized or paravirtualized, as the one on + the volume. + +* Select the volume or volume snapshot from which to boot. Enter a + device name. Enter ``vda`` for KVM images or ``xvda`` for Xen images. + +.. note:: + + When running QEMU without support for the hardware virtualization, set + ``cpu_mode="none"`` alongside ``virt_type=qemu`` in + ``/etc/nova/nova-compute.conf`` to solve the following error: + + .. code-block:: console + + libvirtError: unsupported configuration: CPU mode 'host-model' + for ``x86_64`` qemu domain on ``x86_64`` host is not supported by hypervisor + +Connect to your instance by using SSH +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To use SSH to connect to your instance, use the downloaded keypair +file. + +.. note:: + + The user name is ``ubuntu`` for the Ubuntu cloud images on TryStack. + +#. Copy the IP address for your instance. + +#. Use the :command:`ssh` command to make a secure connection to the instance. + For example: + + .. code-block:: console + + $ ssh -i MyKey.pem ubuntu@10.0.0.2 + +#. At the prompt, type ``yes``. + +It is also possible to SSH into an instance without an SSH keypair, if the +administrator has enabled root password injection. For more information +about root password injection, see `Injecting the administrator password +`_ +in the *OpenStack Administrator Guide*. + +Track usage for instances +~~~~~~~~~~~~~~~~~~~~~~~~~ + +You can track usage for instances for each project. You can track costs +per month by showing meters like number of vCPUs, disks, RAM, and +uptime for all your instances. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Overview` category. + +#. To query the instance usage for a month, select a month and click + :guilabel:`Submit`. + +#. To download a summary, click :guilabel:`Download CSV Summary`. + +Create an instance snapshot +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click the :guilabel:`Instances` category. + +#. Select the instance from which to create a snapshot. + +#. In the actions column, click :guilabel:`Create Snapshot`. + +#. In the :guilabel:`Create Snapshot` dialog box, enter a name for the + snapshot, and click :guilabel:`Create Snapshot`. + + The :guilabel:`Images` category shows the instance snapshot. + +To launch an instance from the snapshot, select the snapshot and click +:guilabel:`Launch`. Proceed with launching an instance. + +Manage an instance +~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Instances` category. + +#. Select an instance. + +#. In the menu list in the actions column, select the state. + + You can resize or rebuild an instance. You can also choose to view + the instance console log, edit instance or the security groups. + Depending on the current state of the instance, you can pause, + resume, suspend, soft or hard reboot, or terminate it. diff --git a/doc/source/user/log-in.rst b/doc/source/user/log-in.rst new file mode 100644 index 0000000000..389e0a2a63 --- /dev/null +++ b/doc/source/user/log-in.rst @@ -0,0 +1,284 @@ +======================= +Log in to the dashboard +======================= + +The dashboard is generally installed on the controller node. + +#. Ask the cloud operator for the host name or public IP address from + which you can access the dashboard, and for your user name and + password. If the cloud supports multi-domain model, you also need to + ask for your domain name. + +#. Open a web browser that has JavaScript and cookies enabled. + + .. note:: + + To use the Virtual Network Computing (VNC) client for the dashboard, + your browser must support HTML5 Canvas and HTML5 WebSockets. The VNC + client is based on noVNC. For details, see `noVNC: HTML5 VNC + Client `__. + For a list of supported browsers, see `Browser + support `__. + +#. In the address bar, enter the host name or IP address for the + dashboard, for example, ``https://ipAddressOrHostName/``. + + .. note:: + + If a certificate warning appears when you try to access the URL for + the first time, a self-signed certificate is in use, which is not + considered trustworthy by default. Verify the certificate or add an + exception in the browser to bypass the warning. + +#. On the :guilabel:`Log In` page, enter your user name and password, and + click :guilabel:`Sign In`. If the cloud supports multi-domain model, you + also need to enter your domain name. + + The top of the window displays your user name. You can also access the + :guilabel:`Settings` tab (:ref:`dashboard-settings-tab`) or sign out + of the dashboard. + + The visible tabs and functions in the dashboard depend on the access + permissions, or roles, of the user you are logged in as. + + * If you are logged in as an end user, the :guilabel:`Project` tab + (:ref:`dashboard-project-tab`) and :guilabel:`Identity` tab + (:ref:`dashboard-identity-tab`) are displayed. + + * If you are logged in as an administrator, the :guilabel:`Project` tab + (:ref:`dashboard-project-tab`) and :guilabel:`Admin` tab + (:ref:`dashboard-admin-tab`) and :guilabel:`Identity` tab + (:ref:`dashboard-identity-tab`) are displayed. + +.. note:: + + Some tabs, such as :guilabel:`Orchestration` and :guilabel:`Firewalls`, + only appear on the dashboard if they are properly configured. + +.. _dashboard-project-tab: + +OpenStack dashboard — Project tab +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Projects are organizational units in the cloud and are also known as +tenants or accounts. Each user is a member of one or more projects. +Within a project, a user creates and manages instances. + +From the :guilabel:`Project` tab, you can view and manage the resources in a +selected project, including instances and images. You can select the project +from the drop-down menu at the top left. If the cloud supports multi-domain +model, you can also select the domain from this menu. + +.. figure:: figures/dashboard_project_tab.png + :width: 100% + + **Figure: Project tab** + +From the :guilabel:`Project` tab, you can access the following categories: + +Compute tab +----------- + +* :guilabel:`Overview`: View reports for the project. + +* :guilabel:`Instances`: View, launch, create a snapshot from, stop, pause, + or reboot instances, or connect to them through VNC. + +* :guilabel:`Volumes`: Use the following tabs to complete these tasks: + + * :guilabel:`Volumes`: View, create, edit, and delete volumes. + + * :guilabel:`Volume Snapshots`: View, create, edit, and delete volume + snapshots. + +* :guilabel:`Images`: View images and instance snapshots created by project + users, plus any images that are publicly available. Create, edit, and + delete images, and launch instances from images and snapshots. + +* :guilabel:`Access & Security`: Use the following tabs to complete these + tasks: + + * :guilabel:`Security Groups`: View, create, edit, and delete security + groups and security group rules. + + * :guilabel:`Key Pairs`: View, create, edit, import, and delete key pairs. + + * :guilabel:`Floating IPs`: Allocate an IP address to or release it from a + project. + + * :guilabel:`API Access`: View API endpoints. + +* :guilabel:`Shares`: Use the following tabs to complete these tasks: + + * :guilabel:`Shares`: View, create, manage, and delete shares. + + * :guilabel:`Snapshots`: View, manage, and delete volume snapshots. + + * :guilabel:`Share Networks`: View, manage, and delete share networks. + + * :guilabel:`Security Services`: View, manage, and delete security services. + +Network tab +----------- + +* :guilabel:`Network Topology`: View the network topology. + +* :guilabel:`Networks`: Create and manage public and private networks. + +* :guilabel:`Routers`: Create and manage routers. + +* :guilabel:`Load Balancers`: Create and manage load balancers. + + * :guilabel:`Pools`: Add and manage pools. + + * :guilabel:`Members`: Add and manage members. + + * :guilabel:`Monitors`: Add and manage monitors. + +* :guilabel:`Firewalls`: Create and manage firewalls. + + * :guilabel:`Firewalls`: Create and manage firewalls. + + * :guilabel:`Firewall Policies`: Add and manage firewall policies. + + * :guilabel:`Firewall Rules`: Add and manage firewall rules. + +Orchestration tab +----------------- + +* :guilabel:`Stacks`: Use the REST API to orchestrate multiple composite + cloud applications. + +* :guilabel:`Resource Types`: Show a list of all the supported resource + types for HOT templates. + +Object Store tab +---------------- + +* :guilabel:`Containers`: Create and manage containers and objects. + +.. _dashboard-admin-tab: + +OpenStack dashboard — Admin tab +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Administrative users can use the :guilabel:`Admin` tab to view usage and to +manage instances, volumes, flavors, images, networks, and so on. + + +.. figure:: figures/dashboard_admin_tab.png + :width: 100% + + **Figure: Admin tab** + +From the :guilabel:`Admin` tab, you can access the following category +to complete these tasks: + +System tab +---------- + +* :guilabel:`Overview`: View basic reports. + +* :guilabel:`Resource Usage`: Use the following tabs to view the following + usages: + + * :guilabel:`Usage Report`: View the usage report. + + * :guilabel:`Stats`: View the statistics of all resources. + +* :guilabel:`Hypervisors`: View the hypervisor summary. + +* :guilabel:`Host Aggregates`: View, create, and edit host aggregates. + View the list of availability zones. + +* :guilabel:`Instances`: View, pause, resume, suspend, migrate, soft or hard + reboot, and delete running instances that belong to users of some, but not + all, projects. Also, view the log for an instance or access an instance + through VNC. + +* :guilabel:`Volumes`: Use the following tabs to complete these tasks: + + * :guilabel:`Volumes`: View, create, manage, and delete volumes. + + * :guilabel:`Volume Types`: View, create, manage, and delete volume types. + + * :guilabel:`Volume Snapshots`: View, manage, and delete volume snapshots. + +* :guilabel:`Flavors`: View, create, edit, view extra specifications for, + and delete flavors. A flavor is the size of an instance. + +* :guilabel:`Images`: View, create, edit properties for, and delete custom + images. + +* :guilabel:`Networks`: View, create, edit properties for, and delete + networks. + +* :guilabel:`Routers`: View, create, edit properties for, and delete routers. + +* :guilabel:`Defaults`: View default quota values. Quotas are hard-coded in + OpenStack Compute and define the maximum allowable size and number of + resources. + +* :guilabel:`Metadata Definitions`: Import namespace and view the metadata + information. + +* :guilabel:`System Information`: Use the following tabs to view the service + information: + + * :guilabel:`Services`: View a list of the services. + + * :guilabel:`Compute Services`: View a list of all Compute services. + + * :guilabel:`Block Storage Services`: View a list of all Block Storage + services. + + * :guilabel:`Network Agents`: View the network agents. + + * :guilabel:`Orchestration Services`: View a list of all Orchestration + services. + +* :guilabel:`Shares`: Use the following tabs to complete these tasks: + + * :guilabel:`Shares`: View, create, manage, and delete shares. + + * :guilabel:`Snapshots`: View, manage, and delete volume snapshots. + + * :guilabel:`Share Networks`: View, manage, and delete share networks. + + * :guilabel:`Security Services`: View, manage, and delete security services. + + * :guilabel:`Share Types`: View, create, manage, and delete share types. + + * :guilabel:`Share Servers`: View, manage, and delete share servers. + +.. _dashboard-identity-tab: + +OpenStack dashboard — Identity tab +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: figures/dashboard_identity_tab.png + :width: 100% + + **Figure:Identity tab** + +* :guilabel:`Projects`: View, create, assign users to, remove users from, + and delete projects. + +* :guilabel:`Users`: View, create, enable, disable, and delete users. + +.. _dashboard-settings-tab: + +OpenStack dashboard — Settings tab +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. figure:: figures/dashboard_settings_tab.png + :width: 100% + + **Figure:Settings tab** + +Click the :guilabel:`Settings` button from the user drop down menu at the +top right of any page, you will see the :guilabel:`Settings` tab. + +* :guilabel:`User Settings`: View and manage dashboard settings. + +* :guilabel:`Change Password`: Change the password of the user. diff --git a/doc/source/user/manage-containers.rst b/doc/source/user/manage-containers.rst new file mode 100644 index 0000000000..477ac0a2d2 --- /dev/null +++ b/doc/source/user/manage-containers.rst @@ -0,0 +1,181 @@ +=================================== +Create and manage object containers +=================================== + +OpenStack Object Storage (swift) is used for redundant, scalable data storage +using clusters of standardized servers to store petabytes of accessible data. +It is a long-term storage system for large amounts of static data which can be +retrieved and updated. + +OpenStack Object Storage provides a distributed, API-accessible storage +platform that can be integrated directly into an application or used to +store any type of file, including VM images, backups, archives, or media +files. In the OpenStack dashboard, you can only manage containers and +objects. + +In OpenStack Object Storage, containers provide storage for objects in a +manner similar to a Windows folder or Linux file directory, though they +cannot be nested. An object in OpenStack consists of the file to be +stored in the container and any accompanying metadata. + +Create a container +~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Click :guilabel:`Container`. + +#. In the :guilabel:`Create Container` dialog box, enter a name for the + container, and then click :guilabel:`Create`. + +You have successfully created a container. + +.. note:: + + To delete a container, click the :guilabel:`More` button and select + :guilabel:`Delete Container`. + +Upload an object +~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Select the container in which you want to store your object. + +#. Click the :guilabel:`Upload File` icon. + + The :guilabel:`Upload File To Container: ` dialog box + appears. + ```` is the name of the container to which you are uploading + the object. + +#. Enter a name for the object. + +#. Browse to and select the file that you want to upload. + +#. Click :guilabel:`Upload File`. + +You have successfully uploaded an object to the container. + +.. note:: + + To delete an object, click the :guilabel:`More button` and select + :guilabel:`Delete Object`. + +Manage an object +~~~~~~~~~~~~~~~~ + +**To edit an object** + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Select the container in which you want to store your object. + +#. Click the menu button and choose :guilabel:`Edit` from the dropdown list. + + The :guilabel:`Edit Object` dialog box is displayed. + +#. Browse to and select the file that you want to upload. + +#. Click :guilabel:`Update Object`. + +.. note:: + + To delete an object, click the menu button and select + :guilabel:`Delete Object`. + +**To copy an object from one container to another** + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Select the container in which you want to store your object. + +#. Click the menu button and choose :guilabel:`Copy` from the dropdown list. + +#. In the :guilabel:`Copy Object` launch dialog box, enter the following + values: + + * :guilabel:`Destination Container`: Choose the destination container from + the list. + * :guilabel:`Path`: Specify a path in which the new copy should be stored + inside of the selected container. + * :guilabel:`Destination object name`: Enter a name for the object in the + new container. + +#. Click :guilabel:`Copy Object`. + +**To create a metadata-only object without a file** + +You can create a new object in container without a file available and +can upload the file later when it is ready. This temporary object acts a +place-holder for a new object, and enables the user to share object +metadata and URL info in advance. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Select the container in which you want to store your object. + +#. Click :guilabel:`Upload Object`. + + The :guilabel:`Upload Object To Container`: ```` dialog box is + displayed. + + ```` is the name of the container to which you are uploading + the object. + +#. Enter a name for the object. + +#. Click :guilabel:`Update Object`. + +**To create a pseudo-folder** + +Pseudo-folders are similar to folders in your desktop operating system. +They are virtual collections defined by a common prefix on the object's +name. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Object Store` tab and + click :guilabel:`Containers` category. + +#. Select the container in which you want to store your object. + +#. Click :guilabel:`Create Pseudo-folder`. + + The :guilabel:`Create Pseudo-Folder in Container` ```` dialog box + is displayed. ```` is the name of the container to which you + are uploading the object. + +#. Enter a name for the pseudo-folder. + + A slash (/) character is used as the delimiter for pseudo-folders in + Object Storage. + +#. Click :guilabel:`Create`. diff --git a/doc/source/user/manage-images.rst b/doc/source/user/manage-images.rst new file mode 100644 index 0000000000..ccbe50ba53 --- /dev/null +++ b/doc/source/user/manage-images.rst @@ -0,0 +1,143 @@ +======================== +Upload and manage images +======================== + +A virtual machine image, referred to in this document simply +as an image, is a single file that contains a virtual disk that +has a bootable operating system installed on it. Images are used +to create virtual machine instances within the cloud. For information +about creating image files, see the `OpenStack Virtual Machine +Image Guide `_. + +Depending on your role, you may have permission to upload and manage +virtual machine images. Operators might restrict the upload and +management of images to cloud administrators or operators only. If you +have the appropriate privileges, you can use the dashboard to upload and +manage images in the admin project. + +.. note:: + + You can also use the :command:`openstack` and :command:`glance` + command-line clients or the Image service to manage images. + +Upload an image +~~~~~~~~~~~~~~~ + +Follow this procedure to upload an image to a project: + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Images` category. + +#. Click :guilabel:`Create Image`. + + The :guilabel:`Create An Image` dialog box appears. + + .. figure:: figures/create_image.png + + **Dashboard — Create Image** + +#. Enter the following values: + + +-------------------------------+---------------------------------+ + | :guilabel:`Image Name` | Enter a name for the image. | + +-------------------------------+---------------------------------+ + | :guilabel:`Image Description` | Enter a brief description of | + | | the image. | + +-------------------------------+---------------------------------+ + | :guilabel:`Image Source` | Choose the image source from | + | | the dropdown list. Your choices | + | | are :guilabel:`Image Location` | + | | and :guilabel:`Image File`. | + +-------------------------------+---------------------------------+ + | :guilabel:`Image File` or | Based on your selection for | + | :guilabel:`Image Location` | :guilabel:`Image Source`, you | + | | either enter the location URL | + | | of the image in the | + | | :guilabel:`Image Location` | + | | field, or browse for the image | + | | file on your file system and | + | | add it. | + +-------------------------------+---------------------------------+ + | :guilabel:`Format` | Select the image format (for | + | | example, QCOW2) for the image. | + +-------------------------------+---------------------------------+ + | :guilabel:`Architecture` | Specify the architecture. For | + | | example, ``i386`` for a 32-bit | + | | architecture or ``x86_64`` for | + | | a 64-bit architecture. | + +-------------------------------+---------------------------------+ + | :guilabel:`Minimum Disk (GB)` | Leave this field empty. | + +-------------------------------+---------------------------------+ + | :guilabel:`Minimum RAM (MB)` | Leave this field empty. | + +-------------------------------+---------------------------------+ + | :guilabel:`Copy Data` | Specify this option to copy | + | | image data to the Image service.| + +-------------------------------+---------------------------------+ + | :guilabel:`Visibility` | The access permission for the | + | | image. | + | | ``Public`` or ``Private``. | + +-------------------------------+---------------------------------+ + | :guilabel:`Protected` | Select this check box to ensure | + | | that only users with | + | | permissions can delete the | + | | image. ``Yes`` or ``No``. | + +-------------------------------+---------------------------------+ + | :guilabel:`Image Metadata` | Specify this option to add | + | | resource metadata. The glance | + | | Metadata Catalog provides a list| + | | of metadata image definitions. | + | | (Note: Not all cloud providers | + | | enable this feature.) | + +-------------------------------+---------------------------------+ + +#. Click :guilabel:`Create Image`. + + The image is queued to be uploaded. It might take some time before + the status changes from Queued to Active. + +Update an image +~~~~~~~~~~~~~~~ + +Follow this procedure to update an existing image. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. Select the image that you want to edit. + +#. In the :guilabel:`Actions` column, click the menu button and then + select :guilabel:`Edit Image` from the list. + +#. In the :guilabel:`Edit Image` dialog box, you can perform various + actions. For example: + + * Change the name of the image. + * Select the :guilabel:`Public` check box to make the image public. + * Clear the :guilabel:`Public` check box to make the image private. + +#. Click :guilabel:`Edit Image`. + +Delete an image +~~~~~~~~~~~~~~~ + +Deletion of images is permanent and **cannot** be reversed. Only users +with the appropriate permissions can delete images. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Images` category. + +#. Select the images that you want to delete. + +#. Click :guilabel:`Delete Images`. + +#. In the :guilabel:`Confirm Delete Images` dialog box, click + :guilabel:`Delete Images` to confirm the deletion. diff --git a/doc/source/user/manage-lbaasv2.rst b/doc/source/user/manage-lbaasv2.rst new file mode 100644 index 0000000000..b401e5b1c8 --- /dev/null +++ b/doc/source/user/manage-lbaasv2.rst @@ -0,0 +1,85 @@ +================================= +View and manage load balancers v2 +================================= + +Load-Balancer-as-a-Service (LBaaS) enables networking to distribute incoming +requests evenly among designated instances. This distribution ensures that +the workload is shared predictably among instances and enables more effective +use of system resources. Use one of these load-balancing methods to distribute +incoming requests: + +* Round robin: Rotates requests evenly between multiple instances. +* Source IP: Requests from a unique source IP address are consistently + directed to the same instance. +* Least connections: Allocates requests to the instance with the + least number of active connections. + +As an end user, you can create and manage load balancers and related +objects for users in various projects. You can also delete load balancers +and related objects. + +LBaaS v2 has several new concepts to understand: + +Load balancer + The load balancer occupies a neutron network port and + has an IP address assigned from a subnet. + +Listener + Each port that listens for traffic on a particular load balancer is + configured separately and tied to the load balancer. Multiple listeners can + be associated with the same load balancer. + +Pool + A pool is a group of hosts that sits behind the load balancer and + serves traffic through the load balancer. + +Member + Members are the actual IP addresses that receive traffic from + the load balancer. Members are associated with pools. + +Health monitor + Members may go offline from time to time and health monitors + diverts traffic away from members that are not responding properly. + Health monitors are associated with pools. + +View existing load balancers +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the OpenStack dashboard. +#. On the :guilabel:`Project` tab, open the + :guilabel:`Network` tab, and click the + :guilabel:`Load Balancers` category. + + This view shows the list of existing load balancers. To view details + of any of the load balancers, click on the specific load balancer. + +Create a load balancer +~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the OpenStack dashboard. +#. On the :guilabel:`Project` tab, open the + :guilabel:`Network` tab, and click the + :guilabel:`Load Balancers` category. +#. Click the :guilabel:`Create Load Balancer` button. + + Use the concepts described in the overview section to fill in + the necessary information about the load balancer you want to create. + + Keep in mind, the health checks routinely run against each instance + within a target load balancer and the result of the health check is + used to determine if the instance receives new connections. + +.. note:: + A message indicates whether the action succeeded. + +Delete a load balancer +~~~~~~~~~~~~~~~~~~~~~~ + +#. Select the load balancer you want to delete + and click the :guilabel:`Delete Load Balancer` button. + + To be deleted successfully, a load balancer must not + have any listeners or pools associated with + it. The delete action is also available in the + :guilabel:`Actions` column for the individual load balancers. + diff --git a/doc/source/user/manage-shares.rst b/doc/source/user/manage-shares.rst new file mode 100644 index 0000000000..10a4bea945 --- /dev/null +++ b/doc/source/user/manage-shares.rst @@ -0,0 +1,242 @@ +========================= +Create and manage shares +========================= + +Shares are file storage that you provide access to instances. You can allow +access to a share to a running instance or deny access to a share and allow +access to it to another instance at any time. You can also delete a share. +You can create snapshot from a share if the driver supports it. Only +administrative users can create share types. + +Create a share +~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Click :guilabel:`Create Share`. + + In the dialog box that opens, enter or select the following values. + + :guilabel:`Share Name`: Specify a name for the share. + + :guilabel:`Description`: Optionally, provide a brief description for the + share. + + :guilabel:`Share Type`: Choose a share type. + + :guilabel:`Size (GB)`: The size of the share in gibibytes (GiB). + + :guilabel:`Share Protocol`: Select NFS, CIFS, GlusterFS, or HDFS. + + :guilabel:`Share Network`: Choose a share network. + + :guilabel:`Metadata`: Enter metadata for the share creation if needed. + +#. Click :guilabel:`Create Share`. + +The dashboard shows the share on the :guilabel:`Shares` tab. + +Delete a share +~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Select the check boxes for the shares that you want to delete. + +#. Click :guilabel:`Delete Shares` and confirm your choice. + + A message indicates whether the action was successful. + +Allow access +~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Go to the share that you want to allow access and choose + :guilabel:`Manage Rules` from Actions. + +#. Click :guilabel:`Add rule`. + + :guilabel:`Access Type`: Choose ip, user, or cert. + + :guilabel:`Access Level`: Choose read-write or read-only. + + :guilabel:`Access To`: Fill in Access To field. + +#. Click :guilabel:`Add Rule`. + + A message indicates whether the action was successful. + +Deny access +~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Go to the share that you want to deny access and choose + :guilabel:`Manage Rules` from Actions. + +#. Choose the rule you want to delete. + +#. Click :guilabel:`Delete rule` and confirm your choice. + + A message indicates whether the action was successful. + +Edit share metadata +~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Go to the share that you want to edit and choose + :guilabel:`Edit Share Metadata` from Actions. + +#. :guilabel:`Metadata`: To add share metadata, use key=value. To unset + metadata, use key. + +#. Click :guilabel:`Edit Share Metadata`. + + A message indicates whether the action was successful. + +Edit share +~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Go to the share that you want to edit and choose :guilabel:`Edit Share` from + Actions. + +#. :guilabel:`Share Name`: Enter a new share name. + +#. :guilabel:`Description`: Enter a new description. + +#. Click :guilabel:`Edit Share`. + + A message indicates whether the action was successful. + +Extend share +~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, and click :guilabel:`Shares`. + +#. Go to the share that you want to edit and choose :guilabel:`Extend Share` + from Actions. + +#. :guilabel:`New Size (GB)`: Enter new size. + +#. Click :guilabel:`Extend Share`. + + A message indicates whether the action was successful. + +Create share network +~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, + and click :guilabel:`Share Networks`. + +#. Click :guilabel:`Create Share Network`. + + In the dialog box that opens, enter or select the following values. + + :guilabel:`Name`: Specify a name for the share network. + + :guilabel:`Description`: Optionally, provide a brief description for the + share network. + + :guilabel:`Neutron Net`: Choose a neutron network. + + :guilabel:`Neutron Subnet`: Choose a neutron subnet. + +#. Click :guilabel:`Create Share Network`. + +The dashboard shows the share network on the :guilabel:`Share Networks` tab. + +Delete a share network +~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, and + click :guilabel:`Share Networks`. + +#. Select the check boxes for the share networks that you want to delete. + +#. Click :guilabel:`Delete Share Networks` and confirm your choice. + + A message indicates whether the action was successful. + +Edit share network +~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, and + click :guilabel:`Share Networks`. + +#. Go to the share network that you want to edit and choose + :guilabel:`Edit Share Network` from Actions. + +#. :guilabel:`Name`: Enter a new share network name. + +#. :guilabel:`Description`: Enter a new description. + +#. Click :guilabel:`Edit Share Network`. + + A message indicates whether the action was successful. + +Create security service +~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, + and click :guilabel:`Security Services`. + +#. Click :guilabel:`Create Security Service`. + + In the dialog box that opens, enter or select the following values. + + :guilabel:`Name`: Specify a name for the security service. + + :guilabel:`DNS IP`: Enter the DNS IP address. + + :guilabel:`Server`: Enter the server name. + + :guilabel:`Domain`: Enter the domain name. + + :guilabel:`User`: Enter the user name. + + :guilabel:`Password`: Enter the password. + + :guilabel:`Confirm Password`: Enter the password again to confirm. + + :guilabel:`Type`: Choose the type from Active Directory, LDAP, or Kerberos. + + :guilabel:`Description`: Optionally, provide a brief description for the + security service. + +#. Click :guilabel:`Create Security Service`. + +The dashboard shows the security service on the :guilabel:`Security Services` +tab. + +Delete a security service +~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, and + click :guilabel:`Security Services`. + +#. Select the check boxes for the security services that you want to delete. + +#. Click :guilabel:`Delete Security Services` and confirm your choice. + + A message indicates whether the action was successful. + +Edit security service +~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard, choose a project, click :guilabel:`Shares`, + and click :guilabel:`Security Services`. + +#. Go to the security service that you want to edit and choose + :guilabel:`Edit Security Service` from Actions. + +#. :guilabel:`Name`: Enter a new security service name. + +#. :guilabel:`Description`: Enter a new description. + +#. Click :guilabel:`Edit Security Service`. + + A message indicates whether the action was successful. diff --git a/doc/source/user/manage-volumes.rst b/doc/source/user/manage-volumes.rst new file mode 100644 index 0000000000..8e2bf0190b --- /dev/null +++ b/doc/source/user/manage-volumes.rst @@ -0,0 +1,177 @@ +========================= +Create and manage volumes +========================= + +Volumes are block storage devices that you attach to instances to enable +persistent storage. You can attach a volume to a running instance or +detach a volume and attach it to another instance at any time. You can +also create a snapshot from or delete a volume. Only administrative +users can create volume types. + +Create a volume +~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Volumes` category. + +#. Click :guilabel:`Create Volume`. + + In the dialog box that opens, enter or select the following values. + + :guilabel:`Volume Name`: Specify a name for the volume. + + :guilabel:`Description`: Optionally, provide a brief description for the + volume. + + :guilabel:`Volume Source`: Select one of the following options: + + * No source, empty volume: Creates an empty volume. An empty volume does + not contain a file system or a partition table. + + * Snapshot: If you choose this option, a new field for + :guilabel:`Use snapshot as a source` displays. You can select the + snapshot from the list. + + * Image: If you choose this option, a new field for :guilabel:`Use image + as a source` displays. You can select the image from the list. + + * Volume: If you choose this option, a new field for + :guilabel:`Use volume as a source` displays. You can select the volume + from the list. Options to use a snapshot or a volume as the source for a + volume are displayed only if there are existing snapshots or volumes. + + :guilabel:`Type`: Leave this field blank. + + :guilabel:`Size (GB)`: The size of the volume in gibibytes (GiB). + + :guilabel:`Availability Zone`: Select the Availability Zone from the list. + By default, this value is set to the availability zone given by the cloud + provider (for example, ``us-west`` or ``apac-south``). For some cases, + it could be ``nova``. + +#. Click :guilabel:`Create Volume`. + +The dashboard shows the volume on the :guilabel:`Volumes` tab. + +.. _attach_a_volume_to_an_instance_dash: + +Attach a volume to an instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After you create one or more volumes, you can attach them to instances. +You can attach a volume to one instance at a time. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Volumes` category. + +#. Select the volume to add to an instance and click + :guilabel:`Manage Attachments`. + +#. In the :guilabel:`Manage Volume Attachments` dialog box, select an instance. + +#. Enter the name of the device from which the volume is accessible by + the instance. + + .. note:: + + The actual device name might differ from the volume name because + of hypervisor settings. + +#. Click :guilabel:`Attach Volume`. + + The dashboard shows the instance to which the volume is now attached + and the device name. + +You can view the status of a volume in the Volumes tab of the dashboard. +The volume is either Available or In-Use. + +Now you can log in to the instance and mount, format, and use the disk. + +Detach a volume from an instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click the :guilabel:`Volumes` category. + +#. Select the volume and click :guilabel:`Manage Attachments`. + +#. Click :guilabel:`Detach Volume` and confirm your changes. + +A message indicates whether the action was successful. + +Create a snapshot from a volume +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Volumes` category. + +#. Select a volume from which to create a snapshot. + +#. In the :guilabel:`Actions` column, click :guilabel:`Create Snapshot`. + +#. In the dialog box that opens, enter a snapshot name and a brief + description. + +#. Confirm your changes. + + The dashboard shows the new volume snapshot in Volume Snapshots tab. + +Edit a volume +~~~~~~~~~~~~~ + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Volumes` category. + +#. Select the volume that you want to edit. + +#. In the :guilabel:`Actions` column, click :guilabel:`Edit Volume`. + +#. In the :guilabel:`Edit Volume` dialog box, update the name and description + of the volume. + +#. Click :guilabel:`Edit Volume`. + + .. note:: + + You can extend a volume by using the :guilabel:`Extend Volume` + option available in the :guilabel:`More` dropdown list and entering the + new value for volume size. + +Delete a volume +~~~~~~~~~~~~~~~ + +When you delete an instance, the data in its attached volumes is not +deleted. + +#. Log in to the dashboard. + +#. Select the appropriate project from the drop down menu at the top left. + +#. On the :guilabel:`Project` tab, open the :guilabel:`Compute` tab and + click :guilabel:`Volumes` category. + +#. Select the check boxes for the volumes that you want to delete. + +#. Click :guilabel:`Delete Volumes` and confirm your choice. + + A message indicates whether the action was successful. diff --git a/doc/source/user/stacks.rst b/doc/source/user/stacks.rst new file mode 100644 index 0000000000..cc22231290 --- /dev/null +++ b/doc/source/user/stacks.rst @@ -0,0 +1,151 @@ +======================== +Launch and manage stacks +======================== + +OpenStack Orchestration is a service that you can use to +orchestrate multiple composite cloud applications. This +service supports the use of both the Amazon Web Services (AWS) +CloudFormation template format through both a Query API that +is compatible with CloudFormation and the native OpenStack +Heat Orchestration Template (HOT) format through a REST API. + +These flexible template languages enable application +developers to describe and automate the deployment of +infrastructure, services, and applications. The templates +enable creation of most OpenStack resource types, such as +instances, floating IP addresses, volumes, security groups, +and users. Once created, the resources are referred to as +stacks. + +The template languages are described in the `Template Guide +`_ in the `Heat developer documentation `_. + +Launch a stack +~~~~~~~~~~~~~~ + +#. Log in to the dashboard. +#. Select the appropriate project from the drop down menu at the top left. +#. On the :guilabel:`Project` tab, open the :guilabel:`Orchestration` tab and + click :guilabel:`Stacks` category. +#. Click :guilabel:`Launch Stack`. +#. In the :guilabel:`Select Template` dialog box, specify the + following values: + + +---------------------------------------+-------------------------------+ + | :guilabel:`Template Source` | Choose the source of the | + | | template from the list. | + +---------------------------------------+-------------------------------+ + | :guilabel:`Template URL/File/Data` | Depending on the source that | + | | you select, enter the URL, | + | | browse to the file location, | + | | or directly include the | + | | template. | + +---------------------------------------+-------------------------------+ + | :guilabel:`Environment Source` | Choose the source of the | + | | environment from the list. | + | | The environment files contain | + | | additional settings for the | + | | stack. | + +---------------------------------------+-------------------------------+ + | :guilabel:`Environment File/Data` | Depending on the source that | + | | you select, browse to the | + | | file location, directly | + | | include the environment | + +---------------------------------------+-------------------------------+ + +#. Click :guilabel:`Next`. +#. In the :guilabel:`Launch Stack` dialog box, specify the + following values: + + +---------------------------------+---------------------------------+ + | :guilabel:`Stack Name` | Enter a name to identify | + | | the stack. | + +---------------------------------+---------------------------------+ + | :guilabel:`Creation Timeout` | Specify the number of minutes | + | :guilabel:`(minutes)` | that can elapse before the | + | | launch of the stack times out. | + +---------------------------------+---------------------------------+ + | :guilabel:`Rollback On Failure` | Select this check box if you | + | | want the service to roll back | + | | changes if the stack fails to | + | | launch. | + +---------------------------------+---------------------------------+ + | :guilabel:`Password for user` | Specify the password that | + | :guilabel:`"demo"` | the default user uses when the | + | | stack is created. | + +---------------------------------+---------------------------------+ + | :guilabel:`DBUsername` | Specify the name of the | + | | database user. | + +---------------------------------+---------------------------------+ + | :guilabel:`LinuxDistribution` | Specify the Linux distribution | + | | that is used in the stack. | + +---------------------------------+---------------------------------+ + | :guilabel:`DBRootPassword` | Specify the root password for | + | | the database. | + +---------------------------------+---------------------------------+ + | :guilabel:`KeyName` | Specify the name of the key pair| + | | to use to log in to the stack. | + +---------------------------------+---------------------------------+ + | :guilabel:`DBName` | Specify the name of the | + | | database. | + +---------------------------------+---------------------------------+ + | :guilabel:`DBPassword` | Specify the password of the | + | | database. | + +---------------------------------+---------------------------------+ + | :guilabel:`InstanceType` | Specify the flavor for the | + | | instance. | + +---------------------------------+---------------------------------+ + +#. Click :guilabel:`Launch` to create a stack. The :guilabel:`Stacks` + tab shows the stack. + +After the stack is created, click on the stack name to see the +following details: + +Topology + The topology of the stack. + +Overview + The parameters and details of the stack. + +Resources + The resources used by the stack. + +Events + The events related to the stack. + +Template + The template for the stack. + +Manage a stack +~~~~~~~~~~~~~~ + +#. Log in to the dashboard. +#. Select the appropriate project from the drop down menu at the top left. +#. On the :guilabel:`Project` tab, open the :guilabel:`Orchestration` tab and + click :guilabel:`Stacks` category. +#. Select the stack that you want to update. +#. Click :guilabel:`Change Stack Template`. +#. In the :guilabel:`Select Template` dialog box, select the + new template source or environment source. +#. Click :guilabel:`Next`. + + The :guilabel:`Update Stack Parameters` window appears. +#. Enter new values for any parameters that you want to update. +#. Click :guilabel:`Update`. + +Delete a stack +~~~~~~~~~~~~~~ + +When you delete a stack, you cannot undo this action. + +#. Log in to the dashboard. +#. Select the appropriate project from the drop down menu at the top left. +#. On the :guilabel:`Project` tab, open the :guilabel:`Orchestration` tab and + click :guilabel:`Stacks` category. +#. Select the stack that you want to delete. +#. Click :guilabel:`Delete Stack`. +#. In the confirmation dialog box, click :guilabel:`Delete Stack` + to confirm the deletion.