Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
.. _development-automated:
===============
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 :ref:`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 `dev-kayobe-config
<https://github.com/stackhpc/dev-kayobe-config/>`_ 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://github.com/stackhpc/kayobe
Change the current directory to the kayobe repository::
cd kayobe
Clone the ``dev-kayobe-config`` repository to ``config/src/kayobe-config``::
mkdir -p config/src
git clone https://github.com/stackhpc/dev-kayobe-config config/src/kayobe-config
Inspect the kayobe configuration and make any changes necessary for your
environment.
If using Vagrant, follow the steps in :ref:`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
If using Vagrant, SSH into the Vagrant VM and change to the shared directory::
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::
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Upon successful completion of this script, the control plane will be active.
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://github.com/stackhpc/kayobe
Change the current directory to the kayobe repository::
cd kayobe
Clone the ``add-seed-and-hv`` branch of the ``dev-kayobe-config`` repository to
``config/src/kayobe-config``::
mkdir -p config/src
git clone https://github.com/stackhpc/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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
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://github.com/stackhpc/kayobe
Change to the ``kayobe`` directory::
cd kayobe
Clone the ``add-seed-and-hv`` branch of the ``dev-kayobe-config`` repository to
``config/src/kayobe-config``::
mkdir -p config/src
git clone https://github.com/stackhpc/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