
Adds the kayobe-seed-upgrade-centos job, which performs an upgrade of the seed services from the previous release to the current release. Change-Id: Ia3eb39cf81cb3618fd94c4456bd576b52098c946 Story: 2004308 Task: 27873
5.5 KiB
Automated Setup
This section provides information on the development tools provided by kayobe to automate the deployment of various development environments.
For a manual procedure, see development-manual
.
Overview
The kayobe development environment automation tooling is built using simple shell scripts. Some minimal configuration can be applied by setting the environment variables in dev/config.sh. Control plane configuration is typically provided via the kayobe-config-dev repository, although it is also possible to use your own kayobe configuration. This allows us to build a development environment that is as close to production as possible.
Environments
The following development environments are supported:
- Overcloud (single OpenStack controller)
- Seed hypervisor
- Seed VM
The seed VM environment may be used in an environment already deployed as a seed hypervisor.
Overcloud
Preparation
Clone the kayobe repository:
git clone https://git.openstack.org/openstack/kayobe.git
Change the current directory to the kayobe repository:
cd kayobe
Clone the kayobe-config-dev
repository to
config/src/kayobe-config
:
mkdir -p config/src
git clone https://git.openstack.org/openstack/kayobe-config-dev.git config/src/kayobe-config
Inspect the kayobe configuration and make any changes necessary for your environment.
If using Vagrant, follow the steps in development-vagrant
to prepare your environment for
use with Vagrant and bring up a Vagrant VM.
If not using Vagrant, the default development configuration expects
the presence of a bridge interface on the OpenStack controller host to
carry control plane traffic. The bridge should be named
breth1
with a single port eth1
, and an IP
address of 192.168.33.3/24
. This can be modified by editing
config/src/kayobe-config/etc/kayobe/inventory/group_vars/controllers/network-interfaces
.
Alternatively, this can be added using the following commands:
sudo ip l add breth1 type bridge
sudo ip l set breth1 up
sudo ip a add 192.168.33.3/24 dev breth1
sudo ip l add eth1 type dummy
sudo ip l set eth1 up
sudo ip l set eth1 master breth1
Usage
If using Vagrant, SSH into the Vagrant VM and change to the shared directory:
vagrant ssh
cd /vagrant
If not using Vagrant, run the dev/install.sh
script to
install kayobe and its dependencies in a virtual environment:
./dev/install.sh
Run the dev/overcloud-deploy.sh
script to deploy the
OpenStack control plane:
./dev/overcloud-deploy.sh
Upon successful completion of this script, the control plane will be active.
The control plane can be tested by running the
dev/overcloud-test.sh
script. This will run the
init-runonce
setup script provided by Kolla Ansible that
registers images, networks, flavors etc. It will then deploy a virtual
server instance, and delete it once it becomes active:
./dev/overcloud-test.sh
It is possible to test an upgrade by running the
dev/overcloud-upgrade.sh
script:
./dev/overcloud-upgrade.sh
Seed Hypervisor
The seed hypervisor development environment is supported for CentOS 7. The system must be either bare metal, or a VM on a system with nested virtualisation enabled.
Preparation
The following commands should be executed on the seed hypervisor.
Clone the kayobe repository:
git clone https://git.openstack.org/openstack/kayobe.git
Change the current directory to the kayobe repository:
cd kayobe
Clone the add-seed-and-hv
branch of the
kayobe-config-dev
repository to
config/src/kayobe-config
:
mkdir -p config/src
git clone https://github.com/markgoddard/dev-kayobe-config -b add-seed-and-hv config/src/kayobe-config
Inspect the kayobe configuration and make any changes necessary for your environment.
Usage
Run the dev/install.sh
script to install kayobe and its
dependencies in a virtual environment:
./dev/install.sh
Run the dev/seed-hypervisor-deploy.sh
script to deploy
the seed hypervisor:
./dev/seed-hypervisor-deploy.sh
Upon successful completion of this script, the seed hypervisor will be active.
Seed VM
The seed VM should be deployed on a system configured as a libvirt/KVM hypervisor, using the kayobe seed hypervisor support or otherwise.
Preparation
The following commands should be executed on the seed hypervisor.
Change the current directory to the kayobe repository:
git clone https://git.openstack.org/openstack/kayobe.git
Change to the kayobe
directory:
cd kayobe
Clone the add-seed-and-hv
branch of the
kayobe-config-dev
repository to
config/src/kayobe-config
:
mkdir -p config/src
git clone https://github.com/markgoddard/dev-kayobe-config -b add-seed-and-hv config/src/kayobe-config
Inspect the kayobe configuration and make any changes necessary for your environment.
Usage
Run the dev/install.sh
script to install kayobe and its
dependencies in a virtual environment:
./dev/install.sh
Run the dev/seed-deploy.sh
script to deploy the seed
VM:
./dev/seed-deploy.sh
Upon successful completion of this script, the seed VM will be
active. The seed VM may be accessed via SSH as the stack
user:
ssh stack@192.168.33.5
It is possible to test an upgrade by running the
dev/seed-upgrade.sh
script:
./dev/seed-upgrade.sh