Move Fuel Installation Guide to fuel-docs

Move the Fuel Installation Guide to fuel-docs.
Created the userdocs foler.

Change-Id: Ie7273da30c486033b9ccc7cc258719e73a9a8ae9
This commit is contained in:
Svetlana Karslioglu 2016-03-10 13:47:26 -08:00
parent 338a5020ce
commit 42ace6e5d9
80 changed files with 3521 additions and 32 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

BIN
_images/title-page.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

50
_templates/fuel.style Normal file
View File

@ -0,0 +1,50 @@
#embeddedFonts: [ [ "PT Sans" ], [ "PT Mono" ], [ "PT Serif" ] ]
# ["PT_Sans-CaptionBold.ttf", "PT_Sans-Bold.ttf", PT_Sans-Italic.ttf, PTF75F.ttf, PT_Sans-BoldItalic.ttf,
# PT_Sans-Narrow.ttf, PTF76F.ttf, PT_Sans-Bold_0.ttf, PT_Sans-NarrowBold.ttf,
# PTZ55F.ttf, PT_Sans-Caption.ttf, PT_Sans-Regular.ttf]
fontsAlias:
stdBold: PT Sans Bold
stdBoldItalic: PT Sans Bold Italic
stdFont: PT Sans
stdItalic: PT Sans Italic
stdMono: PT Mono
stdMonoBold: PT Mono Bold
stdMonoBoldItalic: PT Mono Bold
stdMonoItalic: PT Mono
stdSans: PT Sans
stdSansBold: PT Sans Bold
stdSansBoldItalic: PT Sans BoldItalic
stdSansItalic: PT Sans Italic
stdSerif: PT Serif
pageSetup:
firstTemplate: coverPage
# size: LETTER
pageTemplates:
coverPage:
frames: []
[0cm, 0cm, 100%, 100%]
background : _images/title-page.png
showHeader : false
showFooter : false
oneColumn:
frames: []
[0cm, 0cm, 100%, 100%]
showHeader : true
showFooter : true
styles:
seealso:
backColor: transparent
borderColor: transparent
parent: admonition
seealso-heading:
parent: heading
fontName: PT Sans
fontSize: 150%
keepWithNext: true
spaceBefore: 0
spaceAfter: 10

View File

@ -92,3 +92,6 @@ pdf_use_numbered_links = False
# Background images fitting mode
pdf_fit_background_mode = 'scale'
pdf_stylesheets = ['letter', 'fuel']
pdf_style_path = ['_templates']

11
conf.py
View File

@ -38,6 +38,9 @@ extensions = [
'rst2pdf.pdfbuilder'
]
# Add any paths that contain templates here, relative to this directory.
# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
@ -49,16 +52,16 @@ master_doc = 'index'
# General information about the project.
project = u'Fuel'
copyright = u'2012-2014, Mirantis'
copyright = u'2012-2016, Mirantis'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '0'
version = '8.0'
# The full version, including alpha/beta/rc tags.
release = ''
release = '8.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@ -104,7 +107,7 @@ html_theme = 'openstackdocs'
# Theme options are theme-specific and customize the look and feel of a theme
# documentation.
#html_theme_options = {}
# html_theme_options =
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = [openstackdocstheme.get_html_theme_path()]

View File

@ -1,11 +1,10 @@
.. _develop:
Development Documentation
=========================
Developer Guide
===============
.. toctree::
:maxdepth: 3
:numbered:
develop/architecture
develop/sequence

View File

@ -1,4 +1,4 @@
Devops Guide
DevOps Guide
============
Introduction

14
devdocs/infra.rst Normal file
View File

@ -0,0 +1,14 @@
.. _infra:
Fuel Infra configuration
========================
.. toctree::
:maxdepth: 2
infra/overview
infra/jenkins_master_deployment
infra/jenkins_slave_deployment
infra/puppet_master_deployment
infra/zabbix_server_deployment
infra/seed_server_deployment

View File

@ -1,5 +1,5 @@
Jenkins Slave
=============
~~~~~~~~~~~~~
The Jenkins Slave is a machine that is set up to run build projects scheduled
from the master. Slave runs a dedicated program called a ``slave agent``
@ -98,4 +98,4 @@ To deploy Jenkins slave, complete the following steps:
--server puppet-master.test.local --waitforcert 60
The last action requests the client's certificate. To continue the puppet run,
the certificate should be signed from the Puppet Master.
the certificate should be signed from the Puppet Master.

View File

@ -1,5 +1,7 @@
.. _puppet_master:
Puppet Master
=============
~~~~~~~~~~~~~
Puppet is a tool which provides ability to manage configuration of systems in an
automatic way using the declarative language. The so called 'manifests' are
@ -36,9 +38,9 @@ The script does the following:
When script finishes successfully, the Puppet Master installation is completed.
-----------
Using Hiera
-----------
~~~~~~~~~~~
Puppet can use Hiera to look for data. Hiera allows to override manifest
parameter values during the deployment, thus it is possible to create

View File

@ -5,7 +5,6 @@ Packaging
.. toctree::
:maxdepth: 3
:numbered:
packaging/package_versions
packaging/perestroika
packaging/perestroika

View File

@ -1,7 +0,0 @@
.. _user:
User Guide
==========
User guide has been moved to `docs.mirantis.com <http://docs.mirantis.com/>`_.
If you want to contribute, checkout the sources from `github <https://github.com/openstack/fuel-docs.git>`_.

View File

@ -1,20 +1,39 @@
.. _contents:
Table of contents
=================
Welcome to Fuel Documentation!
==============================
Fuel is an open-source tool that enables you to easily and quickly
provision multiple OpenStack environments, as well as manage your environments
after deployment. You can install Fuel and deploy your OpenStack environment
on a virtual platform such as Oracle VirtualBox or VMware vSphere for testing
purposes, as well as on bare-metal hardware for production.
This page provides Fuel developer and user documentation.
User documentation
~~~~~~~~~~~~~~~~~~
Learn how to install and configure Fuel, as well as how to deploy your
OpenStack environments and manage them after deployment.
.. toctree::
:maxdepth: 4
:numbered:
:maxdepth: 1
userdocs/fuel-install-guide
Developer documentation
~~~~~~~~~~~~~~~~~~~~~~~
Learn about Fuel internals, software architecture, and how Fuel components
interact with each other.
.. toctree::
:maxdepth: 1
devdocs/develop
devdocs/user
devdocs/devops
devdocs/buildsystem
devdocs/infra/jenkins_master_deployment
devdocs/infra/jenkins_slave_deployment
devdocs/infra/overview
devdocs/infra/puppet_master_deployment
devdocs/infra/seed_server_deployment
devdocs/infra/zabbix_server_deployment
devdocs/infra
devdocs/packaging

View File

@ -0,0 +1,17 @@
.. _fuel-install-guide:
=======================
Fuel Installation Guide
=======================
.. toctree::
:maxdepth: 3
fuel-install-guide/intro_fuel_install_intro
fuel-install-guide/sysreq_intro
fuel-install-guide/install_install_fuel
fuel-install-guide/bootstrap_intro
fuel-install-guide/plugins_intro
fuel-install-guide/vsphere_intro
fuel-install-guide/upgrade_intro
fuel-install-guide/preinstall_intro

View File

@ -0,0 +1,179 @@
.. _bootstrap_add_package:
Build a bootstrap image with an additional package
--------------------------------------------------
You can install any custom package from the default repository or
the connected external repository through the ``fuel-bootstrap`` builder script.
**Example 1: Installation of the ``strace`` package from the default repository**
#. Build the bootstrap:
.. code-block:: console
$ fuel-bootstrap build --package 'strace' --label 'bootstrap_with_strace' \
--output-dir ~/example1/
**System response:**
.. code-block:: console
...Building process...
Building initramfs
Building squashfs
...
Bootstrap image a778efad-88ca-41fe-b592-f02101c11d22 has been built: /root/example1/a778efad-88ca-41fe-b592-f02101c11d22.tar.gz
#. After the build process is completed, you can import and activate the new bootstrap image:
.. code-block:: console
$ fuel-bootstrap import ~/example1/a778efad-88ca-41fe-b592-f02101c11d22.tar.gz --activate
#. Verify that the bootsrtap image has been activated:
.. code-block:: console
$ fuel-bootstrap list |grep active
**System response:**
.. code-block:: console
| a778efad-88ca-41fe-b592-f02101c11d22 | bootstrap_with_strace | active |
#. Reboot the discovered node:
.. code-block:: console
$ ssh 10.109.0.3 reboot
#. Verify that the new bootstrap image is loaded on the discovered node:
#. Verify that the ``runtime_uuid`` value of the activated bootstrap image
has been updated in the ``nailgun-agent`` configuration file:
.. code-block:: console
# cat /etc/nailgun-agent/config.yaml
**System response:**
.. code-block:: console
{runtime_uuid: a778efad-88ca-41fe-b592-f02101c11d22}
#. Verify that the new package has been installed:
.. code-block:: console
# dpkg -l |grep strace
**System response:**
.. code-block:: console
ii strace 4.8-1ubuntu5 amd64 A system call tracer
**Example 2: Installation of the ``nginx`` package using a custom repository**
#. Add the ``nginx`` repository to the ``fuel_bootstrap_cli.yaml`` file:
#. Open the fuel_bootstrap_cli.yaml file for editing:
.. code-block:: console
$ vim /etc/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml
#. Add the following text:
.. code-block:: yaml
...
repos:
- name: ubuntu-0
...
- name: ubuntu-1
...
- name: custom_user_repo
priority: 1001
section: "nginx"
suite: trusty
type: deb
uri: "http://nginx.org/packages/ubuntu"
...
.. warning::
The first repository must point to the upstream mirror.
.. warning::
Use priorities higher than 1000 to force the installation
of an old version of a package, when other repositories
have newer versions of the same package or a newer version
of the package is already installed on the system.
You can use the force installation in case of a regression
caused by the newer version of a package.
Find more information about apt-pinning in
`Debian Manuals <https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_tweaking_candidate_version>`_.
#. Build the bootstrap image:
.. code-block:: console
$ fuel-bootstrap --verbose --debug build --label 'with_nginx_repo_package' --package nginx --activate
**System response:**
.. code-block:: console
...
Bootstrap image e295a410-2605-4ddf-a967-c3d638d901bc has been built:
...
Bootstrap image e295a410-2605-4ddf-a967-c3d638d901bc has been activated.
...
#. After the build process is completed, reboot the discovered node.
#. Verify that the new package has been installed:
.. code-block:: console
# dpkg -l |grep nginx
**System response:**
.. code-block:: console
ii nginx 1.8.1-1~trusty amd64 high performance web server
#. View the status of the packageL
.. code-block:: console
# apt-cache show nginx
**System response:**
.. code-block:: console
Package: nginx
Status: install ok installed
...
#. Verify that the ``runtime_uuid`` value of the activated bootstrap image
has been updated in the ``nailgun-agent`` configuration file:
.. code-block:: console
# cat /etc/nailgun-agent/config.yaml
**System response:**
.. code-block:: console
{runtime_uuid: e295a410-2605-4ddf-a967-c3d638d901bc}

View File

@ -0,0 +1,64 @@
.. _bootstrap_builder:
Overview of the Fuel bootstrap builder
--------------------------------------
The bootstrap generator creates bootstrap images for the Fuel Master node
that Fuel will use to boot the Fuel Slave nodes. The bootstrap
generator uses default configurations, however, you
can modify these settings.
You can customize a Fuel bootstrap image using one of the following options:
* Set additional packages for the installation.
* Copy custom files into the root bootstrap.
* Run a user script at the bootstrap file system during the image
creation.
You can configure Fuel bootstrap images using the ``fuel-bootstrap`` command:
.. code-block:: console
usage: fuel-bootstrap [--version] [-v] [--log-file LOG_FILE] [-q] [-h]
[--debug]
.. list-table:: **Optional arguments**
:widths: 10 25
:header-rows: 0
* - Option
- Description
* - ``--version``
- Shows a program's version number and exits.
* - ``-v``, ``--verbose``
- Increases a verbosity of output. Can be repeated.
* - ``--log-file LOG_FILE``
- Specify a file to log output. Disabled by default.
* - ``-q``, ``--quiet``
- Suppress output except for warnings and errors.
* - ``-h``, ``--help``
- Shows this help message and exits.
* - ``--debug``
- Shows tracebacks on errors.
.. list-table:: **Commands to operate with a bootstrap image**
:widths: 5 25
:header-rows: 0
* - Command
- Description
* - ``activate``
- Activates the specified bootstrap image.
* - ``build``
- Builds a new bootstrap image with the specified parameters.
* - ``delete``
- Deletes the specified bootstrap image from the system.
* - ``help``
- Print the detailed help information for the corresponding command.
* - ``import``
- Imports an already created bootstrap image to the system.
* - ``list``
- Lists all available bootstrap images.

View File

