Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
K
Kolla Ansible
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Very Demiurge Very Mindful
Kolla Ansible
Commits
ac98428c
Commit
ac98428c
authored
6 years ago
by
Zuul
Committed by
Gerrit Code Review
6 years ago
Browse files
Options
Downloads
Plain Diff
Merge "Update quickstart instructions"
parents
7eb0da0d
b81a4341
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/source/user/quickstart.rst
+143
-45
143 additions, 45 deletions
doc/source/user/quickstart.rst
with
143 additions
and
45 deletions
doc/source/user/quickstart.rst
+
143
−
45
View file @
ac98428c
...
@@ -5,7 +5,7 @@ Quick Start
...
@@ -5,7 +5,7 @@ Quick Start
===========
===========
This guide provides step by step instructions to deploy OpenStack using Kolla
This guide provides step by step instructions to deploy OpenStack using Kolla
on bare metal servers or virtual machines.
Ansible
on bare metal servers or virtual machines.
Recommended reading
Recommended reading
~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~
...
@@ -25,81 +25,121 @@ The host machine must satisfy the following minimum requirements:
...
@@ -25,81 +25,121 @@ The host machine must satisfy the following minimum requirements:
Install dependencies
Install dependencies
~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~
#. Install and upgrad ``pip`` to the latest before proceeding.
Typically commands that use the system package manager in this section must be
run with root privileges.
It is generally recommended to use a virtual environment to install Kolla
Ansible and its dependencies, to avoid conflicts with the system site packages.
Note that this is independent from the use of a virtual environment for remote
execution, which is described :ref:`here <virtual-environments-target-hosts>`.
#. For CentOS, install EPEL.
.. code-block:: console
sudo yum install epel-release
#. For Ubuntu, update the package index.
.. code-block:: console
sudo apt-get update
#. Install Python build dependencies:
For CentOS, run:
For CentOS, run:
.. code-block:: console
.. code-block:: console
yum install epel-release
sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python
yum install python-pip
pip install -U pip
For Ubuntu, run:
For Ubuntu, run:
.. code-block:: console
.. code-block:: console
apt-get update
sudo apt-get install python-dev libffi-dev gcc libssl-dev python-selinux python-setuptools
apt-get install python-pip
pip install -U pip
#. Install the following dependencies:
Install dependencies using a virtual environment
------------------------------------------------
For CentOS, run:
If not installing Kolla Ansible in a virtual environment, skip this section.
#. Install the virtualenv package.
For CentOS or RHEL, run:
.. code-block:: console
.. code-block:: console
yum install python-
devel libffi-devel gcc openssl-devel libselinux-python
sudo
yum install python-
virtualenv
For Ubuntu, run:
For Ubuntu, run:
.. code-block:: console
.. code-block:: console
apt-get install python-
dev libffi-dev gcc libssl-dev python-selinux python-setuptools
sudo
apt-get install python-
virtualenv
#.
Install `Ansible <http://www.ansible.com>`__ from distribution packaging
:
#.
Create a virtual environment and activate it
:
.. note::
.. code-block:: console
virtualenv /path/to/virtualenv
source /path/to/virtualenv/bin/activate
The virtual environment should be activated before running any commands that
depend on packages installed in it.
Some implemented distro versions of Ansible are too old to use distro
#. Ensure the latest version of pip is installed:
packaging. Currently, CentOS and RHEL package Ansible >=2.4 which is suitable
for use with Kolla. Note that you will need to enable access to the EPEL
repository to install via :command:`yum` to do so, take a look at `Fedora's EPEL docs
<https://fedoraproject.org/wiki/EPEL>`__ and `FAQ
<https://fedoraproject.org/wiki/EPEL/FAQ>`__.
For CentOS or RHEL, this can be done using:
.. code-block:: console
pip install -U pip
#. Install `Ansible <http://www.ansible.com>`__. Currently, Kolla Ansible
requires Ansible 2.4+.
.. code-block:: console
.. code-block:: console
yum install ansible
pip install ansible
Install dependencies not using a virtual environment
----------------------------------------------------
For Ubuntu, it can be installed by:
If installing Kolla Ansible in a virtual environment, skip this section.
#. Install ``pip``.
For CentOS or RHEL, run:
.. code-block:: console
.. code-block:: console
apt-get
install
ansible
sudo yum
install
python-pip
#. Use ``pip`` to install or upgrade Ansible to latest versio
n:
For Ubuntu, ru
n:
.. code-block:: console
.. code-block:: console
pip install -U ansible
sudo apt-get install python-pip
.. note:
:
#. Ensure the latest version of pip is installed
:
It is recommended to use virtualenv to install non-system packages.
.. code-block:: console
#. (optional) Add the following options to ansible configuration file
sudo pip install -U pip
``/etc/ansible/ansible.cfg``:
.. path /etc/ansible/a
nsible
.cfg
#. Install `Ansible <http://www.ansible.com>`__. Currently, Kolla A
nsible
.. code-block:: ini
requires Ansible 2.4+.
[defaults]
For CentOS or RHEL, run:
host_key_checking=False
pipelining=True
.. code-block:: console
forks=100
sudo yum install ansible
For Ubuntu, run:
.. code-block:: console
sudo apt-get install ansible
Install Kolla-ansible
Install Kolla-ansible
~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~
...
@@ -109,23 +149,38 @@ Install Kolla-ansible for deployment or evaluation
...
@@ -109,23 +149,38 @@ Install Kolla-ansible for deployment or evaluation
#. Install kolla-ansible and its dependencies using ``pip``.
#. Install kolla-ansible and its dependencies using ``pip``.
If using a virtual environment:
.. code-block:: console
.. code-block:: console
pip install kolla-ansible
pip install kolla-ansible
If not using a virtual environment:
.. code-block:: console
sudo pip install kolla-ansible
#. Create the ``/etc/kolla`` directory.
.. code-block:: console
sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla
#. Copy ``globals.yml`` and ``passwords.yml`` to ``/etc/kolla`` directory.
#. Copy ``globals.yml`` and ``passwords.yml`` to ``/etc/kolla`` directory.
For CentOS, run:
For CentOS, run:
.. code-block:: console
.. code-block:: console
cp -r /usr/share/kolla-ansible/etc_examples/kolla /etc/
cp -r /usr/share/kolla-ansible/etc_examples/kolla
/*
/etc/
kolla
For Ubuntu, run:
For Ubuntu, run:
.. code-block:: console
.. code-block:: console
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla /etc/
cp -r /usr/local/share/kolla-ansible/etc_examples/kolla
/*
/etc/
kolla
#. Copy ``all-in-one`` and ``multinode`` inventory files to
#. Copy ``all-in-one`` and ``multinode`` inventory files to
the current directory.
the current directory.
...
@@ -154,18 +209,33 @@ Install Kolla for development
...
@@ -154,18 +209,33 @@ Install Kolla for development
#. Install requirements of ``kolla`` and ``kolla-ansible``:
#. Install requirements of ``kolla`` and ``kolla-ansible``:
If using a virtual environment:
.. code-block:: console
.. code-block:: console
pip install -r kolla/requirements.txt
pip install -r kolla/requirements.txt
pip install -r kolla-ansible/requirements.txt
pip install -r kolla-ansible/requirements.txt
If not using a virtual environment:
.. code-block:: console
sudo pip install -r kolla/requirements.txt
sudo pip install -r kolla-ansible/requirements.txt
#. Create the ``/etc/kolla`` directory.
.. code-block:: console
sudo mkdir -p /etc/kolla
sudo chown $USER:$USER /etc/kolla
#. Copy the configuration files to ``/etc/kolla`` directory.
#. Copy the configuration files to ``/etc/kolla`` directory.
``kolla-ansible`` holds the configuration files ( ``globals.yml`` and
``kolla-ansible`` holds the configuration files ( ``globals.yml`` and
``passwords.yml``) in ``etc/kolla``.
``passwords.yml``) in ``etc/kolla``.
.. code-block:: console
.. code-block:: console
mkdir -p /etc/kolla
cp -r kolla-ansible/etc/kolla/* /etc/kolla
cp -r kolla-ansible/etc/kolla/* /etc/kolla
#. Copy the inventory files to the current directory. ``kolla-ansible`` holds
#. Copy the inventory files to the current directory. ``kolla-ansible`` holds
...
@@ -176,17 +246,36 @@ Install Kolla for development
...
@@ -176,17 +246,36 @@ Install Kolla for development
cp kolla-ansible/ansible/inventory/* .
cp kolla-ansible/ansible/inventory/* .
Configure Ansible
~~~~~~~~~~~~~~~~~
For best results, Ansible configuration should be tuned for your environment.
For example, add the following options to the Ansible configuration file
``/etc/ansible/ansible.cfg``:
.. path /etc/ansible/ansible.cfg
.. code-block:: ini
[defaults]
host_key_checking=False
pipelining=True
forks=100
Further information on tuning Ansible is available `here
<https://www.ansible.com/blog/ansible-performance-tuning>`__.
Prepare initial configuration
Prepare initial configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Inventory
Inventory
---------
---------
Next step is to prepare our inventory file. Inventory is an ansible file where
The next step is to prepare our inventory file. An inventory is an Ansible file
we specify node roles and access credentials.
where we specify hosts and the groups that they belong to. We can use this to
define node roles and access credentials.
Kolla-Ansible comes with ``all-in-one`` and ``multinode`` example inventory
Kolla-Ansible comes with ``all-in-one`` and ``multinode`` example inventory
files.
D
ifference between them is that the former is ready for deploying
files.
The d
ifference between them is that the former is ready for deploying
single node OpenStack on localhost. If you need to use separate host or more
single node OpenStack on localhost. If you need to use separate host or more
than one node, edit ``multinode`` inventory:
than one node, edit ``multinode`` inventory:
...
@@ -371,6 +460,11 @@ There are a few options that are required to deploy Kolla-Ansible:
...
@@ -371,6 +460,11 @@ There are a few options that are required to deploy Kolla-Ansible:
`Services Reference Guide
`Services Reference Guide
<https://docs.openstack.org/kolla-ansible/latest/reference/index.html>`_.
<https://docs.openstack.org/kolla-ansible/latest/reference/index.html>`_.
* Virtual environment
It is recommended to use a virtual environment to execute tasks on the remote
hosts. This is covered :ref:`here <virtual-environments-target-hosts>`.
Deployment
Deployment
~~~~~~~~~~
~~~~~~~~~~
...
@@ -380,6 +474,10 @@ need to setup basic host-level dependencies, like docker.
...
@@ -380,6 +474,10 @@ need to setup basic host-level dependencies, like docker.
Kolla-Ansible provides a playbook that will install all required services in
Kolla-Ansible provides a playbook that will install all required services in
the correct versions.
the correct versions.
The following assumes the use of the ``multinode`` inventory. If using a
different inventory, such as ``all-in-one``, replace the ``-i`` argument
accordingly.
* For deployment or evaluation, run:
* For deployment or evaluation, run:
#. Bootstrap servers with kolla deploy dependencies:
#. Bootstrap servers with kolla deploy dependencies:
...
@@ -407,19 +505,19 @@ the correct versions.
...
@@ -407,19 +505,19 @@ the correct versions.
.. code-block:: console
.. code-block:: console
cd kolla-ansible/tools
cd kolla-ansible/tools
./kolla-ansible -i ../
ansible/inventory
/multinode bootstrap-servers
./kolla-ansible -i ../
..
/multinode bootstrap-servers
#. Do pre-deployment checks for hosts:
#. Do pre-deployment checks for hosts:
.. code-block:: console
.. code-block:: console
./kolla-ansible -i ../
ansible/inventory
/multinode prechecks
./kolla-ansible -i ../
..
/multinode prechecks
#. Finally proceed to actual OpenStack deployment:
#. Finally proceed to actual OpenStack deployment:
.. code-block:: console
.. code-block:: console
./kolla-ansible -i ../
ansible/inventory
/multinode deploy
./kolla-ansible -i ../
..
/multinode deploy
When this playbook finishes, OpenStack should be up, running and functional!
When this playbook finishes, OpenStack should be up, running and functional!
If error occurs during execution, refer to
If error occurs during execution, refer to
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment