mirror of
https://github.com/clearlinux/clear-linux-documentation.git
synced 2026-09-06 13:51:40 +00:00
Add new documentation for openstack deployment with ansible
Signed-off-by: Leoswaldo Macias <leoswaldo.macias@intel.com>
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
.. _configure_openstack_environment:
|
||||
|
||||
|
||||
Configure your environment
|
||||
==========================
|
||||
|
||||
Before continuing with the installation process, is important to understand:
|
||||
|
||||
* The :file:`hosts` file; this file defines the roles your machines play in the
|
||||
overall scheme of your network mapping.
|
||||
**Note**: For more in-depth information, see :ref:`openstack_env_inventory_file`
|
||||
|
||||
* The ``group_vars/all`` structuring can be used to override variable
|
||||
values. **Note**: For more in-depth information, see :ref:`openstack_conf_vars_about`
|
||||
|
||||
Once you understand these components and are comfortable modifying them to affect
|
||||
the network configuration, you can proceed as follows:
|
||||
|
||||
#. Copy ``/usr/share/ansible/examples/openstack`` to your working directory.
|
||||
|
||||
#. Move into the copied directory.
|
||||
|
||||
#. Edit the :file:`hosts` file to specify node roles.
|
||||
|
||||
#. Edit the contents under ``group_vars/all`` to set passwords and other needed
|
||||
variables. **Note**: Default variables exist for every role in the
|
||||
:file:`roles/<role>/defaults/main.yml` file. To override a default, define
|
||||
it with specifications under ``group_vars/all``.
|
||||
|
||||
|
||||
Run the installer
|
||||
=================
|
||||
|
||||
Finally, you can run the installer.
|
||||
|
||||
#. Run the installer as follows, replacing ``<ssh_key>`` with the key you've
|
||||
previously set up::
|
||||
|
||||
$ ansible-playbook -i hosts openstack_deployment.yml --private-key=<ssh_key>
|
||||
|
||||
After running the previous command you should see the output of the tasks
|
||||
that are running.
|
||||
|
||||
At the end of the execution Ansible* will display a summary of the results.
|
||||
@@ -6,17 +6,8 @@ OpenStack* implementation
|
||||
|
||||
openstack_use_cases
|
||||
openstack_bundle_and_service_summary
|
||||
openstack_sys_req_and_pw_summary
|
||||
openstack_installing_bundles
|
||||
openstack_supporting-database
|
||||
openstack_supporting-messaging
|
||||
openstack_identity
|
||||
openstack_identity-openrc
|
||||
openstack_image
|
||||
openstack_compute
|
||||
openstack_block_storage
|
||||
openstack_dashboard
|
||||
openstack_networking
|
||||
openstack_orchestration
|
||||
openstack_telemetry
|
||||
openstack_object_storage
|
||||
installing_openstack
|
||||
configure_openstack_environment
|
||||
openstack_env_inventory_file
|
||||
openstack_conf_vars_about
|
||||
openstack_conf_vars_list
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
.. _installing_openstack:
|
||||
|
||||
Installing OpenStack
|
||||
####################
|
||||
|
||||
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
|
||||
require modification for your specific environment.
|
||||
|
||||
This installer will be using Ansible* as configuration management tool.
|
||||
|
||||
|
||||
Components supported by this installer
|
||||
======================================
|
||||
|
||||
At the moment, this installer can deploy any or all of the following
|
||||
components:
|
||||
|
||||
- MariaDB
|
||||
- RabbitMQ
|
||||
- Keystone
|
||||
- Glance
|
||||
- Nova
|
||||
- Neutron
|
||||
- Dashboard (An identity node)
|
||||
- Heat
|
||||
|
||||
Prerequisites
|
||||
=============
|
||||
|
||||
Before the installer can set up your cloud environment, these requirements
|
||||
should be completed (if they aren't already):
|
||||
|
||||
#. Create a pair of SSH keys.
|
||||
|
||||
#. Copy your public key to each node.
|
||||
|
||||
#. Create the :file:`sshd_config` in ``/etc/ssh`` if it doesn't exist::
|
||||
|
||||
# mkdir -p /etc/ssh && touch /etc/ssh/sshd_config
|
||||
|
||||
#. Allow ssh root access by adding "PermitRootLogin yes" to the ssh
|
||||
configuration.::
|
||||
|
||||
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
|
||||
|
||||
|
||||
Using the Installer
|
||||
===================
|
||||
|
||||
This step presumes a Clear Linux* machine as the ansible host.
|
||||
|
||||
|
||||
Install the bundle
|
||||
------------------
|
||||
|
||||
#. Install the `sysadmin-hostmgmt` bundle::
|
||||
|
||||
# swupd bundle-add sysadmin-hostmgmt
|
||||
|
||||
**Next**: :ref:`configure_openstack_environment`
|
||||
@@ -63,4 +63,4 @@ uses a two-node architecture.
|
||||
using overlay segmentation methods. Additionally, this option provides
|
||||
the foundation for advanced services such as LBaaS and FWaaS.
|
||||
|
||||
Next topic: :ref:``.
|
||||
Next topic: :ref:`installing_openstack`.
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
.. _openstack_conf_vars_about:
|
||||
|
||||
About "group_vars/all"
|
||||
######################
|
||||
|
||||
The ``group_vars/all`` section is where you will specify the
|
||||
values for your passwords and other required or optional parameters.
|
||||
|
||||
Variables in this section are built with yaml format.
|
||||
|
||||
For a more detailed reference of the numerous variables and parameters
|
||||
that can be set, see the :ref:`openstack_conf_vars_list`.
|
||||
|
||||
**Back to Configuration Section** :ref:`configure_openstack_environment`
|
||||
@@ -0,0 +1,63 @@
|
||||
.. _openstack_conf_vars_list:
|
||||
|
||||
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
|
||||
with Clear Linux* OS for Intel® Architecture.
|
||||
|
||||
.. csv-table:: "Required Parameters Per Component"
|
||||
:header: "Variable", "Components Impacted", "Description"
|
||||
:widths: 90, 90, 150
|
||||
|
||||
"rabbitmq_password", "RabbitMQ, Neutron, Nova, Heat", "Password of
|
||||
RabbitMQ user "
|
||||
"database_root_password", "ALL", "Password for root database user"
|
||||
"keystone_database_password", "Keystone", "Password for 'keystone'
|
||||
database"
|
||||
"keystone_admin_password", "ALL", "Password for 'admin' user"
|
||||
"keystone_admin_token", "Keystone", "Used only for installation
|
||||
process of keystone"
|
||||
"glance_user_password", "Glance", "Password for 'glance' user"
|
||||
"glance_database_password", "Glance", "Password for 'glance' database"
|
||||
"nova_user_password", "Nova, Neutron", "Password for 'nova' user"
|
||||
"nova_database_password", "Nova", "Password for 'nova' database"
|
||||
"neutron_database_password", "Neutron", "Password for 'neutron'
|
||||
database"
|
||||
"neutron_user_password", "Neutron, Nova", "Password for 'neutron'
|
||||
user"
|
||||
"metadata_proxy_shared_secret", "Neutron, Nova", "Proxy"
|
||||
"heat_domain_admin_password", "Heat", "Password for heat domain admin
|
||||
user"
|
||||
"heat_user_password", "Heat", "Password for heat user"
|
||||
"heat_database_password", "Heat", "Password for heat database"
|
||||
"heat_domain", "Heat", "The heat domain that contains projects and
|
||||
users for stacks"
|
||||
|
||||
|
||||
.. csv-table:: "Optional Parameters Per Component"
|
||||
:header: "Variable", "Default Value", "Components Impacted", "Description"
|
||||
:widths: 90, 40, 90, 150
|
||||
|
||||
"swupd_args", "", "ALL", "Optional arguments for swupd"
|
||||
"log_debug", "False", "ALL", "Set to True to enable debug log level on all
|
||||
services"
|
||||
"rabbitmq_username", "openstack", "RabbitMQ, Neutron, Nova, Heat", "User ID for
|
||||
RabbitMQ"
|
||||
"neutron_public_interface_name", "First default iface", "Neutron, Nova", "Public interface of
|
||||
Neutron machines, if not define it will make autodiscovery for each machine"
|
||||
"nova_public_interface_name", "First default iface", "Nova", "Public
|
||||
interface of Nova machines, if not define it will make autodiscovery for each
|
||||
machine"
|
||||
"nova_virt_type", "qemu", "Nova", "Virtualization type (qemu | kvm), if
|
||||
this is not set, then the playbook will try to guess it"
|
||||
"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", "Neutron", "syctl values needed by neutron when
|
||||
using openvswitch deployment scenario"
|
||||
|
||||
Note:
|
||||
-----
|
||||
If you would like to override a default, you can define it in the
|
||||
:ref:`openstack_conf_vars_about`.
|
||||
|
||||
**Back to Configuration Section** :ref:`configure_openstack_environment`
|
||||
@@ -0,0 +1,59 @@
|
||||
.. _openstack_env_inventory_file:
|
||||
|
||||
The "hosts" file
|
||||
################
|
||||
|
||||
The :file:`hosts` file is an inventory file where you specify, via
|
||||
``ini`` format, the roles your machine plays.
|
||||
|
||||
The hosts file can be structured with different groups, where each
|
||||
group plays a specific role in your environment and network mapping.
|
||||
|
||||
Consider the following example::
|
||||
|
||||
[openstack_identity]
|
||||
192.168.50.13
|
||||
|
||||
Here the :role:`[openstack_identity]` syntax defines the group, and
|
||||
``192.168.50.13`` specifies the machines that possess that role. You
|
||||
may define multiple machines in the same group; this is a standard
|
||||
configuration for :role:`[openstack_compute]` nodes::
|
||||
|
||||
[openstack_compute]
|
||||
192.168.50.16
|
||||
192.168.50.17
|
||||
|
||||
|
||||
Inventory file groups
|
||||
---------------------
|
||||
|
||||
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
|
||||
|
||||
"[dbservers]", "MariaDB", ""
|
||||
"[messaging_servers]", "RabbitMQ", ""
|
||||
"[openstack_identity]", "Keystone, Horizon", ""
|
||||
"[openstack_image]", "Glance", ""
|
||||
"[openstack_compute_controller]", "Nova", ""
|
||||
"[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", ""
|
||||
|
||||
|
||||
Important Notes
|
||||
---------------
|
||||
|
||||
* To omit any role, do not add an entry under its group section.
|
||||
|
||||
* To create an ``All In One`` scenario, specify the same machine name or IPv4
|
||||
Address under all of the groups.
|
||||
|
||||
For further reference, check out the `Ansible`_ documentation.
|
||||
|
||||
|
||||
**Back to Configuration Section** :ref:`configure_openstack_environment`
|
||||
|
||||
.. _Ansible: http://docs.ansible.com/ansible/intro_inventory.html
|
||||
Reference in New Issue
Block a user