PageRenderTime 25ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/doc/source/index.rst

https://github.com/openstack/nova
ReStructuredText | 249 lines | 194 code | 55 blank | 0 comment | 0 complexity | 63cf57f8f4e959af26e54c7edd6fa7ce MD5 | raw file
Possible License(s): Apache-2.0
  1. ..
  2. Copyright 2010-2012 United States Government as represented by the
  3. Administrator of the National Aeronautics and Space Administration.
  4. All Rights Reserved.
  5. Licensed under the Apache License, Version 2.0 (the "License"); you may
  6. not use this file except in compliance with the License. You may obtain
  7. a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing, software
  10. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  11. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  12. License for the specific language governing permissions and limitations
  13. under the License.
  14. ========================
  15. OpenStack Compute (nova)
  16. ========================
  17. What is nova?
  18. =============
  19. Nova is the OpenStack project that provides a way to provision compute
  20. instances (aka virtual servers). Nova supports creating virtual machines,
  21. baremetal servers (through the use of ironic), and has limited support for
  22. system containers. Nova runs as a set of daemons on top of existing Linux
  23. servers to provide that service.
  24. It requires the following additional OpenStack services for basic function:
  25. * :keystone-doc:`Keystone <>`: This provides identity and authentication for
  26. all OpenStack services.
  27. * :glance-doc:`Glance <>`: This provides the compute image repository. All
  28. compute instances launch from glance images.
  29. * :neutron-doc:`Neutron <>`: This is responsible for provisioning the virtual
  30. or physical networks that compute instances connect to on boot.
  31. * :placement-doc:`Placement <>`: This is responsible for tracking inventory of
  32. resources available in a cloud and assisting in choosing which provider of
  33. those resources will be used when creating a virtual machine.
  34. It can also integrate with other services to include: persistent block
  35. storage, encrypted disks, and baremetal compute instances.
  36. For End Users
  37. =============
  38. As an end user of nova, you'll use nova to create and manage servers with
  39. either tools or the API directly.
  40. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  41. # keep the document structure in the PDF doc.
  42. .. toctree::
  43. :hidden:
  44. user/index
  45. Tools for using Nova
  46. --------------------
  47. * :horizon-doc:`Horizon <user/launch-instances.html>`: The official web UI for
  48. the OpenStack Project.
  49. * :python-openstackclient-doc:`OpenStack Client <>`: The official CLI for
  50. OpenStack Projects. You should use this as your CLI for most things, it
  51. includes not just nova commands but also commands for most of the projects in
  52. OpenStack.
  53. * :python-novaclient-doc:`Nova Client <user/shell.html>`: For some very
  54. advanced features (or administrative commands) of nova you may need to use
  55. nova client. It is still supported, but the ``openstack`` cli is recommended.
  56. Writing to the API
  57. ------------------
  58. All end user (and some administrative) features of nova are exposed via a REST
  59. API, which can be used to build more complicated logic or automation with
  60. nova. This can be consumed directly, or via various SDKs. The following
  61. resources will help you get started with consuming the API directly.
  62. * `Compute API Guide <https://docs.openstack.org/api-guide/compute/>`_: The
  63. concept guide for the API. This helps lay out the concepts behind the API to
  64. make consuming the API reference easier.
  65. * `Compute API Reference <https://docs.openstack.org/api-ref/compute/>`_:
  66. The complete reference for the compute API, including all methods and
  67. request / response parameters and their meaning.
  68. * :doc:`Compute API Microversion History </reference/api-microversion-history>`:
  69. The compute API evolves over time through `Microversions
  70. <https://docs.openstack.org/api-guide/compute/microversions.html>`_. This
  71. provides the history of all those changes. Consider it a "what's new" in the
  72. compute API.
  73. * :doc:`Block Device Mapping </user/block-device-mapping>`: One of the trickier
  74. parts to understand is the Block Device Mapping parameters used to connect
  75. specific block devices to computes. This deserves its own deep dive.
  76. * :doc:`Metadata </user/metadata>`: Provide information to the guest instance
  77. when it is created.
  78. Nova can be configured to emit notifications over RPC.
  79. * :doc:`Versioned Notifications </admin/notifications>`: This
  80. provides information on the notifications emitted by nova.
  81. Other end-user guides can be found under :doc:`/user/index`.
  82. For Operators
  83. =============
  84. Architecture Overview
  85. ---------------------
  86. * :doc:`Nova architecture </admin/architecture>`: An overview of how all the parts in
  87. nova fit together.
  88. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  89. # keep the document structure in the PDF doc.
  90. .. toctree::
  91. :hidden:
  92. admin/architecture
  93. Installation
  94. ------------
  95. .. TODO(sdague): links to all the rest of the install guide pieces.
  96. The detailed install guide for nova. A functioning nova will also require
  97. having installed :keystone-doc:`keystone <install/>`, :glance-doc:`glance
  98. <install/>`, :neutron-doc:`neutron <install/>`, and
  99. :placement-doc:`placement <install/>`. Ensure that you follow their install
  100. guides first.
  101. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  102. # keep the document structure in the PDF doc.
  103. .. toctree::
  104. :maxdepth: 2
  105. install/index
  106. Deployment Considerations
  107. -------------------------
  108. There is information you might want to consider before doing your deployment,
  109. especially if it is going to be a larger deployment. For smaller deployments
  110. the defaults from the :doc:`install guide </install/index>` will be sufficient.
  111. * **Compute Driver Features Supported**: While the majority of nova deployments use
  112. libvirt/kvm, you can use nova with other compute drivers. Nova attempts to
  113. provide a unified feature set across these, however, not all features are
  114. implemented on all backends, and not all features are equally well tested.
  115. * :doc:`Feature Support by Use Case </user/feature-classification>`: A view of
  116. what features each driver supports based on what's important to some large
  117. use cases (General Purpose Cloud, NFV Cloud, HPC Cloud).
  118. * :doc:`Feature Support full list </user/support-matrix>`: A detailed dive through
  119. features in each compute driver backend.
  120. * :doc:`Cells v2 configuration </admin/cells>`: For large deployments, cells v2
  121. cells allow sharding of your compute environment. Upfront planning is key to
  122. a successful cells v2 layout.
  123. * :doc:`Running nova-api on wsgi <user/wsgi>`: Considerations for using a real
  124. WSGI container instead of the baked-in eventlet web server.
  125. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  126. # keep the document structure in the PDF doc.
  127. .. toctree::
  128. :hidden:
  129. user/feature-classification
  130. user/support-matrix
  131. admin/cells
  132. user/wsgi
  133. Maintenance
  134. -----------
  135. Once you are running nova, the following information is extremely useful.
  136. * :doc:`Admin Guide </admin/index>`: A collection of guides for administrating
  137. nova.
  138. * :doc:`Flavors </user/flavors>`: What flavors are and why they are used.
  139. * :doc:`Upgrades </admin/upgrades>`: How nova is designed to be upgraded for minimal
  140. service impact, and the order you should do them in.
  141. * :doc:`Quotas </user/quotas>`: Managing project quotas in nova.
  142. * :doc:`Aggregates </admin/aggregates>`: Aggregates are a useful way of grouping
  143. hosts together for scheduling purposes.
  144. * :doc:`Scheduling </admin/scheduling>`: How the scheduler is
  145. configured, and how that will impact where compute instances land in your
  146. environment. If you are seeing unexpected distribution of compute instances
  147. in your hosts, you'll want to dive into this configuration.
  148. * :doc:`Exposing custom metadata to compute instances </admin/vendordata>`: How
  149. and when you might want to extend the basic metadata exposed to compute
  150. instances (either via metadata server or config drive) for your specific
  151. purposes.
  152. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  153. # keep the document structure in the PDF doc.
  154. .. toctree::
  155. :hidden:
  156. admin/index
  157. user/flavors
  158. admin/upgrades
  159. user/quotas
  160. admin/vendordata
  161. Reference Material
  162. ------------------
  163. * :doc:`Nova CLI Command References </cli/index>`: the complete command reference
  164. for all the daemons and admin tools that come with nova.
  165. * :doc:`Configuration Guide <configuration/index>`: Information on configuring
  166. the system, including role-based access control policy rules.
  167. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  168. # keep the document structure in the PDF doc.
  169. .. toctree::
  170. :hidden:
  171. cli/index
  172. configuration/index
  173. For Contributors
  174. ================
  175. * :doc:`contributor/contributing`: If you are a new contributor this should
  176. help you to start contributing to Nova.
  177. * :doc:`contributor/index`: If you are new to Nova, this should help you start
  178. to understand what Nova actually does, and why.
  179. * :doc:`reference/index`: There are also a number of technical references on
  180. both current and future looking parts of our architecture.
  181. These are collected here.
  182. .. # NOTE(amotoki): toctree needs to be placed at the end of the secion to
  183. # keep the document structure in the PDF doc.
  184. .. toctree::
  185. :hidden:
  186. contributor/index
  187. contributor/contributing
  188. reference/index
  189. .. only:: html
  190. Search
  191. ======
  192. * :ref:`Nova document search <search>`: Search the contents of this document.
  193. * `OpenStack wide search <https://docs.openstack.org>`_: Search the wider
  194. set of OpenStack documentation, including forums.