From 7777d81f1a5f88fa4862f565d2ab320db2f82a36 Mon Sep 17 00:00:00 2001 From: Drew Thorstensen Date: Wed, 10 Aug 2016 16:54:31 -0500 Subject: [PATCH] [DOCS] Refactor of nova role docs Update the role documentation to match the newly proposed format. In the new format, each role project should maintain the configuration variations for the role project itself. Change-Id: I165891189ffa67680980a70178fd55951cad293b --- README.rst | 40 +++++++++++++------------------------- doc/source/app-powervm.rst | 36 ++++++++++++++++++++++++++++++++++ doc/source/index.rst | 39 ++++++++++++++++++++++++++++++++++++- doc/source/overview.rst | 40 ++++++++++++++++++++++++++++++++++++++ examples/playbook.yml | 9 +++++++++ 5 files changed, 137 insertions(+), 27 deletions(-) create mode 100644 doc/source/app-powervm.rst create mode 100644 doc/source/overview.rst create mode 100644 examples/playbook.yml diff --git a/README.rst b/README.rst index 914dcffd..2c3188fd 100644 --- a/README.rst +++ b/README.rst @@ -1,31 +1,19 @@ -OpenStack-Ansible Nova -###################### +====================== +OpenStack-Ansible nova +====================== -Ansible role that installs and configures OpenStack Nova and all of its +Ansible role that installs and configures OpenStack nova and all of its corresponding services. -Default Variables -================= +This role will install the following: + * nova-api + * nova-conductor + * nova-scheduler + * nova-console + * nova-cert + * nova-compute -.. literalinclude:: ../../defaults/main.yml - :language: yaml - :start-after: under the License. +Documentation for the project can be found at: +``_ - -Required Variables -================== - -.. code-block:: yaml - # comma separated list of Glance internalUrls - glance_api_servers: "http://glance_host:9292" - - -Example Playbook -================ - -.. code-block:: yaml - - name: Playbook for deploying nova - hosts: nova_all - user: root - roles: - - { role: "os_nova" } +The project home is at: ``_ diff --git a/doc/source/app-powervm.rst b/doc/source/app-powervm.rst new file mode 100644 index 00000000..16b2d808 --- /dev/null +++ b/doc/source/app-powervm.rst @@ -0,0 +1,36 @@ +`Home `_ OpenStack-Ansible Neutron + +===================================== +Scenario - Using PowerVM Nova plugin +===================================== + +Prerequisites +~~~~~~~~~~~~~ + +In order to use the PowerVM OpenStack drivers with OpenStack-Ansible (OSA), the +following pre-requisites must be fulfilled: + + - At least one of the repo-build servers must be ppc64le. Can mix and match + repo-build servers between x86 and ppc64le. + + - The compute nodes should be pre-configured for PowerVM with the NovaLink_ + feature. + + - The NovaLink Management VM needs at least one direct attach I/O card. + OpenStack Ansible is currently able to deploy the PowerVM drivers when + paired with the Linux Bridge or Open vSwitch agent. The traditional PowerVM + Shared Ethernet Adapter networking agent is not yet supported. + + - The network topology on the NovaLink must match a supported OpenStack + Ansible network configuration. + +.. _NovaLink: http://www.ibm.com/support/knowledgecenter/POWER8/p8eig/p8eig_kickoff.htm?cp=POWER8 + + +PowerVM configuration +~~~~~~~~~~~~~~~~~~~~~ + +The Compute driver for OpenStack-Ansible should automatically detect that it +is of type PowerVM. If the user has specified a specific compute type, that +is applicable to the whole cloud. It is advised that the deployer allows +OSA to detect the appropriate compute node type. diff --git a/doc/source/index.rst b/doc/source/index.rst index 38ba8043..622e322b 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -1 +1,38 @@ -.. include:: ../../README.rst \ No newline at end of file +=============================== +Nova role for OpenStack-Ansible +=============================== + +.. toctree:: + :maxdepth: 2 + + overview.rst + app-powervm.rst + +:tags: openstack, nova, cloud, ansible +:category: \*nix + +This role will install the following Upstart services: + * nova-server + * nova-compute + +Default Variables +^^^^^^^^^^^^^^^^^ + +.. literalinclude:: ../../defaults/main.yml + :language: yaml + :start-after: under the License. + +Example playbook +~~~~~~~~~~~~~~~~ + +.. literalinclude:: ../../examples/playbook.yml + :language: yaml + +Tags +~~~~ + +This role supports two tags: ``nova-install`` and ``nova-config`` + +The ``nova-install`` tag can be used to install and upgrade. + +The ``nova-config`` tag can be used to manage configuration. diff --git a/doc/source/overview.rst b/doc/source/overview.rst new file mode 100644 index 00000000..4c3ff406 --- /dev/null +++ b/doc/source/overview.rst @@ -0,0 +1,40 @@ +CPU Platform Compatibility +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This role supports multiple CPU architecture types. At least one repo_build +node must exist for each CPU type that is in use in the deployment. + +Currently supported CPU architectures: + - x86_64 / amd64 + - ppc64le + + +Compute Driver Compatibility +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This role supports multiple nova compute driver types. The following +compute drivers are supported: + - libvirt (default) + - ironic + - lxd (via nova-lxd) + - powervm (via nova-powervm) + +The driver type will automatically be detected by the OpenStack Ansible Nova +role for the following compute driver types: + - libvirt + - ironic + - powervm + +Any mix and match of compute node types can be used for those platforms. + +If using the lxd driver, the compute type must be specified using the +``nova_virt_type`` variable in the ``/etc/openstack_deploy/user_variables.yml`` +file. + +.. code-block:: shell-session + + nova_virt_type: lxd + +It should be noted that if the ``nova_virt_type`` variable is set, then all +nodes in the deployment will be set to that hypervisor type. It is recommended +to allow the automatic hypervisor detection. diff --git a/examples/playbook.yml b/examples/playbook.yml new file mode 100644 index 00000000..90346659 --- /dev/null +++ b/examples/playbook.yml @@ -0,0 +1,9 @@ +.. code-block:: yaml + + - name: Installation and setup of Neutron + hosts: neutron_all + user: root + roles: + - { role: "os_neutron", tags: [ "os-neutron" ] } + vars: + neutron_galera_address: "{{ internal_lb_vip_address }}"