From 5fc76a1af162803c690eb845be4c257c08b0477f Mon Sep 17 00:00:00 2001 From: Joseph Robinson Date: Thu, 18 Feb 2016 15:19:03 +1000 Subject: [PATCH] Setting up Administrator Guide Dashboard Chapter Introducing Admin User Guide dashboard content to the Cloud Admin Guide as a part of the reorganisation goal. This patch is the first step in creating a new Dashboard section for Admin Users in the Cloud Admin Guide, as disucssed in the User Guide Specialty team meetings. 1.) Moving: dashboard_manage_host_aggregates.rst dashboard_manage_flavors.rst dashboard_admin_manage_stacks.rst dashboard_manage_instances.rst dashboard_manage_images.rst shared_file_systems_manage_shares_dashboard.rst 2). Remove the Images and Instances content from the compute-images-instances.rst 3.) Move the Shared file system dashboard content out of shared_file_system.rst, and into the Dashboard.rst chapter. Change-Id: I1e3c122e58349853b61be4ba514e469da407c1c9 Implements: blueprint user-guides-reorganised --- .../source/compute-images-instances.rst | 250 ------------------ doc/admin-guide-cloud/source/dashboard.rst | 29 +- .../source/dashboard_admin_manage_stacks.rst | 33 +++ .../source/dashboard_manage_flavors.rst | 163 ++++++++++++ .../dashboard_manage_host_aggregates.rst | 79 ++++++ .../source/dashboard_manage_images.rst | 122 +++++++++ .../source/dashboard_manage_instances.rst | 77 ++++++ ...hboard.rst => dashboard_manage_shares.rst} | 14 +- .../source/dashboard_sessions.rst | 2 +- .../source/figures/change_instance_state.png | Bin 0 -> 98436 bytes .../source/shared_file_systems.rst | 1 - 11 files changed, 506 insertions(+), 264 deletions(-) create mode 100644 doc/admin-guide-cloud/source/dashboard_admin_manage_stacks.rst create mode 100644 doc/admin-guide-cloud/source/dashboard_manage_flavors.rst create mode 100644 doc/admin-guide-cloud/source/dashboard_manage_host_aggregates.rst create mode 100644 doc/admin-guide-cloud/source/dashboard_manage_images.rst create mode 100644 doc/admin-guide-cloud/source/dashboard_manage_instances.rst rename doc/admin-guide-cloud/source/{shared_file_systems_manage_shares_dashboard.rst => dashboard_manage_shares.rst} (90%) create mode 100644 doc/admin-guide-cloud/source/figures/change_instance_state.png diff --git a/doc/admin-guide-cloud/source/compute-images-instances.rst b/doc/admin-guide-cloud/source/compute-images-instances.rst index 5e415e4fd2..7cdc9b3921 100644 --- a/doc/admin-guide-cloud/source/compute-images-instances.rst +++ b/doc/admin-guide-cloud/source/compute-images-instances.rst @@ -121,136 +121,6 @@ process. | -Manage instances -~~~~~~~~~~~~~~~~ - -Administrative users can manage instances for users in various projects. As -an administrative user, you can view, terminate, edit, perform, or migrate -an instance. You can perform a soft or hard reboot if needed. You can also -view instance logs, or launch a VNC console for an instance. - -For information about using the Dashboard to launch instances as an end -user, see the -`OpenStack End User Guide -`__. - -Create instance snapshots -------------------------- - -#. Log in to the Dashboard and choose the admin project from the - drop-down list at the top of the page. - -#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab - and click the :guilabel:`Instances` category. - -#. Select an instance to create a snapshot from it. From the - :guilabel:`Actions` drop-down list, select :guilabel:`Create Snapshot`. - -#. In the :guilabel:`Create Snapshot` window, enter a name for the snapshot. - -#. Click :guilabel:`Create Snapshot`. The Dashboard shows the instance snapshot - in the :guilabel:`Images` category. - -#. To launch an instance from the snapshot, select the snapshot and - click :guilabel:`Launch Instance`. For information about launching - instances, see the - `OpenStack End User Guide - `__. - -Control the state of an instance --------------------------------- - -#. Log in to the Dashboard and choose the admin project from the - drop-down list at the top of the page. - -#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab - and click the :guilabel:`Instances` category. - -#. Select the instance for which you want to change the state. - -#. From the drop-down list in the :guilabel:`Actions` column, - select the state. - - Depending on the current state of the instance, you can choose to - pause, un-pause, suspend, resume, soft or hard reboot, or terminate - an instance (actions in red color are dangerous). - -Track usage ------------ - -Use the :guilabel:`Overview` category to track usage of instances -for each project. - -You can track costs per month by showing meters like number of VCPUs, -disks, RAM, and uptime of all your instances. - -#. Log in to the Dashboard and choose the admin project from the - drop-down list at the top of the page. - -#. On the :guilabel:`Admin` tab, click the :guilabel:`Instances` category. - -#. Select a month and click :guilabel:`Submit` to query the instance usage for - that month. - -#. Click :guilabel:`Download CSV Summary` to download a CSV summary. - -Image management -~~~~~~~~~~~~~~~~ - -The OpenStack Image service discovers, registers, and retrieves virtual -machine images. The service also includes a RESTful API that allows you -to query VM image metadata and retrieve the actual image with HTTP -requests. For more information about the API, see the `OpenStack API -Complete Reference `__ and -the `Python -API `__. - -The OpenStack Image service can be controlled using a command-line tool. -For more information about using the OpenStack Image command-line tool, -see the `Manage -Images `__ -section in the OpenStack End User Guide. - -You can store virtual images made available through the Image service -in a variety of ways. In order to use these services, you -must have a working installation of the Image service, with a working -endpoint, and users that have been created in OpenStack Identity. -Additionally, you must meet the environment variables required by the -Compute and Image service clients. - -The Image service supports these back-end stores: - -File system - The OpenStack Image service stores virtual machine images in the - file system back end by default. This simple back end writes image - files to the local file system. - -Object Storage - The OpenStack highly available service for storing objects. - -Block Storage - The OpenStack highly available service for storing blocks. - -VMware - ESX/ESXi or vCenter Server target system. - -S3 - The Amazon S3 service. - -HTTP - OpenStack Image service can read virtual machine images that are - available on the Internet using HTTP. This store is read only. - -RADOS Block Device (RBD) - Stores images inside of a Ceph storage cluster using Ceph's RBD - interface. - -Sheepdog - A distributed storage system for QEMU/KVM. - -GridFS - Stores images using MongoDB. This store driver will be removed in Mitaka. - Image properties and property protection ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -554,126 +424,6 @@ Administrative users can specify which compute node their instances run on. To do this, specify the ``--availability-zone AVAILABILITY_ZONE:COMPUTE_HOST`` parameter. -Create and manage images -~~~~~~~~~~~~~~~~~~~~~~~~ - -Administrative users can create and manage images for the projects to -which you belong. You can create and manage images for users in all -projects to which you have administative access. - -To create and manage images in specified projects as an end -user, see the `OpenStack End User Guide -`_. - -To create and manage images as an administrator for other -users, use the following procedures. - -Create images -------------- - -For details about image creation, see the `Virtual Machine Image -Guide `_. - -#. Log in to the dashboard. - - Choose the :guilabel:`admin` project from the drop-down list - at the top of the page. -#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab - and click the :guilabel:`Images` category. The images that you - can administer for cloud users appear on this page. -#. Click :guilabel:`Create Image`, which opens the - :guilabel:`Create An Image` window. - -| - -.. _Figure Dashboard — Create images: - -**Create images** - -.. figure:: figures/create_image.png - -| - -#. In the :guilabel:`Create An Image` window, enter or select the - following values: - - +-------------------------------+---------------------------------+ - | :guilabel:`Name` | Enter a name for the image. | - +-------------------------------+---------------------------------+ - | :guilabel:`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, there | - | :guilabel:`Image Location` | is an :guilabel:`Image File` or | - | | :guilabel:`Image Location` | - | | field. You can include the | - | | location URL or browse for the | - | | image file on your file system | - | | and add it. | - +-------------------------------+---------------------------------+ - | :guilabel:`Format` | Select the image format. | - +-------------------------------+---------------------------------+ - | :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:`Public` | Select this option to make the | - | | image public to all users. | - +-------------------------------+---------------------------------+ - | :guilabel:`Protected` | Select this option to ensure | - | | that only users with | - | | permissions can delete it. | - +-------------------------------+---------------------------------+ - -#. Click :guilabel:`Create Image`. - - The image is queued to be uploaded. It might take several minutes - before the status changes from ``Queued`` to ``Active``. - -Update images -------------- - -#. Log in to the Dashboard. - Choose the :guilabel:`admin` project from the drop-down list - at the top of the page. -#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab - and click the :guilabel:`Images` category. -#. Select the images that you want to edit. Click :guilabel:`Edit Image`. -#. In the :guilabel:`Update Image` window, you can change the image name. - - Select the :guilabel:`Public` check box to make the image public. - Clear this check box to make the image private. You cannot change - the :guilabel:`Kernel ID`, :guilabel:`Ramdisk ID`, or - :guilabel:`Architecture` attributes for an image. -#. Click :guilabel:`Update Image`. - -Delete images -------------- - -#. Log in to the Dashboard. - Choose the :guilabel:`admin` project from the drop-down list - at the top of the page. -#. On the :guilabel:`Admin tab`, open the :guilabel:`System` tab - and click the :guilabel:`Images` category. -#. Select the images that you want to delete. -#. Click :guilabel:`Delete Images`. -#. In the :guilabel:`Confirm Delete Images` window, click :guilabel:`Delete - Images` to confirm the deletion. - - You cannot undo this action. Launch instances with UEFI ~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/admin-guide-cloud/source/dashboard.rst b/doc/admin-guide-cloud/source/dashboard.rst index 1edde47751..9c54dc68c1 100644 --- a/doc/admin-guide-cloud/source/dashboard.rst +++ b/doc/admin-guide-cloud/source/dashboard.rst @@ -2,11 +2,11 @@ Dashboard ========= -The OpenStack dashboard is a web-based interface that allows you to -manage OpenStack resources and services. The dashboard allows you to +The OpenStack Dashboard is a web-based interface that allows you to +manage OpenStack resources and services. The Dashboard allows you to interact with the OpenStack Compute cloud controller using the OpenStack APIs. For more information about installing and configuring the -dashboard, see the `OpenStack Installation Guide +Dashboard, see the `OpenStack Installation Guide `__ for your operating system. @@ -15,9 +15,28 @@ for your operating system. common/dashboard_customizing.rst dashboard_sessions.rst + dashboard_manage_images.rst + dashboard_manage_instances.rst + dashboard_manage_flavors.rst + dashboard_manage_shares.rst + dashboard_manage_host_aggregates.rst + dashboard_admin_manage_stacks.rst -- To deploy the dashboard, see the `OpenStack dashboard documentation +- To deploy the Dashboard, see the `OpenStack dashboard documentation `__. -- To launch instances with the dashboard, see the `OpenStack End User +- To launch instances with the Dashboard, see the `OpenStack End User Guide `__. + +.. Additional Documents to add-the final toctree should resemble this- + +.. dashboard_manage_images.rst +.. *dashboard_admin_manage_roles.rst +.. dashboard_manage_instances.rst +.. dashboard_manage_flavors.rst +.. *dashboard_manage_volumes.rst +.. *dashboard_manage_shares.rst +.. *dashboard_set_quotas +.. *dashboard_manage_resources.rst +.. dashboard_manage_host_aggregates.rst +.. dashboard_admin_manage_stacks.rst diff --git a/doc/admin-guide-cloud/source/dashboard_admin_manage_stacks.rst b/doc/admin-guide-cloud/source/dashboard_admin_manage_stacks.rst new file mode 100644 index 0000000000..705c171176 --- /dev/null +++ b/doc/admin-guide-cloud/source/dashboard_admin_manage_stacks.rst @@ -0,0 +1,33 @@ +============================================ +Launch and manage stacks using the Dashboard +============================================ + +The Orchestration service provides a template-based +orchestration engine for the OpenStack cloud. Orchestration +services create and manage cloud infrastructure +resources such as storage, networking, instances, and +applications as a repeatable running environment. + +Administrators use templates to create stacks, which are +collections of resources. For example, a stack might +include instances, floating IPs, volumes, +security groups, or users. The Orchestration service +offers access to all OpenStack +core services via a single modular template, with additional +orchestration capabilities such as auto-scaling and basic +high availability. + +For information about: + +* administrative tasks on the command-line, see + :doc:`cli_admin_manage_stacks`. + + .. note:: + + There are no administration-specific tasks that can be done through + the Dashboard. + +* the basic creation and deletion of Orchestration stacks, refer to + the `OpenStack End User Guide + `__. + diff --git a/doc/admin-guide-cloud/source/dashboard_manage_flavors.rst b/doc/admin-guide-cloud/source/dashboard_manage_flavors.rst new file mode 100644 index 0000000000..da16a7e783 --- /dev/null +++ b/doc/admin-guide-cloud/source/dashboard_manage_flavors.rst @@ -0,0 +1,163 @@ +============== +Manage flavors +============== + +In OpenStack, a flavor defines the compute, memory, and storage +capacity of a virtual server, also known as an instance. As an +administrative user, you can create, edit, and delete flavors. + +The following table lists the default flavors. + +============ ========= =============== ============= + Flavor VCPUs Disk (in GB) RAM (in MB) +============ ========= =============== ============= + m1.tiny 1 1 512 + m1.small 1 20 2048 + m1.medium 2 40 4096 + m1.large 4 80 8192 + m1.xlarge 8 160 16384 +============ ========= =============== ============= + +Create flavors +~~~~~~~~~~~~~~ + +#. Log in to the Dashboard. + + Choose the :guilabel:`admin` project from the drop-down + list at the top of the page. +#. In the :guilabel:`Admin` tab, open the :guilabel:`System` + tab and click the :guilabel:`Flavors` category. +#. Click :guilabel:`Create Flavor`. +#. In the :guilabel:`Create Flavor` window, enter or select the + parameters for the flavor in the :guilabel:`Flavor Information` tab. + + ========================= ======================================= + **Name** Enter the flavor name. + **ID** Unique ID (integer or UUID) for the + new flavor. If specifying 'auto', a + UUID will be automatically generated. + **VCPUs** Enter the number of virtual CPUs to + use. + **RAM (MB)** Enter the amount of RAM to use, in + megabytes. + **Root Disk (GB)** Enter the amount of disk space in + gigabytes to use for the root (/) + partition. + **Ephemeral Disk (GB)** Enter the amount of disk space in + gigabytes to use for the ephemeral + partition. If unspecified, the value + is 0 by default. + + Ephemeral disks offer machine local + disk storage linked to the lifecycle + of a VM instance. When a VM is + terminated, all data on the ephemeral + disk is lost. Ephemeral disks are not + included in any snapshots. + **Swap Disk (MB)** Enter the amount of swap space (in + megabytes) to use. If unspecified, + the default is 0. + ========================= ======================================= + +#. In the :guilabel:`Flavor Access` tab, you can control access to + the flavor by moving projects from the :guilabel:`All Projects` + column to the :guilabel:`Selected Projects` column. + + Only projects in the :guilabel:`Selected Projects` column can + use the flavor. If there are no projects in the right column, + all projects can use the flavor. +#. Click :guilabel:`Create Flavor`. + +Update flavors +~~~~~~~~~~~~~~ + +#. Log in to the Dashboard. +#. Choose the :guilabel:`admin` project from the drop-down list at + the top of the page. +#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Flavors` category. +#. Select the flavor that you want to edit. Click :guilabel:`Edit + Flavor`. +#. In the :guilabel:`Edit Flavor` window, you can change the flavor + name, VCPUs, RAM, root disk, ephemeral disk, and swap disk values. +#. Click :guilabel:`Save`. + +Update Metadata +~~~~~~~~~~~~~~~ + +#. Log in to the Dashboard. + + Choose the :guilabel:`admin` project from the drop-down list at + the top of the page. +#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Flavors` category. +#. Select the flavor that you want to update. In the drop-down + list, click :guilabel:`Update Metadata` or click :guilabel:`No` or + :guilabel:`Yes` in the :guilabel:`Metadata` column. +#. In the :guilabel:`Update Flavor Metadata` window, you can customize + some metadata keys, then add it to this flavor and set them values. +#. Click :guilabel:`Save`. + + **Optional metadata keys** + + +-------------------------------+-------------------------------+ + | | quota:cpu_shares | + | +-------------------------------+ + | **CPU limits** | quota:cpu_period | + | +-------------------------------+ + | | quota:cpu_limit | + | +-------------------------------+ + | | quota:cpu_reservation | + | +-------------------------------+ + | | quota:cpu_quota | + +-------------------------------+-------------------------------+ + | | quota:disk_read_bytes_sec | + | +-------------------------------+ + | **Disk tuning** | quota:disk_read_iops_sec | + | +-------------------------------+ + | | quota:disk_write_bytes_sec | + | +-------------------------------+ + | | quota:disk_write_iops_sec | + | +-------------------------------+ + | | quota:disk_total_bytes_sec | + | +-------------------------------+ + | | quota:disk_total_iops_sec | + +-------------------------------+-------------------------------+ + | | quota:vif_inbound_average | + | +-------------------------------+ + | **Bandwidth I/O** | quota:vif_inbound_burst | + | +-------------------------------+ + | | quota:vif_inbound_peak | + | +-------------------------------+ + | | quota:vif_outbound_average | + | +-------------------------------+ + | | quota:vif_outbound_burst | + | +-------------------------------+ + | | quota:vif_outbound_peak | + +-------------------------------+-------------------------------+ + | **Watchdog behavior** | hw:watchdog_action | + +-------------------------------+-------------------------------+ + | | hw_rng:allowed | + | +-------------------------------+ + | **Random-number generator** | hw_rng:rate_bytes | + | +-------------------------------+ + | | hw_rng:rate_period | + +-------------------------------+-------------------------------+ + + For information about supporting metadata keys, see the + `OpenStack Cloud Administrator Guide + `__. + +Delete flavors +~~~~~~~~~~~~~~ + +#. Log in to the Dashboard. +#. Choose the :guilabel:`admin` project from the drop-down list at + the top of the page. +#. In the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Flavors` category. +#. Select the flavors that you want to delete. +#. Click :guilabel:`Delete Flavors`. +#. In the :guilabel:`Confirm Delete Flavors` window, click + :guilabel:`Delete Flavors` to confirm the deletion. You cannot + undo this action. diff --git a/doc/admin-guide-cloud/source/dashboard_manage_host_aggregates.rst b/doc/admin-guide-cloud/source/dashboard_manage_host_aggregates.rst new file mode 100644 index 0000000000..4ead82aae7 --- /dev/null +++ b/doc/admin-guide-cloud/source/dashboard_manage_host_aggregates.rst @@ -0,0 +1,79 @@ +================================= +Create and manage host aggregates +================================= + +Host aggregates enable administrative users to assign key-value pairs to +groups of machines. + +Each node can have multiple aggregates and each aggregate can have +multiple key-value pairs. You can assign the same key-value pair to +multiple aggregates. + +The scheduler uses this information to make scheduling decisions. +For information, see +`Scheduling `__. + +To create a host aggregate +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the Dashboard. + + Choose the :guilabel:`admin` project from the drop-down list at the top + of the page. + +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab and click + the :guilabel:`Host Aggregates` category. + +#. Click :guilabel:`Create Host Aggregate`. + +#. In the :guilabel:`Create Host Aggregate` dialog box, enter or select the + following values on the :guilabel:`Host Aggregate Information` tab: + + - :guilabel:`Name`: The host aggregate name. + + - :guilabel:`Availability Zone`: The cloud provider defines the default + availability zone, such as ``us-west``, ``apac-south``, or + ``nova``. You can target the host aggregate, as follows: + + - When the host aggregate is exposed as an availability zone, + select the availability zone when you launch an instance. + + - When the host aggregate is not exposed as an availability zone, + select a flavor and its extra specs to target the host + aggregate. + +#. Assign hosts to the aggregate using the :guilabel:`Manage Hosts within + Aggregate` tab in the same dialog box. + + To assign a host to the aggregate, click **+** for the host. The host + moves from the :guilabel:`All available hosts` list to the + :guilabel:`Selected hosts` list. + +You can add one host to one or more aggregates. To add a host to an +existing aggregate, edit the aggregate. + +To manage host aggregates +~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Choose the :guilabel:`admin` project from the drop-down list at the top + of the page. + +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab and click + the :guilabel:`Host Aggregates` category. + + - To edit host aggregates, select the host aggregate that you want + to edit. Click :guilabel:`Edit Host Aggregate`. + + In the :guilabel:`Edit Host Aggregate` dialog box, you can change the + name and availability zone for the aggregate. + + - To manage hosts, locate the host aggregate that you want to edit + in the table. Click :guilabel:`More` and select :guilabel:`Manage Hosts`. + + In the :guilabel:`Add/Remove Hosts to Aggregate` dialog box, + click **+** to assign a host to an aggregate. Click **-** to + remove a host that is assigned to an aggregate. + + - To delete host aggregates, locate the host aggregate that you want + to edit in the table. Click :guilabel:`More` and select + :guilabel:`Delete Host Aggregate`. diff --git a/doc/admin-guide-cloud/source/dashboard_manage_images.rst b/doc/admin-guide-cloud/source/dashboard_manage_images.rst new file mode 100644 index 0000000000..a5be13801b --- /dev/null +++ b/doc/admin-guide-cloud/source/dashboard_manage_images.rst @@ -0,0 +1,122 @@ +======================== +Create and manage images +======================== + +As an administrative user, you can create and manage images +for the projects to which you belong. You can also create +and manage images for users in all projects to which you have +access. + +To create and manage images in specified projects as an end +user, see the `OpenStack End User Guide +`_. + +To create and manage images as an administrator for other +users, use the following procedures. + +Create images +~~~~~~~~~~~~~ + +For details about image creation, see the `Virtual Machine Image +Guide `_. + +#. Log in to the Dashboard. + + Choose the :guilabel:`admin` project from the drop-down list + at the top of the page. +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Images` category. The images that you + can administer for cloud users appear on this page. +#. Click :guilabel:`Create Image`, which opens the + :guilabel:`Create An Image` window. + + .. figure:: figures/create_image.png + + **Figure Dashboard — Create Image** + +#. In the :guilabel:`Create An Image` window, enter or select the + following values: + + +-------------------------------+---------------------------------+ + | :guilabel:`Name` | Enter a name for the image. | + +-------------------------------+---------------------------------+ + | :guilabel:`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, there | + | :guilabel:`Image Location` | is an :guilabel:`Image File` or | + | | :guilabel:`Image Location` | + | | field. You can include the | + | | location URL or browse for the | + | | image file on your file system | + | | and add it. | + +-------------------------------+---------------------------------+ + | :guilabel:`Kernel` | Select the kernel to boot an | + | | AMI-style image. | + +-------------------------------+---------------------------------+ + | :guilabel:`Ramdisk` | Select the ramdisk to boot an | + | | AMI-style image. | + +-------------------------------+---------------------------------+ + | :guilabel:`Format` | Select the image format. | + +-------------------------------+---------------------------------+ + | :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:`Public` | Select this option to make the | + | | image public to all users. | + +-------------------------------+---------------------------------+ + | :guilabel:`Protected` | Select this option to ensure | + | | that only users with | + | | permissions can delete it. | + +-------------------------------+---------------------------------+ + +#. Click :guilabel:`Create Image`. + + The image is queued to be uploaded. It might take several minutes + before the status changes from ``Queued`` to ``Active``. + +Update images +~~~~~~~~~~~~~ + +#. Log in to the Dashboard. + Choose the :guilabel:`admin` project from the drop-down list + at the top of the page. +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Images` category. +#. Select the images that you want to edit. Click :guilabel:`Edit Image`. +#. In the :guilabel:`Update Image` window, you can change the image name. + + Select the :guilabel:`Public` check box to make the image public. + Clear this check box to make the image private. You cannot change + the :guilabel:`Kernel ID`, :guilabel:`Ramdisk ID`, or + :guilabel:`Architecture` attributes for an image. +#. Click :guilabel:`Update Image`. + +Delete images +~~~~~~~~~~~~~ + +#. Log in to the Dashboard. + Choose the :guilabel:`admin` project from the drop-down list + at the top of the page. +#. On the :guilabel:`Admin tab`, open the :guilabel:`System` tab + and click the :guilabel:`Images` category. +#. Select the images that you want to delete. +#. Click :guilabel:`Delete Images`. +#. In the :guilabel:`Confirm Delete Images` window, click :guilabel:`Delete + Images` to confirm the deletion. + + You cannot undo this action. diff --git a/doc/admin-guide-cloud/source/dashboard_manage_instances.rst b/doc/admin-guide-cloud/source/dashboard_manage_instances.rst new file mode 100644 index 0000000000..98c9c06303 --- /dev/null +++ b/doc/admin-guide-cloud/source/dashboard_manage_instances.rst @@ -0,0 +1,77 @@ +================ +Manage instances +================ + +As an administrative user, you can manage instances for users in various +projects. You can view, terminate, edit, perform a soft or hard reboot, +create a snapshot from, and migrate instances. You can also view the +logs for instances or launch a VNC console for an instance. + +For information about using the Dashboard to launch instances as an end +user, see the `OpenStack End User Guide `__. + +Create instance snapshots +~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the + drop-down list at the top of the page. + +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Instances` category. + +#. Select an instance to create a snapshot from it. From the + :guilabel:`Actions` drop-down list, select :guilabel:`Create Snapshot`. + +#. In the :guilabel:`Create Snapshot` window, enter a name for the snapshot. + +#. Click :guilabel:`Create Snapshot`. The Dashboard shows the instance snapshot + in the :guilabel:`Images` category. + +#. To launch an instance from the snapshot, select the snapshot and + click :guilabel:`Launch Instance`. For information about launching + instances, see the + `OpenStack End User Guide `__. + +Control the state of an instance +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the + drop-down list at the top of the page. + +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Instances` category. + +#. Select the instance for which you want to change the state. + +#. From the drop-down list in the :guilabel:`Actions` column, + select the state. + + Depending on the current state of the instance, you can perform various + actions on the instance. For example, pause, un-pause, suspend, resume, + soft or hard reboot, or terminate (actions in red are dangerous). + +.. figure:: figures/change_instance_state.png + :width: 100% + + **Figure Dashboard — Instance Actions** + + +Track usage +~~~~~~~~~~~ + +Use the :guilabel:`Overview` category to track usage of instances +for each project. + +You can track costs per month by showing meters like number of VCPUs, +disks, RAM, and uptime of all your instances. + +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the + drop-down list at the top of the page. + +#. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab + and click the :guilabel:`Overview` category. + +#. Select a month and click :guilabel:`Submit` to query the instance usage for + that month. + +#. Click :guilabel:`Download CSV Summary` to download a CSV summary. diff --git a/doc/admin-guide-cloud/source/shared_file_systems_manage_shares_dashboard.rst b/doc/admin-guide-cloud/source/dashboard_manage_shares.rst similarity index 90% rename from doc/admin-guide-cloud/source/shared_file_systems_manage_shares_dashboard.rst rename to doc/admin-guide-cloud/source/dashboard_manage_shares.rst index fcfbce71e8..129b107240 100644 --- a/doc/admin-guide-cloud/source/shared_file_systems_manage_shares_dashboard.rst +++ b/doc/admin-guide-cloud/source/dashboard_manage_shares.rst @@ -4,7 +4,7 @@ Manage shares and share types Shares are file storage that instances can access. Users can allow or deny a running instance to have access to a share at any time. -For information about using the dashboard to create and manage shares as +For information about using the Dashboard to create and manage shares as an end user, see the `OpenStack End User Guide `_. @@ -17,7 +17,7 @@ or delete shares. Create a share type ~~~~~~~~~~~~~~~~~~~ -#. Log in to the dashboard and choose the :guilabel:`admin` +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab @@ -43,7 +43,7 @@ Create a share type Update share type ~~~~~~~~~~~~~~~~~ -#. Log in to the dashboard and choose the :guilabel:`admin` project from +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab @@ -70,7 +70,7 @@ Delete share types When you delete a share type, shares of that type are not deleted. -#. Log in to the dashboard and choose the :guilabel:`admin` project from +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab @@ -91,7 +91,7 @@ When you delete a share type, shares of that type are not deleted. Delete shares ~~~~~~~~~~~~~ -#. Log in to the dashboard and choose the :guilabel:`admin` project +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab @@ -111,7 +111,7 @@ Delete shares Delete share server ~~~~~~~~~~~~~~~~~~~ -#. Log in to the dashboard and choose the :guilabel:`admin` project +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab @@ -131,7 +131,7 @@ Delete share server Delete share networks ~~~~~~~~~~~~~~~~~~~~~ -#. Log in to the dashboard and choose the :guilabel:`admin` project +#. Log in to the Dashboard and choose the :guilabel:`admin` project from the drop-down list at the top of the page. #. On the :guilabel:`Admin` tab, open the :guilabel:`System` tab diff --git a/doc/admin-guide-cloud/source/dashboard_sessions.rst b/doc/admin-guide-cloud/source/dashboard_sessions.rst index 74b5fc0ac8..b9a06bee4e 100644 --- a/doc/admin-guide-cloud/source/dashboard_sessions.rst +++ b/doc/admin-guide-cloud/source/dashboard_sessions.rst @@ -2,7 +2,7 @@ Set up session storage for the Dashboard ======================================== -The dashboard uses `Django sessions +The Dashboard uses `Django sessions framework `__ to handle user session data. However, you can use any available session back end. You customize the session back end through the diff --git a/doc/admin-guide-cloud/source/figures/change_instance_state.png b/doc/admin-guide-cloud/source/figures/change_instance_state.png new file mode 100644 index 0000000000000000000000000000000000000000..b81e7153197ea7b6d27b83f7d103b5b4ff9fbd9e GIT binary patch literal 98436 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