Bootstrap

Spinal Stack is able to be bootstrapped on physical servers or virtual machines.

In this guide, we will see the physical servers use case.

The bootstrap steps are performed by the installation server node, which will be in charge of deploying all other nodes.

eDeploy is the tool to provision and update systems (physical or virtual) using trees of files instead of packages or VM images.

The installation server node is built by using install-server eDeploy role.

All other nodes (load-balancers, controllers, compute nodes, etc) are built by using openstack-full eDeploy role.

Before starting the deployment, you need to get the last build of these roles.

Build eDeploy roles

To build eDeploy roles by yourself on your eDeploy server, you can run:

$ export ROLES="openstack-full install-server"
$ export VIRTUALIZED=/srv/edeploy/tools/virt.conf
$ /srv/edeploy/tools/jenkins-build.sh <src dir> <build dir> <archive dir> [<make params>]

When making continuous integration, this step can be done by Jenkins (upstream) which will distribute eDeploy roles on the installation servers (downstream).

Deploy the install-server role

This role contains all these components:

The first step, is to bootstrap the install-server by using eDeploy itself. There is several ways to do it and this manual explains them in details.

In the case you don’t have an eDeploy server to bootstrap the install-server node, you can use the local installation with an USB key method.

You have to follow eDeploy manual to finish the installation of eDeploy service on the install-server node. Once we have eDeploy working, we can continue to prepare the configuration.

Note

There is no need to install Puppet, Ansible or any service. They are already present in install-server role.

Warning

independently of the process used to bootstrap the install-server, a valid pem file should be dropped at /etc/puppet/ssl/puppetdb.pem to secure the connection between the nodes and the install server. The use of cloud-init is recommended to realize this action. Without this file, the deployment of Spinal Stack will fail.

Deploy the openstack-full roles

Once the install-server node is ready, we can deploy all our infrastructure by using eDeploy over the network. To start the deployment, boot the targeted server by using the proper boot device regarding the kind of deployment you choose (PXE versus USB).