This commit provides the documentation for the OpenStack Swift implementation with the clear-config-management tool.

This commit is contained in:
Tullis, Michael L
2016-04-28 11:17:37 -06:00
parent cf188a10ed
commit be46563f67
4 changed files with 93 additions and 13 deletions
+9 -9
View File
@@ -1,9 +1,9 @@
.. _installing_openstack:
Installing OpenStack
####################
Installing OpenStack*
#####################
This section details an OpenStack* installation that uses
This section details an OpenStack installation that uses
bundles available for Clear Linux* OS for Intel® Architecture.
The sample configuration files that are included will likely
@@ -26,18 +26,18 @@ components:
- Neutron
- Dashboard (In identity node)
- Heat
- Swift
Note:
-----
Below you will find the reference to componets supported on ClearLinux* but
its support in Clear Config Management is still pending of development:
Below you will find the reference to componets supported on Clear Linux OS for Intel Architecture, but
its support in Clear Config Management is still pending development:
.. csv-table:: "Supported Components on ClearLinux*, but unsupported by Clear Config Management"
:header: "Component", "Bundles", "OpenStack* official documentation"
:widths: 20, 70, 100
:widths: 20, 70, 100
"Swift", "openstack-object-storage and openstack-block-storage-controller", "http://docs.openstack.org/developer/swift/"
"Cinder", "openstack-block-storage and openstack-block-storage-controller", "http://docs.openstack.org/developer/cinder/"
"Ceilometer", "openstack-telemetry", "http://docs.openstack.org/developer/ceilometer/"
@@ -45,7 +45,7 @@ its support in Clear Config Management is still pending of development:
Prerequisites
=============
Before the installer can set up your cloud environment, these requirements
Before the installer can set up your cloud environment, these prerequisites
should be completed (if they aren't already):
#. Create a pair of SSH keys.
@@ -65,7 +65,7 @@ should be completed (if they aren't already):
Using the Installer
===================
This step presumes a Clear Linux* machine as the ansible host.
This step presumes a machine running Clear Linux OS for Intel Architecture as the ansible host.
Install the bundle
+11 -2
View File
@@ -1,7 +1,7 @@
.. _openstack_conf_vars_list:
Variables for OpenStack Deployment
##################################
Variables for OpenStack* Deployment
###################################
This installer provides a variety of configurations you can set through
variables; below you will find a reference of the components supported
@@ -29,6 +29,13 @@ Required Variables
"*(Heat)* **heat_user_password**", "Password for heat user"
"*(Heat)* **heat_database_password**", "Password for heat database"
"*(Heat)* **heat_domain**", "The heat domain that contains projects and users for stacks"
"*(Swift)* **swift_user_password**", "Password for 'swift' user"
"*(Swift)* **swift_database_password**", "Password for 'swift' database"
"*(Swift)* **swift_replica_count**", "Replica number for each object. IMPORTANT: This number must be lower than the sum of all the storage devices among all storage nodes. It can be changed later."
"*(Swift)* **swift_hash_path_suffix**", "Suffix for the object path name"
"*(Swift)* **swift_hash_path_prefix**", "Prefix for the object path name"
"*(Swift)* **swift_storage_device_path**", "The path of the storage devices"
"*(Swift)* **swift_storage_devices**", "A list of the storage devices dedicated to swift deployment. For more information, see :ref:`openstack_swift_deployment_scenarios`"
Optional Variables
==================
@@ -44,6 +51,8 @@ Optional Variables
"*(Nova)* **nova_public_interface_name**: unset", "Public interface of Neutron machines, if is not set, it will take the default interface reported by **ip route**"
"*(Nova)* **nova_virt_type**: qemu", "Virtualization type (qemu | kvm), if this is not set, then the playbook will try to guess it"
"*(Neutron)* **os_tuning_params**: net.ipv4.ip_forward: 1, net.ipv4.conf.default.rp_filter: 0, net.ipv4.conf.all.rp_filter: 0, net.bridge.bridge-nf-call-iptables: 1, net.bridge.bridge-nf-call-ip6tables: 1", "syctl values needed by neutron when using openvswitch deployment scenario"
"*(Swift)* **swift_public_interface_name**, "Public interface of storage nodes, also known as the storage network interface name; If is not set, it will take the default interface reported by **ip route**"
Note:
-----
+4 -2
View File
@@ -31,7 +31,7 @@ Below you will find the description of each group in the `hosts` file.
.. csv-table:: "Inventory File Groups"
:header: "Group", "Components", "Comments"
:widths: 40, 40, 300
:widths: 40, 40, 300
"[dbservers]", "MariaDB", ""
"[messaging_servers]", "RabbitMQ", ""
@@ -41,9 +41,11 @@ Below you will find the description of each group in the `hosts` file.
"[openstack_compute]", "Nova", "Accepts multiple entries to have multiple compute nodes. You can add more entries and re-run the installer to add them to your environment."
"[openstack_networking]", "Neutron", ""
"[openstack_orchestration]", "Heat", ""
"[openstack_object_storage_controller]", "Swift", "The Swift storage controller. It runs the swift proxy server and the memcache server"
"[openstack_object_storage]", "Swift", "The Swift Storage nodes. Accepts multiple entries to have multiple storage nodes"
Important Notes
Important notes
---------------
* To omit any role, do not add an entry under its group section.
@@ -0,0 +1,69 @@
.. _openstack_swift_deployment_scenarios:
OpenStack* Swift* Deployment Scenarios
######################################
You can install OpenStack Swift using clear-config-management through two
possible scenarios.
- **Scenario #1:** All the storage nodes are identical, with the same number of storage devices with the same names.
- **Scenario #2:** The storage setup is heterogeneous. The list of storage devices must be provided for each storage node individually.
Scenario #1: Identical storage nodes scenario
=============================================
To set up this scenario, the ``swift_storage_devices`` variable needs to be
defined in ``../group_vars/all`` as follows:
.. code-block:: yaml
...
swift_storage_device_path: /dev/
swift_storage_devices:
- sda
- sdb
...
Scenario #2: Different storage nodes scenario
=============================================
With this setup, specific information about each storage node has to be provided.
First, in the root of your Ansible* directory setup, create a new directory called ``host_vars``.
Inside ``host_vars``, for each storage node, create a new file with the name of the
storage node's hostname or IP. In each file, provide the list of the storage
devices.
The Ansible directory setup should look similar to the following directory tree:
.. code-block:: console
openstack/
├── group_vars
│ └── all
├── hosts
├── host_vars
│ ├── storage-one
│ └── storage-two
├── openstack_deployment.yml
└── README.md
And the ``storage-one`` and ``storage-two`` storage node files should look similar to this:
.. code-block:: yaml
---
devices:
- sdb
- sdc
- sdd
.. code-block:: yaml
---
devices:
- vdb
- vdc