<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
        <!-- Some useful entities borrowed from HTML -->
        <!ENTITY ndash  "&#x2013;">
        <!ENTITY mdash  "&#x2014;">
        <!ENTITY hellip "&#x2026;">
        <!ENTITY plusmn "&#xB1;">

        <!-- Useful for describing APIs -->
        <!ENTITY GET    '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
        <!ENTITY PUT    '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
        <!ENTITY POST   '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
        <!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
]>
<section xmlns="http://docbook.org/ns/docbook"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns:m="http://www.w3.org/1998/Math/MathML"
    xmlns:html="http://www.w3.org/1999/xhtml"
    xmlns:db="http://docbook.org/ns/docbook" version="5.0"
    xml:id="concepts">
    <?dbhtml stop-chunking?>
    <title>Concepts</title>
    <para>To use the OpenStack Compute API effectively, you should
        understand several key concepts:</para>
    <itemizedlist>
        <listitem>
            <para><emphasis role="bold">Server</emphasis></para>
            <para>A virtual machine (VM) instance in the compute
                system. Flavor and image are requisite elements when
                creating a server.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Flavor</emphasis></para>
            <para>An available hardware configuration for a server.
                Each flavor has a unique combination of disk space,
                memory capacity and priority for CPU time.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Image</emphasis></para>
            <para>A collection of files used to create or rebuild a
                server. Operators provide a number of pre-built OS
                images by default. You may also create custom images
                from cloud servers you have launched. These custom
                images are useful for backup purposes or for producing
                “gold” server images if you plan to deploy a
                particular server configuration frequently.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Reboot</emphasis></para>
            <para>Use this function to perform either a soft or hard
                reboot of a server. With a soft reboot, the operating
                system is signaled to restart, which allows for a
                graceful shutdown of all processes. A hard reboot is
                the equivalent of power cycling the server. The
                virtualization platform should ensure that the reboot
                action has completed successfully even in cases in
                which the underlying domain/VM is paused or
                halted/stopped.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Rebuild</emphasis></para>
            <para>Use this function to remove all data on the server and
                replaces it with the specified image. Server ID and IP
                addresses remain the same.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Resize</emphasis></para>
            <para>Use this function to convert an existing server to a
                different flavor, in essence, scaling the server up or
                down. The original server is saved for a period of
                time to allow rollback if there is a problem. All
                resizes should be tested and explicitly confirmed, at
                which time the original server is removed. All resizes
                are automatically confirmed after 24 hours if you do
                not confirm or revert them.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Pause</emphasis></para>
            <para>You can pause a server by making a pause request. This
                request stores the state of the VM in RAM. A paused
                instance continues to run in a frozen state.</para>
        </listitem>
        <listitem>
            <para><emphasis role="bold">Suspend</emphasis></para>
            <para>Administrative users might want to suspend an
                instance if it is infrequently used or to perform
                system maintenance. When you suspend an instance, its
                VM state is stored on disk, all memory is written to
                disk, and the virtual machine is stopped. Suspending
                an instance is similar to placing a device in
                hibernation; memory and vCPUs become available to
                create other instances.</para>
        </listitem>
    </itemizedlist>
</section>