@ -0,0 +1,48 @@
.. _bootstrap_container_format:
The fuel-bootstrap container format
-----------------------------------
To simplify bootstrap sharing and delivery, pack all files required
for the bootstrap image in a ``tar.gz`` archive. You can also create and
archive manually without using the ``fuel-bootstrap`` script.
The bootstrap archive must include:
* ``metadata.yaml`` - a ``.yaml`` file that describes the configuration
* ``initrd.img`` - an initial RAM file system
* ``vmlinuz`` - a kernel image
.. warning::
You cannot modify file names. This limitation is planned to be removed in future releases.
Optionally, you can add extra files:
* root.squashfs - a root file system
Mandatory data fields for ``metadata.yaml`` are:
.. code-block:: yaml
extend_kopts : 'key=value net.ifnames=1 debug ignore_loglevel'
# kernel command line opts will be extended with Fuel default opts.
# But, its also possible to re-write default params - w\o any
# guarantee of work.
uuid: 244782c1-7343-43f7-9ee3-8989c252eb2e
# Uuid for identify bootstrap.
**Generate UUID**
In the case of the manually built bootstrap you can generate UUID with
the following command:
.. code-block:: console
python -c "import uuid; print str(uuid.uuid4())"
To connect (discover) and work correctly, ``fuel-bootstrap`` requires
runtime system to have installed and properly configured packages.
The list of packages is specified in the
``/etc/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml`` file.

View File

@ -0,0 +1,80 @@
.. _bootstrap_debug:
Enable advanced debugging
-------------------------
If creating a new bootstrap image results in errors,
you can analyze your system by enabling the chroot bootstrap
development environment.
This section provides an example of running bootstrap building
in the chroot environment.
**To enable advanced debugging:**
.. warning::
Use for debug purpose only.
#. Prepare the ``sleep`` script:
.. code-block:: console
$ cat /root/sleep.sh
#!/bin/bash
sleep 99h || true
#. Start the build process with the ``sleep.sh`` script:
.. code-block:: console
$ fuel-bootstrap --verbose --debug build --extra-dir /root/mlnx/mlnx_bootstrap_root/ \
--label debug --activate --script /root/sleep.sh
**System response:**
.. code-block:: console
...
Copy user-script /root/sleep.sh into chroot:/tmp/tmpdOS3ya.fuel-agent-image
Trying to execute command: chroot /tmp/tmpdOS3ya.fuel-agent-image /bin/bash -c /sleep.sh
The process is sleeping and you can jump into chroot
The ``sleep.sh`` script delays the start of the building process.
Therefore, you can enable the chroot environment.
#. Enable the chroot environment:
.. code-block:: console
$ chroot /tmp/tmpdOS3ya.fuel-agent-image /bin/bash
#. Fix ``PATH`` difference between CentOS and Ubuntu environmnets:
.. code-block:: console
$ export PATH=$PATH:/sbin:/bin
#. You can now make any changes to the ``bootstrap-dev`` system.
#. After you apply the required changes, exit the chroot environment.
#. Terminate the ``sleep`` process:
.. code-block:: console
$ [root@nailgun ~]# ps xauf |grep sleep
**System response:**
.. code-block:: console
root 23642 0.0 0.0 9524 1128 pts/14 S+ 17:54 0:00 | \_ /bin/bash /sleep.sh
root 23643 0.0 0.0 4340 360 pts/14 S+ 17:54 0:00 | \_ sleep 99h
.. code-block:: console
$ kill -s INT 23643
After that, the building process will continue as usual.

View File

@ -0,0 +1,33 @@
.. _bootstrap_inject_cert:
Inject custom SSL certificates
------------------------------
You can inject any customization scripts and files inside
a bootstrap using ``fuel-bootstrap``.
For example, you can add custom certificates to access
an https repository.
** To inject certificate files:**
#. Add a certificate to the Fuel Master system to provide
correct work of debootstrap run on the Fuel Master node:
.. code-block:: console
$ update-ca-trust force-enable
$ cp cert.crt /etc/pki/ca-trust/source/anchors/
$ update-ca-trust extract
#. Create a directory with the certificate to inject:
.. code-block:: console
$ mkdir -p /root/bootstrap_root/usr/local/share/ca-certificates/
$ cp cert.crt /root/bootstrap_root/usr/local/share/ca-certificates/
#. Build the bootstrap:
.. code-block:: console
$ fuel-bootstrap build --load-cert --extra-dir /root/bootstrap_root/

View File

@ -0,0 +1,225 @@
.. _bootstrap_inject_driver:
Inject a driver from .deb packages
----------------------------------
When you need to install custom hardware drivers from the official
repository, you can inject them into a bootstrap.
**To install a driver provided as a deb package:**
Input:
* ``.deb`` files provided by HW-support
Fetched from:
http://bgate.mellanox.com/openstack/mellanox_fuel_plugin/8.0/repositories/ubuntu/
* files to be injected to the bootstrap
Fetched from review.
The ``.deb`` files:
.. code-block:: console
$ la -lah /root/mlnx_debs/
**System response:**
.. code-block:: console
-rw-r--r-- 1 root root 13M Jan 21 08:55 cirros-testvm-mellanox-ib_0.3.2-7_amd64.deb
-rw-r--r-- 1 root root 13M Jan 21 08:55 cirros-testvm-mellanox_0.3.2-ubuntu3_amd64.deb
-rw-r--r-- 1 root root 27K Jan 21 08:55 eswitchd_0.13-1_amd64.deb
-rw-r--r-- 1 root root 27K Jan 21 08:55 eswitchd_1.14-3_amd64.deb
-rw-r--r-- 1 root root 44K Jan 31 16:08 libibverbs1_1.1.8mlnx1-OFED.3.1.1.0.0_amd64.deb
-rw-r--r-- 1 root root 49K Jan 31 16:08 libmlx4-1_1.0.6mlnx1-OFED.3.1.1.0.0_amd64.deb
-rw-r--r-- 1 root root 3.7K Jan 21 08:55 mlnx-dnsmasq_2015.1.0-1_all.deb
-rw-r--r-- 1 root root 100M Jan 21 08:55 mlnx-ofed-fuel_2.3-2.0.8_amd64.deb
-rw-r--r-- 1 root root 193M Jan 21 08:55 mlnx-ofed-fuel_3.1-1.5.7_amd64.deb
-rw-r--r-- 1 root root 1.9M Jan 31 16:08 mlnx-ofed-kernel-dkms_3.1-OFED.3.1.1.0.3.1.g9032737_all.deb
-rw-r--r-- 1 root root 68K Jan 31 16:08 mlnx-ofed-kernel-utils_3.1-OFED.3.1.1.0.3.1.g9032737_amd64.deb
-rw-r--r-- 1 root root 14K Jan 31 16:08 ofed-scripts_3.1-OFED.3.1.1.0.3_amd64.deb
-rw-r--r-- 1 root root 18K Jan 21 08:55 python-networking-mlnx_2015.1.2-1_amd64.deb
The files to be injected to the bootstrap image:
.. code-block:: console
$ tree /root/mlnx_files//
**System response:**
.. code-block:: console
|-- mellanox_customize_init.sh
`-- mlnx_bootstrap_root
|-- etc
| `-- modprobe.d
| `-- ipoib.conf
`-- usr
`-- bin
`-- init_mlnx.sh
.. warning::
Injected files and folder should have execute permission
.. code-block:: console
$ find /root/mlnx_files/ -type f -iname *.sh -print | xargs chmod 0755
$ find /root/mlnx_files/ -type d -print | xargs chmod 755
The custom script:
.. code-block:: console
$ cat /root/mlnx/mellanox_customize_init.sh
**System response:**
.. code-block:: console
#!/bin/bash
echo "MLNX add init_mlnx.sh into bootstrap /etc/rc.local"
sed -i 's/.*fix-configs.*/$(init_mlnx.sh > \/dev\/null 2>\&1) \& || true\n&/' /etc/rc.local
To push deb packages into the bootstrap, create a new repository on the Fuel Master node
and pull the repository to the builder following the steps below:
#. Prepare a custom repository under ``nailgun`` folder:
#. Create a fodler for the repository:
.. code-block:: console
$ mkdir -p /var/www/nailgun/mlnx_repo/ubuntu
#. Copy all ``*.deb`` files to the folder:
.. code-block:: console
$ cp /root/mlnx_debs/*.deb /var/www/nailgun/mlnx_repo/ubuntu
#. Run ``dpkg`` tool to create repo-metadata:
.. code-block:: console
$ pushd /var/www/nailgun/mlnx_repo/ubuntu/
$ dpkg-scanpackages ./ /dev/null | gzip -9c > Packages.gz
$ popd
#. Create a simple ``Release`` stub file:
.. code-block:: console
$ echo -e "Origin: user_custom\nLabel: custom\nSuite: user_custom\nCodename: \
user_custom\nArchitectures: amd64\nComponents: main\nDescription: custom" \
> /var/www/nailgun/mlnx_repo/ubuntu/Release
#. Include the repository to configure the bootstrap builder:
.. code-block:: console
$ vim /etc/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml
**System response:**
.. code-block:: yaml
...
repos:
...
- name: custom_mlnx_repo
priority: 1001
section: ""
suite: ./
type: deb
uri: "http://<FUEL_MASTER_IP>:8080/mlnx_repo/ubuntu/"
where ``FUEL_MASTER_IP`` is an IP address of the Fuel Master node.
#. Run the bootstrap builder:
.. code-block:: console
$ fuel-bootstrap --verbose --debug build --package mlnx-ofed-kernel-dkms \
--package mlnx-ofed-kernel-utils --extra-dir \
/root/mlnx/mlnx_bootstrap_root/ --label mlnx-ofed-kernel \
--activate --script /root/mlnx/mellanox_customize_init.sh
**System response:**
.. code-block:: console
...
Trying to execute command: rsync -rlptDKv /root/mlnx/mlnx_bootstrap_root// /tmp/tmpsJA1Yp.fuel-agent-image/
...
Trying to execute command: chroot /tmp/tmpsJA1Yp.fuel-agent-image /bin/bash -c /mellanox_customize_init.sh
....
stdout:MLNX add init_mlnx.sh into bootstrap /etc/rc.local
...
Setting up mlnx-ofed-kernel-dkms (3.1-OFED.3.1.1.0.3.1.g9032737)
...
Loading new mlnx-ofed-kernel-3.1 DKMS files
...
Rsync files from /root/mlnx/mlnx_bootstrap_root/ to: /tmp/tmpIA5Ro8.fuel-agent-image
...
--- Building bootstrap image END (do_mkbootstrap) ---
...
Bootstrap image 37369fd8-34c0-444d-a4d1-2f266d586442 has been activated
#. Reboot the affected nodes:
.. code-block:: console
$ ssh 10.109.0.3 reboot
#. Check that the driver has been installed succesfully:
#. View the information about the installed packages:
.. code-block:: console
# dpkg -l |grep mlnx
**System response:**
.. code-block:: console
ii mlnx-ofed-kernel-dkms 3.1-OFED.3.1.1.0.3.1.g9032737 all DKMS support for mlnxofed kernel modules
ii mlnx-ofed-kernel-utils 3.1-OFED.3.1.1.0.3.1.g9032737 amd64 Userspace tools to restart and tune mlnx-ofed kernel modules
#. View the information about the installed kernel module:
.. code-block:: console
# modinfo mlx4_core
**System response:**
.. code-block:: console
filename: /lib/modules/3.13.0-76-generic/updates/dkms/mlx4_core.ko
version: 3.1-1.0.3
license: Dual BSD/GPL
description: Mellanox ConnectX HCA low-level driver
author: Roland Dreier
...
#. View the running process:
.. code-block:: console
# ps xauf |grep init_mlnx.sh
**System response:**
.. code-block:: console
root 3113 0.0 0.0 9600 1492 pts/0 S 13:00 0:00 /bin/bash /usr/bin/init_mlnx.sh

View File

@ -0,0 +1,202 @@
.. _bootstrap_install_kernel:
Install a custom kernel
-----------------------
You can install a custom kernel in a bootstrap image.
For example, you can install the latest Ubuntu kernel
or an older version of the kernel intended to fix regressions.
.. warning::
Non-standard kernels, which were not verified with the Fuel packages,
can brake your system.
Install the latest kernel
-------------------------
To install the latest ``lts-trusty`` kernel, you do not need
to make any customization. Simply run the bootstrap builder with
the default parameters and the latest ``lts-trusty`` kernel
available in the repositories will be fetched.
**To install the latest kernel:**
#. Install the kernel different from ``lts-trusty``
#. Open and edit configuration file adding the new repository:
.. code-block:: console
$ vim /etc/fuel-bootstrap-cli/fuel_bootstrap_cli.yaml
.. code-block:: yaml
...
- name: wily1
priority: 1001
section: "main restricted universe multiverse"
suite: wily
type: deb
uri: "http://cz.archive.ubuntu.com/ubuntu/"
- name: wily2
priority: 1001
section: "main restricted universe multiverse"
suite: wily-updates
type: deb
uri: "http://cz.archive.ubuntu.com/ubuntu/"
...
#. Build and activate a bootstrap image specifying a kernel flavor:
.. code-block:: console
$ fuel-bootstrap --verbose --debug build --label 'with_wily_kernel' --activate --kernel-flavor linux-image-generic-lts-wily
#. Reboot the discovered node:
.. code-block:: console
$ ssh 10.109.0.3
#. Verify if the node applied the kernel succesfully:
#. View infomation about the installed kernel image:
.. code-block:: console
# dpkg -l | grep wily
**System response:**
.. code-block:: console
ii linux-image-generic-lts-wily 4.2.0.27.21 amd64 Generic Linux kernel image
#. View infomation about the current kernel:
.. code-block:: console
# uname -a
**System response:**
.. code-block:: console
Linux bootstrap 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Install an old kernel
---------------------
For code stability, security, or other reasons, you may not want to install
the latest kernel as described above.
.. note::
Due to a specific logic of ``apt-get upgrade\dist-upgrade`` system,
an old kernel cannot be installed as easily as the latest one.
**To install an old version of kernel:**
#. Verify the version of ``lts-vivid`` meta-package:
.. code-block:: console
apt-cache show linux-image-generic-lts-vivid | grep -i Depends
**Example of system response:**
.. code-block:: console
Depends: linux-image-3.19.0-47-generic, linux-image-extra-3.19.0-47-generic, linux-firmware
#. Prepare a bash script with the kernel version you want to install.
For example:
.. code-block:: console
$ cat /root/user_script.sh
**System response:**
.. code-block:: console
#!/bin/bash
echo "START user-script"
apt-get remove -y linux-image-generic-lts* linux-image-*
apt-get purge -y linux-image-generic-lts* linux-image-*
rm -f /boot/vmlinuz*
rm -f /boot/initrd*
apt-get install -y linux-image-3.19.0-25-generic linux-image-extra-3.19.0-25-generic
echo "END user-script"
This bash script installs the ``linux-image-3.19.0-25-generic`` kernel.
#. Build and activate a bootstrap image including the custom script you created before:
.. code-block:: console
$ fuel-bootstrap build --verbose --debug --activate --label 'old_kernel' --script /root/user_script.sh
**System response:**
.. code-block:: console
...
Copy user-script /root/user_script.sh into chroot:/tmp/tmplGugKE.fuel-agent-image
Make user-script /tmp/tmplGugKE.fuel-agent-image/user_script.sh executable
Trying to execute command: chroot /tmp/tmplGugKE.fuel-agent-image /bin/bash -c /user_script.sh
...
Bootstrap image 244782c1-7343-43f7-9ee3-8989c252eb2e has been built
...
Bootstrap image 244782c1-7343-43f7-9ee3-8989c252eb2e has been activated.
#. Reboot the discovered node:
.. code-block:: console
$ ssh 10.109.0.3
#. Verify if the node applied the kernel succesfully:
#. View infomation about the current kernel:
.. code-block:: console
# uname -a
**System response:**
.. code-block:: console
Linux bootstrap 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
#. View infomation about the installed kernel image:
.. code-block:: console
# dpkg -l | grep image
**System response:**
.. code-block:: console
ii linux-image-3.19.0-25-generic 3.19.0-25.26~14.04.1 amd64 Linux kernel image for version 3.19.0 on 64 bit x86 SMP
ii linux-image-extra-3.19.0-25-generic 3.19.0-25.26~14.04.1 amd64 Linux kernel extra modules for version 3.19.0 on 64 bit x86 SMP
#. Verify that the ``runtime_uuid`` value of the activated bootstrap image
has been updated in the ``nailgun-agent`` configuration file:
.. code-block:: console
# cat /etc/nailgun-agent/config.yaml
**System response:**
.. code-block:: console
{runtime_uuid: 244782c1-7343-43f7-9ee3-8989c252eb2e}

View File

@ -0,0 +1,55 @@
.. _bootstrap_select:
Select a bootstrap image
------------------------
You can select a bootstrap image from the list of available
bootstraps and activate it. The discovered nodes will be loaded
with a new bootstrap after reboot.
**To switch between bootstrap images:**
#. Print the list of available bootstrap images:
.. code-block:: console
# fuel-bootstrap list
**System response**
.. code-block:: console
+--------------------------------------+--------------------------------------+--------+
| uuid | label | status |
+--------------------------------------+--------------------------------------+--------+
| a778efad-88ca-41fe-b592-f02101c11d22 | bs1 | |
| 244782c1-7343-43f7-9ee3-8989c252eb2e | bs2 | active |
| 2b7fe334-4ef7-4a9d-8fcb-e0d7cc009d0c | 2b7fe334-4ef7-4a9d-8fcb-e0d7cc009d0c | |
| centos | deprecated | |
+--------------------------------------+--------------------------------------+--------+
#. Activate a new bootstrap image:
.. code-block:: console
# fuel-bootstrap activate a778efad-88ca-41fe-b592-f02101c11d22
#. Reboot the affected node:
.. code-block:: console
# fuel nodes
**System response**
.. code-block:: console
+-------------------------------------------------------------------------------------------------------------+
|id | status | name | cluster | ip | mac | roles | pending_roles | online |
|---|----------|------------------|---------|------------|-------------------|-------|---------------|--------|
|1 | discover | Untitled (29:bb) | None | 10.109.0.3 | 64:26:37:0b:29:bb | | | True |
+-------------------------------------------------------------------------------------------------------------+
.. code-block:: console
# ssh 10.109.0.3 reboot

View File

@ -0,0 +1,138 @@
.. _bootstrap_troubleshoot:
Troubleshoot custom bootstrap building
--------------------------------------
**Automatic Fuel deployment has failed**
Automatic bootstrap image building can fail with one of the
following error messages:
.. code-block:: console
"WARNING: Ubuntu bootstrap build has been skipped.
Please build and activate bootstrap manually with CLI command
`fuel-bootstrap build --activate`.
While you don't activate any bootstrap - new nodes cannot be discovered
and added to cluster.
For more information please visit
https://docs.mirantis.com/openstack/fuel/fuel-master/"
or
.. code-block:: console
WARNING: Failed to build the bootstrap image, see
/var/log/fuel-bootstrap-image-build.log
for details. Perhaps your Internet connection is broken. Please fix the
problem and run `fuel-bootstrap build --activate`.
While you don't activate any bootstrap - new nodes cannot be discovered
and added to cluster.
For more information please visit
https://docs.mirantis.com/openstack/fuel/fuel-master/"
You typically receive such error messages when software
repositories are unavailable.
To resolve the issue:
* If the Fuel Master node has an Internet connection,
verify network connectivity to the software repositories.
* If you use a local repository mirror:
* Follow the instructions provided in the ``fuel-mirror``
utility https://github.com/openstack/fuel-mirror
* Additionally, analyze the following log files:
- ``/var/log/fuel-bootstrap-image-build.log``
- ``/var/log/puppet/bootstrap_admin_node.log``
**A node has an old ``cmdline`` or a wrong bootstrap image**
``fuel-bootstrap`` has a limitation with UX issue.
You can not change a bootstrap image on nodes already added
to an environment (serialized).
This issue relates to the current architecture restriction.
The problem may occur under the following conditions:
* You have a deprecated CentOS bootstrap image in the ``active`` state; or
you power on nodes before the Fuel Master node is completely deployed
when ``ubuntu-bootstrap`` on the Fuel Master node has not been activated yet.
* You start a node and add it to an OpenStack environment, or
you start or reset deployment on an environment, or any other case
that triggers Fuel to store a node and create a cobbler system.
.. code-block:: console
cobbler system report --name default |grep -i Profile
**System response:**
.. code-block:: console
Profile : bootstrap
* Fuel (Сobbler) creates a system with the CentOS bootstrap image.
.. code-block:: console
$ cobbler system report --name node-1
**System response:**
.. code-block:: console
...
Profile : bootstrap (centos-bootstrap)
...
* Then, you change the active bootstrap, which makes
astute change the cobbler default profile to ``ubuntu-bootstrap``:
.. code-block:: console
$ cobbler system report --name default |grep -i Profile
**System response:**
.. code-block:: console
Profile : ubuntu_bootstrap
But the stored system still use the old bootstrap data.
**To enable the new bootstarp image:**
#. Remove the node from db, reboot, and re-discover it
.. warning::
All node data will be destroyed!
.. code-block:: console
# fuel node --node-id 1 --delete-from-db
#. Manually update the cobbler profile:
.. note::
No data will be destroyed.
.. code-block:: console
$ cobbler system edit --name node-1 --profile=ubuntu_bootstrap
$ cobbler system report --name node-1 |grep Profile
**System response:**
.. code-block:: console
Profile : ubuntu_bootstrap
#. Reboot the node.

View File

@ -0,0 +1,59 @@
.. _bootstrap_view:
View available bootstraps
-------------------------
You can view bootstrap images available in your system.
#. Each bootstrap image has a unique ID which identifies it:
.. code-block:: console
$ fuel-bootstrap list
**System response:**
.. code-block:: console
+--------------------------------------+--------------------------------------+--------+
| uuid | label | status |
+--------------------------------------+--------------------------------------+--------+
| 2b7fe334-4ef7-4a9d-8fcb-e0d7cc009d0c | 2b7fe334-4ef7-4a9d-8fcb-e0d7cc009d0c | active |
| centos | deprecated | |
+--------------------------------------+--------------------------------------+--------+
#. To check, which exactly bootstrap image is currently loaded on a discovered node:
.. code-block:: console
# fuel nodes
**System response:**
.. code-block:: console
id | status | name | cluster | ip | mac | roles | pending_roles | online | group_id
---|----------|------------------|---------|------------|-------------------|-------|---------------|--------|---------
1 | discover | Untitled (29:bb) | None | 10.109.0.3 | 64:26:37:0b:29:bb | | | True | None
#. Connect to a node by SSH and check the file:
.. code-block:: console
ssh 10.109.0.3 cat /etc/nailgun-agent/config.yaml
**System response:**
.. code-block:: console
{runtime_uuid: 2b7fe334-4ef7-4a9d-8fcb-e0d7cc009d0c}
#. You can use Fuel web UI as well:
* Go to ``Nodes`` tab of your environment.
* Locate the node and click on ``gear`` button in front of the node name.
* Expand the ``System`` tab and find ``runtime uuid`` record.
As you can see, Fuel loaded the discovered node with the bootstrap image marked
as ``Active`` in the bootstrap list.

View File

@ -0,0 +1,28 @@
.. _install_configure_bootstrap:
Configure a bootstrap image
~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can build a custom Ubuntu bootstrap image with
the Fuel bootstrap builder that Fuel Master will use
to boot Fuel Slave nodes.
You can include additional packages, custom drivers, and even
change the default Ubuntu kernel to be deployed on Fuel Slave nodes.
This section includes the following topics:
.. toctree::
:maxdepth: 2
bootstrap/bootstrap_builder
bootstrap/bootstrap_container
bootstrap/bootstrap_view
bootstrap/bootstrap_select
bootstrap/bootstrap_add_package
bootstrap/bootstrap_install_kernel
bootstrap/bootstrap_inject_cert
bootstrap/bootstrap_inject_driver
bootstrap/bootstrap_debug
bootstrap/bootstrap_troubleshoot

View File

@ -0,0 +1,32 @@
.. _install_before_you_install_fuel:
Before you install Fuel
-----------------------
Before you install Fuel, verify that you have completed the following tasks:
#. Read and complete the tasks described in the following sections:
* :ref:`intro_install_overview`
* :ref:`sysreq_intro`
#. If you use bare-metal hardware, set up and connect all hardware.
#. If you use virtual hardware, configure all required virtual machines,
network, and storage parameters.
#. Select a workflow:
* If you install Fuel on a server with an Internet connection, follow this
workflow:
.. image:: /_images/deliverables/d_install_w_internet.png
:width: 70%
:align: center
* If you install Fuel on a server without an Internet connection, you must
configure a local repository and modify the default Fuel repositories, so
that Fuel installs the operating system packages from the local
repositories. Therefore, follow this workflow:
.. image:: /_images/deliverables/d_install_wo_internet.png
:width: 70%
:align: center

View File

@ -0,0 +1,65 @@
.. _install_boot_nodes:
Boot the Fuel Slave nodes
-------------------------
Before you boot the Fuel Slave nodes, verify that you have completed
the following tasks:
#. :ref:`Install the Fuel Master node <install_install_fuel_master_node>`.
#. If you plan using RAID arrays, configure you RAID-attached devices first.
#. Configure the network:
* If you use bare-metal servers, verify that the Fuel Slave nodes are
physically connected to the same network as the Fuel Master node.
* If you use virtual servers, verify that the Fuel Slave nodes
are bridged to the same network as the Fuel Master node.
The Fuel Master node and the Fuel Slave nodes must be in
the same L2 network segment.
**To boot the Fuel Slave nodes:**
#. Power on a Fuel Slave node.
#. Boot the Fuel Slave node through PXE using one of the following options:
* Modify the boot order in BIOS to PXE boot.
* Press the appropriate key to initiate a PXE boot.
.. warning::
If the Fuel Slave node has several network interfaces, enable
the PXE boot on the interface that is on the same network
as Admin (PXE) network on the Fuel Master node.
#. Repeat the procedure for all the Fuel Slave nodes you will use for your
OpenStack environment.
Boot workflow of a Fuel Slave node
----------------------------------
The boot workflow of a Fuel Slave node does not require any user interaction.
For general understanding of the processes that take place in the system when
the Fuel Slave node is booting, get acquainted with the boot procedure:
#. The Fuel Slave node sends out a DHCP discovery request and gets the response
from the Fuel Master node that runs the DHCP server.
#. On receiving the response, the Fuel Slave node fetches the PXELINUX
bootloader and the bootstrap image from the Fuel Master node's TFTP
server, and boots into it.
#. On loading the image, the Fuel Slave node reports readiness and
configuration to the Fuel Master node.
The number of discovered Fuel Slave nodes appears in the Fuel web UI.
When all nodes boot, you can create an OpenStack environment.
.. seealso::
- *Create an OpenStack Environment* in *Fuel User Guide*

View File

@ -0,0 +1,79 @@
.. _install_change_admin_network_interface:
Change the Admin (PXE) network interface
----------------------------------------
By default, Fuel assigns ``eth0`` as a network interface for the Admin (PXE)
network. If you want to use the default network settings, skip this section.
However, some environments may require you to configure other network
interfaces for the Admin (PXE) network. If you plan to use a network interface
that is differnt from the default setting, change it before you install the
Fuel Master node.
.. warning::
Do not change the network interface assigned for the Admin (PXE) network
after you install the Fuel Master node.
**To change the Admin (PXE) network interface:**
#. In the Fuel Setup screen, select **Network Setup**.
#. Select ``eth0``.
#. Change **Enable interface** to **No**.
#. Click **Apply**.
Fuel disables ``eth0``.
#. Select a network interface that you want to use for Admin (PXE) network
traffic.
For example: ``eth1``.
#. Change **Enable interface** to **Yes**.
#. Configure network parameters for ``eth1``.
Default network parameters are:
* IP address: 10.20.0.2
* Netmask: 255.255.255.0
* Gateway: 10.20.0.1
#. Click **Apply**.
Fuel will now use ``eth1`` as a network interface for the Admin (PXE)
network.
#. In Menu, select **PXE Setup**.
#. Set the DHCP pool range and gateway.
#. Verify your configuration by clicking **Check**.
#. Proceed to :ref:`install_login_fuel_master_node`.
.. seealso::
- :ref:`install_configure_a_network_interface_for_fuel_web_ui`
.. _install_configure_a_network_interface_for_fuel_web_ui:
Configure a network interface for the Fuel web UI
-------------------------------------------------
You can configure a specific network interface through which users will access
the Fuel web UI.
**To configure a network interface for the Fuel web UI:**
#. In the Fuel Setup screen, select **Network Setup**.
#. Select an unassigned network interface.
#. Change **Enable interface** to **Yes**.
#. Enable DHCP.
#. Verify that the IP address, netmask, and gateway fields are empty.
#. Click **Apply**.
Fuel now uses the selected interface for the Fuel web UI.
#. Proceed to :ref:`install_login_fuel_master_node`.
.. seealso::
- :ref:`install_login_fuel_master_node_multiple_nics`

View File

@ -0,0 +1,20 @@
.. _install_download_iso:
Download the ISO image
----------------------
The Fuel ISO image includes Fuel software components, as well as the
latest release of OpenStack which is required to create your OpenStack
environment. Therefore, if you use Fuel, you do not need to download any
additional OpenStack components.
However, the Fuel ISO does not include the operating system packages. The Fuel
Master node dynamically downloads the packages from the configured software
repository.
**To download the ISO image:**
#. Go to the `Fuel project page <https://www.fuel-infra.org>`_.
#. Download the ISO to your computer.
#. Proceed to :ref:`install_prepare_install_media`.

View File

@ -0,0 +1,32 @@
.. _install_install_fuel_master_node:
Install the Fuel Master node
----------------------------
Before you install the Fuel Master node, complete the steps described in
:ref:`Before you install Fuel <install_before_you_install_fuel>`,
:ref:`Download the ISO image <install_download_iso>`, and
:ref:`Preparing an installation media <install_prepare_install_media>`.
**To install the Fuel Master node:**
#. Insert or mount through IPMI (or using any other remote control utility
supported by your hardware) the media with the Fuel ISO on the server
that will be your Fuel Master node.
#. Verify that the Fuel installation media is the first device in the boot
order.
#. Power on the server. The `Welcome to Fuel Installer` screen appears.
#. Select the installation media. If necessary, modify the boot settings by
pressing the Tab key to display the loader command line. Using this command
line, configure the IP address, default gateway, and DNS server settings of
the Fuel Master node.
#. Proceed to :ref:`Configure network parameters <install_set_up_fuel>`.
.. note::
You can install the Fuel Master node on VMware vSphere. For more information,
see: :ref:`Before you install Fuel on VMware vSphere <vsphere_intro>`.

View File

@ -0,0 +1,83 @@
.. _install_login_fuel_master_node:
Log in to the Fuel Master node
------------------------------
When Fuel completes the installation of the Fuel Master node, the Fuel Master
node boots automatically and the *Welcome to the Fuel server* message displays.
The message contains Fuel web UI and Fuel command-line interface default login
credentials.
.. warning::
Remove the installation media before booting the system.
You may damage or delete the entire environment
by booting the installation media once again accidentally.
This is especially important if you set the boot order
so that the USB or DVD drive boots before the hard disk.
Log in to the Fuel Master node for further configuration using one of
the following options:
* Log in to the Fuel web UI.
* Log in to the Fuel CLI.
You can perform most of the operations in both Fuel web UI and Fuel CLI.
However, for your convenience, we recommend that you use the Fuel web UI for
initial configuration.
**To log in to the Fuel web UI:**
#. In a web browser, type the IP address and port number that you have
assigned for the Fuel web UI in :ref:`Set up Fuel <install_set_up_fuel>`.
Fuel prompts you for the login credentials.
#. In a web browser, enter the Fuel UI login and password that you have
set for the Fuel web UI in :ref:`Set up Fuel <install_set_up_fuel>`.
If you use the default network settings, use the following values:
* IP address: ``https://10.20.0.2:8443/``
* Fuel UI login: ``admin``
* Fuel UI password: ``admin``
.. note::
The IP address must be reachable from the machine on which you open
the Fuel web UI URL.
.. warning::
For security reasons, change the default credentials for
the administrator account.
The Fuel web UI initial screen displays.
#. Proceed to :ref:`Boot the Fuel Slave nodes <install_boot_nodes>`.
**To log in to the Fuel CLI:**
#. In the Fuel Master node console, type the root login and password that you
have assigned in :ref:`Set up Fuel <install_set_up_fuel>`.
If you use the default settings, type the following login credentials:
* Login: ``root``
* Password: ``r00tme``
You can change the password using the :command:`passwd` command after
you log in.
.. warning::
For security reasons, change the default credentials for the root
account.
#. Alternatively, connect to the Fuel Master node using SSH.
#. Proceed to :ref:`Boot the Fuel Slave nodes <install_boot_nodes>`.
.. seealso::
- :ref:`Log in to the Fuel Master node with multiple NICs <install_login_fuel_master_node_multiple_nics>`

View File

@ -0,0 +1,26 @@
.. _install_login_fuel_master_node_multiple_nics:
Log in to the Fuel Master node with multiple NICs
-------------------------------------------------
If the server on which the Fuel Master node is installed has more than one
network interface card (NIC), you can access the Fuel web UI with a particular
NIC.
**To access the Fuel web UI with a particular NIC:**
#. Connect the NIC to the appropriate switch.
#. On the Fuel Master node, set an IP address for the NIC.
#. Use the IP address that you assigned to log in to the Fuel web UI.
For example: ``https://IP_YOU_ASSIGN:8443/``
.. note::
The tasks above do not change the default administrator network settings.
You can access the Fuel web UI using the URL displayed on the Fuel boot
screen.
.. seealso::
- :ref:`install_login_fuel_master_node`

View File

@ -0,0 +1,85 @@
.. _install_prepare_install_media:
Prepare an installation media
-----------------------------
After downloading the :ref:`Fuel ISO image <install_download_iso>`, you must
prepare the installation media by mounting the ISO or burning a DVD/USB
drive.
.. _install_create_dvd:
Create a DVD drive
------------------
You can create a DVD with the Fuel ISO to install Fuel on a virtual or
bare-metal hardware.
**To create a DVD drive:**
#. Select from the following options:
* For a remote installation, use a remote control utility to mount the
ISO image directly to the server's virtual DVD drive. For example:
* `IPMItool <http://sourceforge.net/projects/ipmitool/>`_
* HP Integrated Lights Out (iLO)
* Dell iDRAC
* For a bare-metal installation, burn the ISO image to a DVD drive using any
standard software. For example:
- *Linux*:
* `Xfburn <https://apps.ubuntu.com/cat/applications/precise/xfburn/>`_
* `Brasero <http://www.linuxfromscratch.org/blfs/view/svn/gnome/brasero.html>`_
- *Mac OS X*:
* Disk Utility (a commonly pre-installed application)
* `Burn <http://burn-osx.sourceforge.net/Pages/English/home.html>`_
- *Windows*:
* `ImgBurn <http://www.imgburn.com/>`_
* `InfraRecorder <http://infrarecorder.org/>`_
#. Proceed to the
:ref:`Fuel Master node installation <install_install_fuel_master_node>`.
.. _install_create_usb:
Create a USB drive with the Fuel ISO on a UNIX system
-----------------------------------------------------
After downloading the Fuel ISO image, you can use a USB flash drive to
install Fuel on your machine.
.. note:: Write the Fuel ISO image to the USB drive itself and not to one of
its partitions, if any. For example, if you have a USB ``/dev/sdc`` with
the ``/dev/sdc1`` and ``/dev/sdc2`` partititions, write the ISO to
``/dev/sdc``.
**To create a USB drive on a UNIX system:**
#. Plug in a USB drive to your machine.
#. Run the following command:
.. code-block:: console
# dd if=/path-to-your-ISO of=/path-to-your-USB
**Example:**
.. code-block:: console
# dd if=/home/user/fuel-isos/fuel-7.0.iso of=/dev/sdc
.. warning:: This operation wipes all the data you have
on the USB drive and places a bootable Fuel ISO
on it.
#. Proceed to
:ref:`Install the Fuel Master node <install_install_fuel_master_node>`.

View File

@ -0,0 +1,125 @@
.. _install_set_up_fuel:
Set up Fuel
-----------
During installation, Fuel prompts you to access the Fuel setup screen where you
can modify the default network and authentication parameters.
.. image:: /_images/deliverables/scr_fuel_setup.png
:width: 60%
:align: center
Typically, you want to modify network settings to meet the requirements of
your existing network infrastructure. Also, you must change the default Fuel
administrator password. Although you can change some of the network interface
settings after you install the Fuel Master node, we recommend that you
finalize network configuration before you install the Fuel Master node.
.. warning::
Do not modify settings of the Admin (PXE) network after you deploy the Fuel
Master node, because Fuel will lose the ability to PXE boot and manage
OpentStack environments.
If you are installing Fuel for testing purposes, you can keep the default
settings and proceed to :ref:`install_install_fuel_master_node`.
**To set up Fuel:**
#. Configure the following settings as required:
+--------------------------------------+----------------------------------+
| 1. Change the Fuel administrator | For security purposes, we |
| password. | strongly recommend that you |
| | change the Fuel administrator |
| | password during installation. |
+--------------------------------------+----------------------------------+
| 2. Modify the network interface | By default, Fuel assigns the |
| settings. | following network parameters to |
| | the Admin (PXE) network |
| | (``eth0``): |
| | |
| | * Subnetwork: 10.20.0.2/24 |
| | * Gateway: 10.20.0.1 |
| | |
| | Modify these settings |
| | according to the requirements of |
| | your existing network |
| | infrastructure. |
+--------------------------------------+----------------------------------+
| 3. Configure the Admin (PXE) network | By default, Fuel configures the |
| and a DHCP pool for the Fuel Slave| Admin (PXE) network on `eth0` and|
| nodes. | configures the following DHP pool|
| | settings: |
| | |
| | * DHCP pool start: 10.20.0.3 |
| | * DHCP pool end: 10.20.0.254 |
| | * DHCP gateway: 10.20.0.2 |
| | |
| | Modify these settings as needed. |
+--------------------------------------+----------------------------------+
| 4. Configure DNS and hostname. | Configure the DNS and hostname |
| | settings, if needed. If your Fuel|
| | Master node is not connected to |
| | the Internet, leave the External |
| | DNS field blank. |
+--------------------------------------+----------------------------------+
| 5. Configure the bootstrap image that| Fuel ISO includes the CentOS |
| Fuel will use to discover the Fuel| bootstrap image that Fuel uses |
| Slave nodes through PXE. | to discover the Fuel Slave nodes.|
| | Although CentOS is the default |
| | and preferred option, it may not |
| | include drivers for your |
| | hardware, therefore, you may want|
| | to use the Ubuntu bootstrap image|
| | instead. |
| | |
| | Some organizations may |
| | configure the Fuel Master node in|
| | a network protected by a |
| | firewall, |
| | so that the Fuel Master node may |
| | not have an access to the |
| | Internet. In this case, you can |
| | specify a repository located in |
| | the accessible network, HTTP or |
| | HTTPS, by adding proxy |
| | parameters in the Ubuntu |
| | repository field. To configure |
| | the Ubuntu repository mirror |
| | on a local host, use the |
| | ``fuel-createmirror`` script |
| | shipped with the Fuel ISO. |
| | |
| | For more information, see: |
| | :ref :`Set up local repository`. |
+--------------------------------------+----------------------------------+
| 6. Configure the network time | To avoid issues with the time |
| protocol. | settings inconsistency on the |
| | Fuel Master node and other |
| | servers in your IT environment, |
| | verify that the Fuel Master node |
| | uses correct NTP settings. |
+--------------------------------------+----------------------------------+
| 7. Change the root password. | For security reasons, change the |
| | default root password. Fuel will |
| | apply this password to all new |
| | OpenStack nodes. Existing |
| | OpenStack nodes will continue to |
| | use the old password. |
+--------------------------------------+----------------------------------+
| 8. Configure network settings using | You can configure all settings |
| shell. | available on the Fuel Setup |
| | screen using shell. |
| | Particularly, use shell to |
| | apply complex network |
| | configurations. |
+--------------------------------------+----------------------------------+
2. Proceed to :ref:`install_install_fuel_master_node`.
.. seealso::
- :ref:`Configure a network interface for the Fuel web UI
<install_configure_a_network_interface_for_fuel_web_ui>`
- :ref:`Change the Admin (PXE) network interface <install_change_admin_network_interface>`

View File

@ -0,0 +1,34 @@
.. _install_intro:
Install Fuel
============
This section describes how to install Fuel on virtual or
bare-metal hardware. During the installation, you deploy the Fuel Master node
on the selected hardware and boot the servers or virtual machines that are
dedicated as Fuel Slave nodes. However, you do not install an operating
system or OpenStack components on the Fuel Slave nodes just yet. After you
deploy the Fuel Master node, you create an OpenStack environment using the
Fuel web UI or Fuel CLI. The Fuel Master node provisions the dedicated Fuel
Slave nodes with the selected operating system, OpenStack or other
components and roles when you deploy an OpenStack environment.
If you install Fuel on VMware vSphere, see: : ref: `Installing Fuel on VMware¬
vSphere`.¬
¬
If you install Fuel for testing purposes, see: : ref: `Fuel QuickStart Guide`.
This section includes the following topics:
.. toctree::
:maxdepth: 2
install/install_before_you_install_fuel
install/install_download_iso
install/install_prepare_install_media
install/install_install_fuel_master_node
install/install_set_up_fuel
install/install_change_network_interface
install/install_login_fuel_master_node
install/install_login_fuel_master_node_multiple_nics
install/install_boot_slave_nodes

View File

@ -0,0 +1,43 @@
.. _intro_fuel:
Introduction to Fuel
~~~~~~~~~~~~~~~~~~~~
Fuel is an open-source software application that simplifies the deployment of
highly available OpenStack environments, as well as enables you to
manage your OpenStack environments after deployment.
Fuel provides a web user interface (WUI), as well as a command-line user
interface (CLI) and RESTful API for provisioning, configuration, and
management of OpenStack environments. A link to the Horizon OpenStack
Dashboard appears in the Fuel web UI after you deploy an OpenStack
environment.
Using Fuel you can:
- Deploy multiple highly-available OpenStack environments on virtual or bare
metal hardware.
- Configure and verify network configurations.
- Test interoperability between the OpenStack components.
- Easily scale your OpenStack environment by adding and removing nodes.
Fuel architecture includes:
Fuel Master node
A server with the installed Fuel application that performs initial
configuration, provisioning, and PXE booting of the Fuel Slave nodes, as
well as assigning the IP addresses to the Fuel Slave nodes.
Fuel Slave node
In the Fuel project terminology, a generic term that describes a server that
is provisioned by the Fuel Master node. A Fuel Slave node can be a
controller, compute, or storage node, among others. These terms are
interchangeable with the OpenStack terminology.
.. seealso::
- `Fuel Architecture
<https://docs.fuel-infra.org/fuel-dev/develop/architecture.html>`_

View File

@ -0,0 +1,35 @@
.. _intro_install_overview:
Overview of the installation process
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Deployment of an OpenStack environment requires extensive planning.
To ensure a successful deployment, review and understand the following
requirements and sequence of tasks that you must complete.
#. Plan your OpenStack environment according to the official OpenStack
guidelines and :ref:`Planning your environment <intro_planning>`.
#. Verify that your environment meets the recommendations in
:ref:`System requirements <sysreq_intro>`.
#. Verify your hardware using the
:ref:`Hardware checklist <preinstall_chklist_hardware_checklist>`.
#. Determine whether the server on which you plan to install the Fuel
Master node is connected to the Internet.
* If the server does not have an Internet
connection, then you must configure a local repository. For more
information, see: :ref:`Set up a local repository <install_set_up_fuel>`.
#. If you plan to install Fuel on VMware vSphere, verify that your environment
meets the :ref:`VMware vSphere prerequisites <vsphere_intro>`
#. Download and install Fuel as described in :ref:`Install Fuel <install_intro>`
or if you are installing on VMware vSphere in
:ref:`Install Fuel on VMware vSphere <vsphere_intro>`.
#. Install the Fuel plug-ins, if needed. See: :ref:`Plug-ins <fuel-plugins>`.

View File

@ -0,0 +1,33 @@
.. _intro_planning:
Planning your environment
~~~~~~~~~~~~~~~~~~~~~~~~~
Before you install Fuel and OpenStack, determine what type of
configuration addresses your business needs. You must understand
how OpenStack will integrate and communicate with existing components
in your IT infrastructure, as well as calculate resources required to process
estimated workloads.
If you are testing Fuel and OpenStack in a lab environment, you can
skip the planning and deploy the default configuration. However, for a
production environment, you must decide on the following:
* Network topology and IP address management plan
* Storage
* Number, type, and flavor of compute, controller, storage, and other nodes
* Monitoring facilities
* Additional components: Sahara and Murano
* Fuel plug-ins
This guide explains what OpenStack configurations you can deploy using Fuel,
as well as briefly describes guidelines and examples on how to plan resources
for your environment. However, we recommend that you read `OpenStack
Architecture Design Guide <http://docs.openstack.org/arch-design/content/>`__,
so you can better estimate your network, storage, and compute requirements.
.. seealso::
- :ref:`System requirements <sysreq_intro>`

View File

@ -0,0 +1,22 @@
.. raw:: pdf
PageBreak oneColumn
.. _intro_fuel_install:
Introduction to Fuel Installation
=================================
This section provides an overview of the Fuel installation
process. You can install Fuel on a server with an Internet connection or
on a server that is isolated from the Internet for security reasons. Depending
on your choice, the workflow differs.
This section includes the following topics:
.. toctree::
:maxdepth: 3
intro/intro_fuel_intro.rst
intro/intro_install_overview
intro/intro_planning_your_environment

View File

@ -0,0 +1,61 @@
.. _plugins_install_plugins:
Install a Fuel plugin
---------------------
The installation procedure is common for all plugins.
For more details about the plugin installation,
see the corresponding plugin documentation.
**To install a Fuel plugin:**
#. Install the Fuel Master node as described in
:ref:`Install the Fuel Master node <install_install_fuel_master_node>`.
#. Boot the Fuel Master node as described in
:ref:`Log in to the Fuel Master node <install_login_fuel_master_node>`.
#. Download a plugin from `Fuel Plugins
сatalog <http://stackalytics.com/report/driverlog?project_id=openstack%2Ffuel>`_.
#. Read a Plugin Guide to learn about prerequisites and limitations.
#. Define variables with values suitable for your environment to be used
during the plugin installation process or replace them in your command
line when appropriate.
.. code-block:: console
export FUEL_PLUGIN_FILE=fuel-plugin.rpm
export FUEL_MASTER_NODE=10.20.0.2
#. Copy the plugin to the Fuel Master node.
.. code-block:: console
scp ${FUEL_PLUGIN_FILE} root@:${FUEL_MASTER_NODE}:/tmp
#. Install the plugin by typing:
.. code-block:: console
ssh root@:${FUEL_MASTER_NODE} "fuel plugins --install /tmp/${FUEL_PLUGIN_FILE}"
#. Create an OpenStack environment as described in
`Create a new OpenStack environment` in the `Fuel User Guide`.
#. After completing the Create a new OpenStack environment wizard, click
:guilabel:`Settings` in the Fuel web UI.
#. Enable plugin in the Fuel web UI as described in the plugin documentation.
#. Configure and deploy your environment as described in
`Configure a new environment` in the `Fuel User Guide`.
.. seealso::
- Fuel plugins CLI
- `Fuel plugins catalog
<http://stackalytics.com/report/driverlog?project_id=openstack%2Ffuel>`__

View File

@ -0,0 +1,47 @@
.. _plugins_overview:
Fuel plugins overview
---------------------
Fuel provides plugins that you can use to extend the functionality
of your OpenStack environment and enable Fuel to work with various
third-party components and technologies.
Most of the Fuel plugins are developed by the OpenStack community
members, as well as by the companies who support OpenStack.
The Fuel plugins are distributed free of charge.
Fuel currently has the following plugins:
* Networking plugins
Fuel plugins such as Firewall-as-a-Service and VPN-as-a-Service,
as well as plugins that enable Fuel to work with enterprise-grade
SDN and virtual networking.
* Operations management plugins
Enable Fuel to work with the third-party monitoring tools such as
Zabbix and Grafana.
* Storage plugins
Extend Fuel functionality by enabling OpenStack to use enterprise-class
storage platforms as a Cinder backend.
* Compute plugins
Extend the Fuel compute functionality. For example, the XenServer plugin
enables you to use the XenServer hypervisor as a compute provider.
.. note::
You must install all Fuel plugins that affect core Fuel functionality,
such as ML2 drivers, SDN, or storage plugins, before you deploy an
OpenStack environment. Application-level plugins, such as LMA, Zabbix,
and so on can be installed later.
`Fuel Plugins SDK <https://wiki.openstack.org/wiki/Fuel/Plugins>`__ enables
you to develop virtually any plugin that you need to meet your environment
prerequisites.
.. seealso::
- `Fuel Plugins catalog <http://stackalytics.com/report/driverlog?project_id=openstack%2Ffuel>`__

View File

@ -0,0 +1,17 @@
.. _plugins_prerequisites:
Prerequisites
-------------
When planning to deploy an environment with Fuel plugins, consider the
following:
* If you already have an environment that you want to upgrade, see
*Upgrade Fuel*.
* Install plugin on Fuel 6.1 or later.
* Read additional requirements provided by the selected plugin.
.. seealso::
- `Fuel plugins catalog
<http://stackalytics.com/report/driverlog?project_id=openstack%2Ffuel¬>`__

View File

@ -0,0 +1,29 @@
.. _plugins_upgrade_uninstall_plugin:
Uninstall a plugin
------------------
Fuel does not support upgrades for plugins. The old plugin versions
may not be compatible with the new version of Fuel. Therefore, you must
uninstall the Fuel plugins before upgrading Fuel.
**To uninstall a plugin:**
#. Log in to the Fuel Master node CLI.
#. Create an ``uninstall.sh`` script with the following content::
#!/bin/bash
set -eux
echo uninstall > /tmp/myplugin_uninstall
where ``myplugin`` is the name of your plugin.
#. Put the ``uninstall.sh`` script in your plugin folder.
#. Type::
fuel plugins --remove myplugin
.. seealso::
- `Fuel Plugin Wiki <https://wiki.openstack.org/wiki/Fuel/Plugins>`_

View File

@ -0,0 +1,25 @@
.. _plugins_view_plugins:
View Fuel plugins
-----------------
You can view the list of installed plugins in the Fuel Web UI, as well as in
the Fuel CLI.
To view the list of installed plugins using the Fuel Web UI, click the
:guilabel:`Plugins` button. It is located at the top of the screen at the
Fuel level.
You can find the following information for every plugin:
* version
* description
* homepage
* authors
* licenses
* releases
.. seealso::
- Fuel plugins CLI

View File

@ -0,0 +1,22 @@
.. raw:: pdf
PageBreak oneColumn
.. _fuel-plugins:
Fuel Plugins
~~~~~~~~~~~~
You can extend Fuel functionality by installing the plugins
that companies and individual contributors develop for Fuel.
This section includes the following topics:
.. toctree::
:maxdepth: 3
plugins/plugins_overview
plugins/plugins_prerequisites
plugins/plugins_install_plugins
plugins/plugins_view_plugins
plugins/plugins_uninstall_upgrade

View File

@ -0,0 +1,62 @@
.. index:: Hardware configuration, confirm
.. _preinstall_chklist_hardware_checklist:
Hardware checklist
------------------
Before you install the Fuel Master node, verify that you have configured your
hardware correctly. If you install Fuel on virtual hardware for testing
purposes, skip this section.
You must configure all items from the list below before you install Fuel.
**Hardware checklist**
+--------------------------------------------------------+--------------+
| Item to confirm | Status [tick |
| | if done] |
+========================================================+==============+
| The Fuel server has an IPMI or out-of-band management | |
| system that you can access. | |
+--------------------------------------------------------+--------------+
| The Fuel server hardware can boot the Fuel ISO | |
| from a DVD, USB flash drive, or IPMI remote media. | |
+--------------------------------------------------------+--------------+
| The server on which you plan to install the Fuel Master| |
| node can access all nodes through the L2 management | |
| network. | |
+--------------------------------------------------------+--------------+
| The Admin (PXE) network does not have a configured DHCP| |
| server. Fuel acts as a DHCP server for Fuel Slave | |
| nodes configured to boot using PXE. | |
+--------------------------------------------------------+--------------+
| The Spanning Tree Protocol (STP) is disabled on switch | |
| ports connected | |
| to the node servers ports or the switch ports are set | |
| to the edge/portfast mode. The edge/portfast mode is | |
| the preferred configuration. It allows the ports to | |
| forward immediately when they are linked up, but | |
| listens for network loops for 15 seconds. | |
+--------------------------------------------------------+--------------+
| The switch assigned for the Admin network does not have| |
| any tagged VLANs configured. | |
+--------------------------------------------------------+--------------+
| The node servers are set to network boot using PXE. | |
+--------------------------------------------------------+--------------+
| The node servers have hardware virtualization | |
| enabled in BIOS. | |
+--------------------------------------------------------+--------------+
| You have a method to reboot node servers (remotely or | |
| on-site). | |
+--------------------------------------------------------+--------------+
| The network equipment supports VLANs. | |
+--------------------------------------------------------+--------------+
| Your network switches support tagged ports. | |
| You need tagged ports in order to | |
| use Neutron with VLAN segmentation. | |
+--------------------------------------------------------+--------------+
| You have permit rules on TCP ports 22 and 8000 on the | |
| firewall for the Fuel servers IP address (to access | |
| the Fuel server from your PC).  | |
+--------------------------------------------------------+--------------+

View File

@ -0,0 +1,18 @@
.. raw:: pdf
PageBreak oneColumn
.. _preinstall_intro:
Pre-installation checklists
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Before you install Fuel, verify that you configured your
environment for the installation.
This section includes the following topics:
.. toctree::
:maxdepth: 3
preinstall/preinstall_hardware_checklist

View File

@ -0,0 +1,9 @@
.. _sysreq_addtional_components:
Additional components
---------------------
If you plan to install additional OpenStack programs, see the system
requirements for additional components:
* :ref:`sysreq_ironic_prereq`

View File

@ -0,0 +1,23 @@
.. _sysreq_master_node_hardware_recs:
Fuel Master node hardware requirements
--------------------------------------
When planning hardware for the Fuel Master node, verify that your hardware
meets the following minimum requirements:
For a production environment:
* Quad-core CPU
* 4 GB RAM
* 10 Gigabit network port
* 128 GB SAS Disk
* IPMI access through an independent management network
For a testing environment:
* Dual-core CPU
* 2 GB RAM
* 1 Gigabit network port
* 50 GB disk
* Physical console access

View File

@ -0,0 +1,21 @@
.. _sysreq_fuel_master_node_network_reqs:
Fuel Master Node network requirements
-------------------------------------
To deploy the Fuel Slave nodes on which you will run your Controller,
Compute, Storage or other nodes, the Fuel Master node must have access to the
Internet.
When you deploy the Fuel Slave nodes, the Fuel Master node connects to the
preconfigured repositories through the Internet and installs the selected
operating system and the OpenStack packages on the nodes.
For security reasons, you may not want to connect the Fuel Master node to
the Internet. In this case, set up a local repository with the required
installation packages and configure these repositories on the Fuel Master
node.
.. seealso::
- :ref:`upgrade_local_repo`

View File

@ -0,0 +1,45 @@
.. _sysreq_fuel_slave_node_hw_recs:
Fuel Slave nodes hardware recommendations
-----------------------------------------
Determining the appropriate hardware for the slave nodes depends on the node
type, the workloads that you plan to run on the nodes, and whether you combine
different OpenStack components on one node or run them separately. Typically,
you need a two-socket server with the CPU, memory, and disk space that meet
your project requirements.
Read the `OpenStack Architecture Design Guide` for recommendations on how
to plan an OpenStack deployment.
General guidelines for the Fuel Slave nodes:
* Controller nodes
Use at least three controller nodes for high availability.
High availability is recommended for all production environments. However,
you can start with a single controller node for testing purposes and add
more nodes later. The controller nodes must form a quorum. Therefore, for
all deployments, the total number of controller nodes must be odd. Further
resource scaling depends on your use case and requires extensive assessment
of your environment and business needs.
* Compute nodes
The number and hardware configuration of the compute nodes depend on the
following:
* Number of virtual machines
* Applications that you plan to run on these virtual machines
* Types of workloads
* Storage nodes
The number and capacity of the storage nodes highly depend on the type of
the storage, redundancy, and workloads that you run on the compute
nodes. Therefore, the storage configuration for every deployment will
vary significantly.
.. seealso::
- `OpenStack Architecture Design Guide
<http://docs.openstack.org/arch-design/content/technical-considerations-general-purpose.html>`__
- `OpenStack Operations Guide
<http://docs.openstack.org/openstack-ops/content/>`_
- :ref:`sysreqs_sample_target_node_config`

View File

@ -0,0 +1,16 @@
.. _sysreq_hw_intro:
Hardware requirements
---------------------
Planning hardware requirements for an OpenStack environment is a complex task
that requires analysis of the applications that you plan to run in your cloud,
as well as understanding how your cloud will expand over time. Therefore, the
hardware requirements for Fuel Slave nodes will differ for each use case.
However, hardware requirements for Fuel Master node are identical for all
deployments.
.. seealso::
- :ref:`sysreq_master_node_hardware_recs`
- :ref:`sysreq_fuel_slave_node_hw_recs`

View File

@ -0,0 +1,63 @@
.. _sysreq_ironic_limitations:
Bare Metal service limitations
------------------------------
When you deploy your environment using Fuel with Ironic, the OpenStack
environment has the following limitations:
.. list-table:: **Limitation for an OpenStack environment with Ironic**
:widths: 10 25
:header-rows: 1
* - Category
- Description
* - Network
- * Neutron with VLAN segmentation is the only supported networking
option.
* - Storage
- * Ironic does not support attaching or booting from the volumes stored
in Cinder.
* Ironic requires a swift-compatible object storage. You can use
Swift or RADOS Gateway.
* - Security
- * No tenant-level network separation is supported for physical machines
on which you deploy instances. All physical machines are visible to
all tenants and to each other on the physical network level.
* Neutron security groups do not apply to instances deployed on
physical machines.
* - Virtualization platform
- VMware vCenter as a hypervisor is not supported.
* - Fuel plug-ins
- Ironic supports all Fuel plug-ins as long as their requirements do not
interfere with ironic limitations. For example, if a plug-in requires
you to configure any other networking option but Neutron with VLAN
segmentation, you cannot use this plug-in with ironic.
* - Management
- * Auto-discovery is not supported.
Ironic cannot automatically discover the physical machines that you
will use to create instances. Therefore, you must have description of
the server hardware available including CPU, RAM, disks, MAC
addresses, and so on to manually discover them. You must also have
information required to configure power and BIOS settings, such as
IPMI address or FQDN, as well as the IPMI user name and password with
administrator privileges for IPMI.
* Horizon is partially supported.
Although you can launch an instance on a physical machine using
Horizon, you must perform all other operations with physical nodes
through APIs or CLI.
Many operations that are typically supported for virtual
machines, such as pausing and resuming, are not supported for
physical machines. However, they are still present in the Horizon UI.
* Only ``admin`` can manage operations with Ironic.
Only an OpenStack user with the ``admin`` role can operate the
Ironic service.

View File

@ -0,0 +1,58 @@
.. _sysreq_ironic_prereq:
Prerequisites for the OpenStack bare-metal service
--------------------------------------------------
Before you deploy an OpenStack environment, you must verify that your
environment meets the following network, hardware, and software prerequisites
required to succesfully deploy and use the OpenStack Bare Metal service.
**Network prerequisites:**
* Configure a flat network that you will use for the nodes on which you run
``ironic``. This network will appear as *baremetal* in the Fuel web UI.
* Prepare the nodes on which you plan to deploy ``ironic`` by configuring the
following:
* A separate network interface for the *baremetal* network.
You must assign a separate network interface or a VLAN for the
*baremetal* network on the controller node. If you need to configure
this network interface only on some nodes, such as nodes with ``ironic``
and ``controller`` roles, use network templates.
* Access to the IPMI network
Since Ironic provides out-of-band management through Intelligent
Platform Management Interface (IPMI), the nodes on which you deploy
Ironic must have access to the IPMI network with bare-metal servers that
you will use for provisioning.
* Verify that the network interfaces of the physical servers that connect to
the IPMI network have either static IP addresses or, if you use DHCP, the
DNS service is enabled in the IPMI network and the physical servers have
stable FQDN host names.
**Hardware prerequisites:**
Follow the general guidelines for hardware prerequisites described in the
*System Prerequisites* section in the *Fuel Installation Guide*.
Fuel includes special drivers for Ironic and the default bootstrap images
that Fuel uploads to Glance when you create an OpenStack environment. If you
plan to use these default configurations, the bootstrap images are based on
the image Fuel uses to provision the OpenStack nodes. However, if you plan to
use different drivers and bootstrap images, you must verify that the bootstrap
image contains drivers that support your hardware.
**Software prerequisites:**
Each Ironic driver has requirements for the images that you will use to
provision instances on physical machines. If you use default Fuel drivers, see
*Image requirements* in the Fuel User Guide.
.. seealso::
- :ref:`sysreq_ironic_limitations`
- *Using networking templates* in *Fuel User Guide*

View File

@ -0,0 +1,116 @@
.. _sysreqs_network_reqs:
Network requirements
--------------------
Your OpenStack environment must have an efficient, scalable, and manageable
network infrastructure that addresses your immediate business needs and
future growth. All nodes must communicate with each other through
allocated networks. Network configuration of your Fuel Slave nodes depends
significantly on the network topology that you select.
Fuel deploys standard network topologies supported by Neutron, as well as
extended Neutron's networking functionality using such plugins as ML2 and so
on. Neutron is a flexible network manager that enables you to create
complex network configurations. Neutron provides both level 2 and 3
network virtualization, as well as IP address management (IPAM). In addition,
Neutron has multiple open-source and enterprise-class plugins that enable
interoperability with such networking technologies as virtual switches and
software defined networking (SDN).
.. note::
Since the introduction of Neutron, nova-network development efforts
have been gradually reduced and may be deprecated in the future
OpenStack releases. Neutron is recommended in all new deployments.
Fuel can deploy the following Neutron network topologies:
Neutron with VLAN segmentation
Similar to nova-network VLAN Manager, in Neutron's VLAN segmentation
topology a VLAN is assigned to each tenant. IP subnets and ranges in
different tenants can overlap. This is the default networking option
in Fuel. The disadvantage of this option is that you must configure your
networking equipment, as well as provide the total number of tenants,
before configuring the network.
If you select Neutron with VLAN segmentation, you must have at least 3
network interfaces (NICs).
**Neutron with VLAN segmentation examples:**
+----------+------------------------+-------------------------+
| | 3 NICs | 4 NICs |
+----------+------------------------+-------------------------+
| eth0 | Untagged port for | Port for Administrative |
| | Administrative network | network |
+----------+------------------------+-------------------------+
| eth1 | Port for the following | Port for the following |
| (br-eth1)| networks: | networks: |
| | | |
| | * Public/Floating | * Public/Floating |
| | * Management | * Management |
| | * Storage | |
+----------+------------------------+-------------------------+
| eth2 | Port for Private | Port for Private network|
| (br-eth2)| network. The number of | with defined VLAN ID |
| | VLANs depends on the | range |
| | number of tenant | |
| | networks with a | |
| | continuous range. | |
+----------+------------------------+-------------------------+
| eth3 | N/A | Port for Storage |
| (br-eth3)| | network |
+----------+------------------------+-------------------------+
Neutron with tunneling segmentation
You can choose between VXLAN and GRE segmentation, with VXLAN being a
default and preferred option. In both VXLAN and GRE segmentations,
tenant traffic is isolated by encapsulation the traffic in tunnels.
Both VXLAN and GRE segmentation is more flexible in terms of the number
of tenants (supports up to 65534 tenants). Network hardware configuration
is significantly simpler compared to the VLAN segmentation and does not
need to be synchronized with your L2 switch configuration. Both VXLAN
and GRE support subnet overlapping in different tenants. However, the
disadvantage of using GRE segmentation is that GRE encapsulation
decreases the network speed between the instances, as well as increases
the CPU usage on the compute and controller nodes.
.. note::
To use VXLAN segmentation, your network hardware must support VXLAN
segmentation.
You can configure GRE segmentation using CLI. For more information, see:
*Fuel CLI Reference*.
**Neutron with GRE segmentation examples:**
+----------+-------------------+-------------------+---------------------+
| | 2 NICs | 3 NICs | 4 NICs |
+----------+-------------------+-------------------+---------------------+
| eth0 | Untagged port for | Untagged port for | Untagged port for |
| | Administrative | Administrative | Administrative |
| | network | network | network |
+----------+-------------------+-------------------+---------------------+
| eth1 | Port for the | Port for the | Port for Management |
| (br-eth1)| following | following | network |
| | networks: | networks: | |
| | | | |
| | * Public/Floating | * Public/Floating | |
| | * Management | * Management | |
| | * Storage | | |
+----------+-------------------+-------------------+---------------------+
| eth2 | N/A | Port for Storage | Port for Public/ |
| (br-eth2)| | network | Floating network |
+----------+-------------------+-------------------+---------------------+
| eth3 | N/A | N/A | Port for Storage |
| (br-eth3)| | | network |
+----------+-------------------+-------------------+---------------------+
Routing recommendations for Neutron networking topologies:
* Public network: use the default routing through the router.
* Management network: use management network to access your management
infrastructure (L3 connectivity, if necessary).
* Administrative network or only the Fuel Master node: must have the Internet
access through a dedicated NIC.
* Storage and Private networks (VLANs): isolate from other networks.

View File

@ -0,0 +1,40 @@
.. _sysreqs_sample_target_node_config:
Sample hardware configuration for Fuel Slave nodes
--------------------------------------------------
The example provided in this section is a general-purpose medium-size
hardware configuration that you can use for a variety of OpenStack
installations and later moderately scale to accommodate
growing requirements of your environment.
.. note::
This example is not a best practice document of how to design an
OpenStack environment. The purpose of the example is to help
OpenStack administrators to understand how to plan an installation
and demonstrate how an OpenStack environment may look.
The sample OpenStack environment includes:
+--------------------------+-----------------------------+
| Number of servers | 12 |
| | The servers include: |
| | |
| | * 1 Fuel Master node |
| | * 3 Controller nodes |
| | * 3 Storage nodes |
| | * 5 Compute nodes |
+--------------------------+-----------------------------+
| Network | Neutron, using VLAN or GRE |
| | topology |
+--------------------------+-----------------------------+
| Storage | Ceph as back end for Cinder |
| | Glance and Nova (ephemeral |
| | storage) |
+--------------------------+-----------------------------+
| Additional Components | No additional components. |
| | If you want to install |
| | Ceilometer with the MongoDB |
| | database, you must add three|
| | more servers. |
+--------------------------+-----------------------------+

View File

@ -0,0 +1,24 @@
.. _sysreqs_sample_target_node_config_compute:
Compute nodes
-------------
Your virtual machines are hosted on the compute nodes; therefore,
you must allocate enough resources to run these virtual machines.
Each compute node must include:
+---------------+----------------------------------+
| CPU | Dual-socket CPU with a minimum |
| | of 4 cores per socket |
+---------------+----------------------------------+
| RAM | 64 GB |
+---------------+----------------------------------+
| Storage | Hardware RAID 1 controller with |
| | at least 500 GB capacity for |
| | the host operating system disk |
+---------------+----------------------------------+
| Network | * For testing: 2 x 1 Gbit/s NICs |
| | * For production: 2 x 10 Gbit/s |
| | NICs |
+---------------+----------------------------------+

View File

@ -0,0 +1,34 @@
.. _sysreqs_sample_target_node_config_controller:
Controller nodes
----------------
In this example, we use Ceph as a back end for ephemeral storage.
Therefore, in addition to the basic OpenStack components and a MySQL database,
controller nodes require sufficient resources to run Ceph monitors.
Each controller node must include:
+--------------+-----------------------------------+
| CPU | 2 CPUs with at least six physical |
| | cores each |
+--------------+-----------------------------------+
| RAM | * For testing: 2 GB |
| | * For production: |
| | |
| | * 24 GB (minimum) |
| | * 64 GB for deployments of |
| | 1000 VMs or more |
+--------------+-----------------------------------+
| Network | * For testing: 2 x 1 Gbit/s NICs |
| | * For production: 2 x 10 Gbit/s |
| | NICs |
+--------------+-----------------------------------+
| Storage | Hardware RAID 1 with at least 1 TB|
| | formatted capacity for the host |
| | host operating system disk |
| | |
| | Larger disks may be warranted |
| | depending on the expected database|
| | and log storage requirements. |
+--------------+-----------------------------------+

View File

@ -0,0 +1,38 @@
.. _sysreqs_sample_target_node_config_storage:
Storage nodes
-------------
We recommend that you separate Ceph nodes for scalability and robustness.
The hardware estimate provided below is based on the requirement of 0.5 cores
per Ceph-OSD CPU and 1 GB of RAM per 1 TB of Ceph-OSD space. You can configure
all Ceph storage and journal hard disks in JBOD (Just a Bunch of Disks) mode
on the RAID controller or plug them directly to the available SATA or SAS ports
on the mainboard.
Each storage node must include:
+------------------------+---------------------------------+
| CPU | Single-socket CPU with at least |
| | 4 physical cores |
+------------------------+---------------------------------+
| RAM | 24 GB |
+------------------------+---------------------------------+
| Storage | RAID 1 controller with at least |
| | 500 GB capacity for the host |
| | operating system disk |
| | |
| | For production installations, |
| | set the Ceph object replication |
| | factor to 3 or greater. |
+------------------------+---------------------------------+
| Network | * For testing: 2 x 1 Gbit/s NICs|
| | * For production: 2 x 10 Gbit/s |
| | NICs |
+------------------------+---------------------------------+
| Storage | * 18 TB for Ceph storage |
| | (6 x 3 TB) |
| | * 1-2 x 64 GB SSDs or more, for |
| | the Ceph journal |
+------------------------+---------------------------------+

View File

@ -0,0 +1,37 @@
.. _sysreq_storge_reqs:
Storage requirements
--------------------
When planning storage for your OpenStack environment, understand the
difference between the two types of storage that OpenStack uses:
persistent and ephemeral.
The nova-compute service manages ephemeral storage that is used as temporary
storage for the operating system of virtual machine instances. When you
delete an instance, nova-compute deletes the ephemeral storage as well.
If you do not select any additional storage options, the virtual machine
volumes will be stored on the local disks of the compute nodes, in the
virtual storage partition. However, if you enable Ceph RBD back end for
ephemeral volumes, nova-compute stores virtual machine volumes in Ceph.
Persistent storage is the storage that exists outside an instance, in contrast
to ephemeral storage.
Fuel deploys storage for the following types of persistent data:
* Glance, for image data, which can use either Swift or Ceph RBD as a
storage back end.
* Cinder, for block data, which can use either LVM or Ceph RBD as a
storage back end.
* Ceph RadosGW, for object storage, with Ceph RBD as storage back end.
.. note::
Fuel plugins may provide additional storage options. For more information,
see the
`OpenStack Driverlog for the Fuel project <http://stackalytics.com/report/driverlog?project_id=openstack%2Ffuel>`_.
.. seealso::
- `Storage Decisions
<http://docs.openstack.org/openstack-ops/content/storage_decision.html>`_

View File

@ -0,0 +1,31 @@
.. _sysreq_intro:
System requirements
~~~~~~~~~~~~~~~~~~~
This section describes how to configure hardware nodes to
accommodate your OpenStack workloads. Since there are many possible use cases
for an OpenStack environment, the number and configurations of your servers
will also vary. While this section provides clear hardware requirements for the
Fuel Master node, it can only provide guidelines on how to configure the Fuel
Slave nodes. For reference, a sample hardware configuration of
a medium-sized OpenStack environment is described at the end of this section.
This section includes the following topics:
.. toctree::
:maxdepth: 3
sysreq/sysreq_hw_intro
sysreq/sysreq_fuel_master_node_hw_requirements
sysreq/sysreq_fuel_slave_node_hw_recs
sysreq/sysreq_network_requirements
sysreq/sysreq_fuel_master_node_network_reqs
sysreq/sysreq_storage_reqs
sysreq/sysreq_additional_components
sysreq/sysreq_ironic_prereq
sysreq/sysreq_ironic_limitations
sysreq/sysreq_sample_configuration
sysreq/sysreq_sample_configuration_controllers
sysreq/sysreq_sample_configuration_compute
sysreq/sysreq_sample_configuration_storage

View File

@ -0,0 +1,181 @@
.. _upgrade_apply_patches:
Apply patches
-------------
You can apply only the patches you need one by one or you can
apply all accumulated patches in one go.
The documentation for each patch is available in the corresponding
release notes.
.. note:: Maintenance Updates are only available online. Currently
there is no option to run these updates from a local
repository.
Check each patch item and proceed with the instructions.
**To patch the Fuel Master node:**
#. Log in to the Fuel Master node.
* If you use a local repository, update it by typing::
fuel-createmirror -M
#. Run the command specified in the documentation to download and install the patch.
**To patch a Fuel Slave node:**
#. Run the command specified in the documentation to download and
install the patch.
**Apply all accumulated changes in one go:**
Before starting the update, back up all sensitive data that
can be changed during the the whole lifetime of your environment
and the Fuel Master node. We recommend to apply the updates to one
node at a time, so that you can interrupt the update procedure whenever
an issue occurs.
If you have configured any custom repositories, Fuel will use fetch
the upgrade packages from these repositories.
.. note::
This set of actions should be applied carefully and with
consideration. It is strongly recommended that you do this on your
test staging environment before applying the updates to production.
Patch the Fuel Master node
--------------------------
#. Back up your data with dockerctl backup. This will save the data
to ``/var/backup/fuel/``.
#. Run ``yum update``.
#. Run ``dockerctl destroy all``.
#. Run ``dockerctl start all``.
#. Wait for the new containers deployment to finish.
Patch an Ubuntu slave node
--------------------------
#. Run ``apt-get update``.
#. Run ``apt-get upgrade``.
#. Apply all the additional configuration options as described in the
supporting documentation.
#. Reboot the node.
Apply Puppet changes on a slave node
------------------------------------
You may want to apply all changes on a slave node or run a single
granular task so that Fuel Puppet changes take effect.
**To run a complete Puppet cycle on a Fuel Slave node:**
#. Update fuel-libraryX.X on Fuel Master ``yum update``
#. Run ``fuel node --node NODE_ID --deploy``
**To update Puppet manifests and apply a single task:**
#. Update fuel-libraryX.X on Fuel Master ``yum update``
#. Run ``fuel node --node node-XX --task rsync_core_puppet hiera globals TASK``
.. note::
The tasks rsync_core_puppet, hiera, and globals are required for
processing any Puppet changes.
**Verify a patch:**
Verify a patch on the Fuel Master node
--------------------------------------
To verify the packages on the Fuel Master node:
#. Log in to the Fuel Master node CLI.
#. Type:
::
yum clean expire-cache
yum -y update
Verify a patch on a Fuel slave node
-----------------------------------
To verify the packages are up-to-date on the Fuel Slave nodes:
#. Log in to the Fuel Master node CLI.
#. Update the list of available packages::
apt-get update
#. Update all packages::
apt-get dist-upgrade
#. Log in to the Fuel Master node GUI:
#. Click :guilabel:`Support`.
#. Generate and download a diagnostic snapshot by clicking
:guilabel:`Generate Diagnostic Snapshot`.
The Fuel Master node generates ``ubuntu_installed_debs.txt``.
#. Analyze ``ubuntu_installed_debs.txt`` to verify the versions of the packages.
Additionally, you can analyze the ``ubuntu_repo_list.txt`` file to verify
the repositories.
**Roll back a patch:**
.. note::
The rollback instructions listed here are for advanced administrators.
If you are not sure how to plan and execute the rollbacks,
your best option is to contact `Mirantis support <https://www.mirantis.com/services/enterprise-support-services/>`__.
Roll back the Fuel Master node
------------------------------
#. Roll back the packages on the Fuel Master node.
`Refer to this article <https://access.redhat.com/solutions/64069>`__ as an example.
#. Roll back all the changes to the configuration you made when applying
the patching instructions.
#. Run ``dockerctl destroy all``.
#. Run ``dockerctl start all``.
#. Wait for bootstrap to complete.
Roll back an Ubuntu slave node
------------------------------
You must identify the packages to roll back and where to get
their specific versions, install the packages and roll back the
changes to the configuration.
**To roll back an Ubuntu slave node:**
#. Evacuate all the running resources from the node.
#. Make sure no new workloads are scheduled to the node: Put nova
services in maintenance, turn on Pacemaker maintenance mode.
#. Look up the packages you want to roll back in ``/var/log/apt/history.log``
and ``/var/log/dpkg.log``.
#. Figure out where to get the old package version. Run ``apt-cache policy``.
#. Figure out if the old package version is available locally.
#. If it is, install these versions using dpkg. Otherwise, check the
snapshots of previous repositories on
`http://mirror.fuel-infra.org/mos/snapshots` and pick the
repository that contains the packages you need.
#. Add this repository to the environment configuration.
#. On the Fuel Master node run::
fuel node --node-id <comma_separated_list_of_nodes_you_want_to_update_repo> \
--tasks upload_core_repos
This will propagate the new repos configuration.
#. Install the packages with specific versions::
apt-get install <pkg1>=<ver1> <pkg2>=<ver2>
#. Roll back all the changes to the configuration you made when applying
the patching instructions.
#. Reboot the node.

View File

@ -0,0 +1,122 @@
.. _upgrade-patch-top-ug:
Upgrade the Fuel Master node
----------------------------
If you have a functional Fuel installation, you can
upgrade the Fuel software to the latest version
without reinstalling your environments.
.. note::
Upgrades are not supported for Fuel 4.x or earlier. If you use Fuel 4.x
or earlier, you must install new instance of Fuel and deploy your
environments from scratch.
After you upgrade Fuel, you can only deploy new environments of the
corresponding Fuel version. Environments deployed using older versions
of Fuel will remain operational.
**To upgrade the Fuel Master node:**
#. Verify that no installations are in progress in any of your OpenStack
environments.
#. Download and install the ``fuel-octane`` package using the ``yum install``
command:
.. code-block:: console
$ yum install fuel-octane
#. Back up the configuration of
the Fuel Master node to an archive:
.. code-block:: console
octane fuel-backup --to <path-to-archive> --admin-password <admin-password>
**Example:**
.. code-block:: console
$ octane fuel-backup --to /tmp/fuel-backup.7.0.tar.gz --admin-password admin
#. Back up package repositories and other binary artifacts from the Fuel
Master node:
**Example:**
.. code-block:: console
$ octane fuel-repo-backup --to /tmp/fuel-repo-backup.7.0.tar.gz
#. Copy the backup files to a secure external location, such as
a removable USB drive or network server. If you copy the files to
a network server, use SSH.
.. note::
When you reinstall the Fuel Master node, all configuration files are
deleted. Therefore, if you fail to back up the Fuel Master node and
repository configuration files, you will not be able to manage the
OpenStack environments created by the old version of Fuel.
#. Power off the Fuel Master node.
#. Install the latest version of the Fuel Master node as described in
:ref:`install_intro`.
.. note::
The new Fuel Master node must have the same IP address as the original
Fuel Master node. Otherwise, you cannot restore the configuration from
the backup.
#. Copy the backup files to the location on the new Fuel Master node.
For example, in the ``/tmp`` directory.
#. Log in to the new Fuel Master node.
#. Install the ``fuel-octane`` package:
.. code-block:: console
$ yum install fuel-octane
#. Restore the configuration of the original Fuel Master node and the OpenStack
environments:
.. code-block:: console
$ octane fuel-restore --from /tmp/fuel-backup.7.0.tar.gz
#. Restore repositories and binary artifacts from the old version:
**Example:**
.. code-block:: console
$ octane fuel-repo-restore --from /tmp/fuel-repo-backup.7.0.tar.gz
.. warning::
The Fuel Master node must have at least 2 GB of RAM
to decompress the ``gzip`` upgrade archive.
When Fuel completes the upgrade, the *New Release available* message appears
in the :guilabel:`Releases` tab.
#. If you want to use CentOS-based bootstrap, rebuild the bootstrap image:
.. code-block:: console
$ octane update-bootstrap-centos
#. Reboot all nodes that are in the ``Discover`` status.
.. seealso::
- :ref:`Configure a bootstrap image <install_configure_bootstrap>`.

View File

@ -0,0 +1,31 @@
.. _upgrade-internals:
Overview of the Fuel upgrade process
------------------------------------
The upgrade is implemented with three upgrade engines, which are python
modules:
* **Host system engine:**
#. Copies new repositories to Fuel Master node.
#. Installs a package and all the required dependencies such as
Puppet manifests, bootstrap images, provisioning images etc.
* **Docker engine:**
#. Points the supervisor to a new directory with the configuration
files. No containers are started by the supervisor at this time.
#. Stops old containers.
#. Uploads new Docker images.
#. Runs containers one by one.
#. Generates new supervisor configuration files.
#. Verifies the services running in the containers.
* **OpenStack engine:**
#. Installs all data required for OpenStack patching.
#. Adds new releases using the Nailgun REST API.
This allows the full list of OpenStack releases to be displayed
in the Fuel web UI.

View File

@ -0,0 +1,77 @@
.. _upgrade_local_repo:
Set up a local repository
-------------------------
Fuel downloads the OpenStack and operating system packages
from the predefined repositories on the Fuel Master node.
If your Fuel Master node does not have an Internet connection,
you must configure a local repository mirror with the required
packages and configure Fuel to use this repository.
You can set up a local repository in the Fuel web UI
or through Fuel CLI using the ``fuel-createmirror`` script.
**To set up a local repository in the Fuel web UI**
#. In the Fuel web UI, navigate to the :guilabel:`Settings` tab
and then scroll down to the :guilabel:`Repositories` section.
#. Change the path under :guilabel:`URI`.
**To set up a local repository with the ``fuel-createmirror`` script**
#. Log in to the Fuel Master node CLI.
#. Run the ``fuel-createmirror`` script:
* If you use the default Fuel root password, type:
::
fuel-createmirror
* If you change the default Fuel root password, type:
::
fuel-createmirror --password PASSWORD
#. Restart the the docker daemon
::
service docker restart
Alternatively (recommended), reboot the Fuel Master node.
About the fuel-createmirror script
----------------------------------
The ``fuel-createmirror`` is a built-in Fuel script that enables
you to modify the Fuel repository sources from the CLI.
* The script supports only RSYNC mirrors.
See the `the list of official upstream Ubuntu mirrors <https://launchpad.net/ubuntu/+archivemirrors>`_.
* The script uses a Docker container with Ubuntu to support dependencies
resolution.
* To view help information, type ``fuel-createmirror -h``.
* The script supports running behind an HTTP proxy configured to
Port 873 (rsync). The following environment variables can be set either
system-wide (via ~/.bashrc), or in the script configuration file:
::
http_proxy=http://username:password@host:port/
RSYNC_PROXY=username:password@host:port
* You can also configure Docker to use the proxy to download the Ubuntu
image needed to resolve the packages dependencies. Add the environment
variables to the `/etc/sysconfig/docker` file, and export them:
::
http_proxy=http://username:password@host:port/
RSYNC_PROXY=username:password@host:port
export http_proxy RYSNC_PROXY

View File

@ -0,0 +1,89 @@
.. raw:: pdf
PageBreak oneColumn
.. _upgrade_intro:
Upgrade Fuel
~~~~~~~~~~~~
You can upgrade the Fuel Master node to the latest Fuel version.
The following table describes available upgrades for the Fuel software:
+----------------------+------------------------+--------------------------+
| Initial Fuel version | Fuel is upgraded to | Upgraded Fuel can manage |
+======================+========================+==========================+
| 5.0 | 5.1, then to 5.1.1, | 2014.1-5.0 |
| | then to 6.0 | |
| | | 2014.1.1-5.0.2 |
| | | |
| | | 2014.1.1-5.1 |
| | | |
| | | 2014.1.3-5.1.1 |
| | | |
| | | 2014.2-6.0 |
+----------------------+------------------------+--------------------------+
| 5.0 | 5.0.1, then to 5.1, | 2014.1-5.0 |
| | | |
| | then to 5.1.1 | 2014.1.1-5.0.1 |
| | | |
| | then to 6.0 | 2014.1.1-5.0.2 |
| | | |
| | | 2014.1.1-5.1 |
| | | |
| | | 2014.1.3-5.1.1 |
| | | |
| | | 2014.2-6.0 |
+----------------------+------------------------+--------------------------+
| 5.0.1 | 5.1, then to 5.1.1 | 2014.1.1-5.0.1 |
| | | |
| | then to 6.0 | 2014.1.1-5.0.2 |
| | | |
| | | 2014.1.1-5.1 |
| | | |
| | | 2014.1.3-5.1.1 |
| | | |
| | | 2014.2-6.0 |
+----------------------+------------------------+--------------------------+
| 5.1 | 5.1.1, then to 6.0 | 2014.1.1-5.1 |
| | | |
| | | 2014.1.3-5.1.1 |
| | | |
| | | 2014.2-6.0 |
+----------------------+------------------------+--------------------------+
| 6.0 | 6.1, then apply all 6.1| 2014.2.6.0 |
| | updates, then to 7.0 | 2014.2.2-6.1 |
| | | 2015.x-7.0 |
| | | |
| | | |
| | | |
+----------------------+------------------------+--------------------------+
| 6.1 | Apply all 6.1 updates, | 2014.2-6.0 |
| | | |
| | then to 7.0 | 2014.2.2-6.1 |
| | | |
| | | 2015.x-7.0 |
| | | |
+----------------------+------------------------+--------------------------+
| 7.0 | Apply all 7.0 updates, | 2014.2.2-6.1 |
| | | |
| | then to 8.0 | 2015.1.0-7.0 |
| | | |
| | | liberty-8.0 |
+----------------------+------------------------+--------------------------+
This section includes the following topics.
.. toctree::
:maxdepth: 3
upgrade/upgrade-fuel
upgrade/upgrade-internals
upgrade/upgrade-local-repo
upgrade/upgrade-apply-patches
.. note:: Fuel does not support upgrades for plugins. The old plugin
versions may not be compatible with the new version of Fuel.
Therefore, you must uninstall the Fuel plugins before
upgrading Fuel. See :ref:`plugins_upgrade_uninstall_plugin`.

View File

@ -0,0 +1,15 @@
.. _vsphere_boot_master:
Boot the Fuel Master node
-------------------------
#. When the Mirantis ISO boot menu appears, press the **Tab** key
on the keyboard and modify the last kernel parameter ``showmenu``
to ``yes``. Press **Enter**.
#. Wait for the Fuel Master node installation to complete.
To access the Fuel Web UI, your browser must have an access
to the Fuel Master node through the IP gateway that is connected
to the Port Group network that you configured in :ref:`vsphere_configure_network`.
Proceed to :ref:`vsphere_verify_master`.

View File

@ -0,0 +1,27 @@
.. _configure_esxi:
Configure ESXi host networking
------------------------------
To integrate Mirantis OpenStack with VMware vCenter,
you must configure the VMware ESXi host networking.
**To configure ESXi host networking**:
#. In VMware vSphere web-client open the ESXi host page.
#. Select **Manage** > **Networking**.
#. Click **Add network**.
The **Add networking** wizard starts.
#. In the **Add Networking** wizard, select the Virtual Machine Port
group.
#. Select the **Virtual Machine Port Group** option
to ensure that the network is created in vSwitch0.
#. Create a network called **br100**.
.. note::
You must name the network ``br100``. Otherwise, Fuel will not
be able to communicate with VMware vSphere.
#. In the VLAN ID field, type a VLAN Tag.
#. Proceed to :ref:`vsphere_upload_iso`.

View File

@ -0,0 +1,39 @@
.. _vsphere_configure_network:
Configure networks
------------------
To enable inter-node communication, you must configure networks on
VMware vCenter.
Configure a network for Fuel Admin (PXE) traffic
------------------------------------------------
You must configure a network for the Fuel Admin (PXE) traffic
and enable Promiscuous mode.
**To configure a network for the Fuel Admin (PXE) traffic:**
#. Go to the vCenter screen.
#. Choose **Hosts**.
#. Select the host on which you want to run the Fuel Master node.
#. Click the **Networking** button.
#. Click the **Add Host Networking** icon.
Create a vCenter Port Group network
-----------------------------------
You must create a Port Group with Promiscuous mode.
**To create a vCenter Port Group network:**
#. Choose a Port Group connection type.
#. Choose a switch.
#. Name your network and set the VLAN number. This is optional
and depends on your underlying network infrastructure.
#. After the network is created, select the network on the network map;
then click the **Edit Settings** icon.
#. Click **Security**.
#. Verify that the **Promiscuous mode** is set to **Accept**.
#. Click "OK".
#. Proceed to :ref:`vsphere_create_vm`.

View File

@ -0,0 +1,20 @@
.. _vsphere_create_vm:
Create the Fuel Master node virtual machine
-------------------------------------------
You need to create a new virtual machine with a guest
operating system to run the Fuel Master node on it.
**To create the Fuel Master node virtual machine:**
#. On the vCenter screen choose **Virtual Machines**.
#. Click **Create a Virtual Machine**.
#. Click **Create a new virtual machine**.
Do not use templates.
#. Name your new VM and choose the datacenter where the Mirantis ISO
is located.
#. Select a compute resource (ESXi host), storage, and compatibility
for the VM.
#. Select a guest operating system.
#. Proceed to: :ref:`vsphere_mount_iso`.

View File

@ -0,0 +1,20 @@
.. _vsphere_install_master:
Install the Fuel Master node on VMware vSphere
----------------------------------------------
You need to install the Fuel Master node on the created
virtual machine.
**To install the Fuel Master node on VMware vSphere:**
#. At the Virtual Machines screen, select the Fuel VM and run it
by clicking the **Power on** icon.
#. Click the **Open a virtual machine console** icon.
#. When the BIOS appears, use the arrow keys on your keyboard
to navigate to the **Boot** tab. Then move the highlighted selection
to the **CD-ROM drive**.
#. Using the **+** button on the keyboard, move the **CD-ROM Drive** item
to the top level.
#. Navigate to the **Exit** tab, choose **Exit Saving Changes**,
and confirm your decision.
#. Proceed to :ref:`vsphere_boot_master`.

View File

@ -0,0 +1,20 @@
.. _vsphere_mount_iso:
Mount the Fuel ISO
------------------
You must mount the Fuel ISO to install the Fuel Master node
on the virtual machine.
**To mount the Fuel ISO:**
#. For the CD/DVD drive, choose **Datastore ISO File** from
the dropdown menu on the right.
#. Navigate through the datastore and choose the ISO you uploaded earlier.
#. Enable the CD/DVD drive by clicking the **Connect...** checkbox
opposite the drive.
#. Go to the **VM Options** tab and expand the **Boot Options** submenu.
#. Enable the "Force BIOS setup" item.
#. Click **Next**.
#. Verify the new Virtual Machine settings and proceed.
#. Proceed to :ref:`vsphere_install_master`.

View File

@ -0,0 +1,23 @@
.. _vmware_prereq:
VMware vSphere prerequisites
----------------------------
Before you install Fuel and use your Mirantis OpenStack environment
in intergration with vSphere, you must configure all components
of VMware vSphere.
.. note::
The vCenter Server supported versions are 5.1, 5.5, and 6.0.
Complete the following steps:
* Install ESXi.
* Install vCenter.
* Configure vCenter.
* Create Datacenter.
* Create vCenter cluster.
* Add ESXi hosts to clusters in vCenter.
For more information, see the VMware vSphere documentation.

View File

@ -0,0 +1,17 @@
.. _vsphere_upload_iso:
Upload the Fuel ISO to the VMware vSphere datastore
---------------------------------------------------
You need to download the `Fuel ISO <https://www.fuel-infra.org/#fuelget>`_
and upload it do a vSphere datastore.
**To upload the Fuel ISO to the VMware vSphere datastore:**
#. Log into the vSphere web client.
#. Click **vCenter**.
#. Go to the Datastores and choose your datastore.
#. Go to the Actions menu and select **Browse Files**.
#. Click the **Upload Files** icon, browse your filesystem,
and select your Mirantis ISO.
#. Proceed to :ref:`vsphere_configure_network`.

View File

@ -0,0 +1,20 @@
.. _vsphere_verify_master:
Verify the Fuel Master node operation
-------------------------------------
You need to verify that the Fuel Master node operates correctly.
**To verify the Fuel Master node operation:**
#. Create a new VM on the same ESXi host.
#. Boot the created VM via PXE.
If the boot is successful,
the "Total nodes" at the top right of the Fuel Web UI will increase
its value after two to five minutes.
**To verify that the Fuel bootstrap node runs on ESXi:**
#. Open the node information window in the Fuel Web UI.
#. Verify that the **Manufacturer** field says **VMWARE**.

View File

@ -0,0 +1,26 @@
.. raw:: pdf
PageBreak oneColumn
.. _vsphere_intro:
Install Fuel on VMware vSphere
==============================
This section describes how to configure your VMware vSphere environment
to install Fuel.
This section includes the following topics:
.. toctree::
:maxdepth: 3
vsphere/vsphere_prereq
vsphere/vsphere_configure_esxi_networking
vsphere/vsphere_upload_iso
vsphere/vsphere_configure_network
vsphere/vsphere_create_vm
vsphere/vsphere_mount_iso
vsphere/vsphere_install_master
vsphere/vsphere_boot_master
vsphere/vsphere_verify_master