50 Commits

Author SHA1 Message Date
Mark Goddard
7c7bbc064a Kayobe 2.0.0 release
Update python module version to 2.0.0, edit release notes.
2017-09-18 21:40:01 +01:00
Mark Goddard
4acbf52867 Untangle configuration of kolla and kolla-ansible
Kolla (container images) and kolla-ansible (container deployment) are
separate concerns, and should be treated as such. Configuration
variables have been added for kolla-ansible which were previously shared
between the two projects:

kolla_venv -> kolla_ansible_venv
kolla_ctl_install_type -> kolla_ansible_ctl_install_type

Also, we introduce specific variables for the source code repository
checkout paths, which were previously both based on
source_checkout_path:

kolla_source_path
kolla_ansible_source_path

These changes help us to cleanly separate the configuration of paths on
the local (Ansible control) host, from those on the managed (target)
hosts. This is important because the local paths may be specific to the
environment in which the user is running kayobe, but the remote paths
are relatively fixed and specific to the cluster.
2017-09-18 14:21:52 +01:00
Mark Goddard
02aca93440 Separate network configuration from high level kayobe configuration 2017-09-18 14:21:51 +01:00
Mark Goddard
0c03d18626 Add kayobe overcloud host upgrade
This command performs necessary changes on the host to prepare the control
plane for an upgrade.

Currently this performs a workaround for issue #14, RabbitMQ upgrade failure.

We clear stale entries from /etc/hosts on the overcloud hosts and from the
rabbitmq containers, which allows the upgrade to complete successfully. The
source of the stale entries is currently unknown.
2017-09-18 13:04:27 +01:00
Mark Goddard
cb4e45b971 Add release notes for implemented but unreleased features 2017-09-14 14:43:42 +01:00
Mark Goddard
2b59ef4f9c Merge pull request #13 from stackhpc/ubuntu
Add support for Ubuntu control hosts
2017-09-12 16:57:34 +01:00
Mark Goddard
1fc6e2788b Simplify installation instructions with multiple platforms 2017-09-11 11:44:53 +01:00
Mark Goddard
287acd1f92 Support configuration of user accounts
User accounts are configured during the following commands:

kayobe seed hypervisor host configure
kayobe seed host configure
kayobe overcloud host configure

The users are defined by the following variables:

seed_hypervisor_users
seed_users
controller_users
monitoring_users

The format required is described in the singleplatform-eng.users role
on Galaxy.

Any additional control plane hosts not in the controllers or monitoring
groups should define a 'users' variable.
2017-09-11 10:29:13 +00:00
Mark Goddard
c576e4d486 Add support for Ubuntu control hosts
This enables the user to use an Ubuntu machine to manage the cloud. The
remote cloud hosts must still run CentOS.
2017-09-07 19:42:43 +01:00
Mark Goddard
a1f7068ee8 Add release notes to index TOC 2017-09-04 11:01:41 +01:00
Mark Goddard
5c6d85adfa Add network configuration for gateways in provisioning and inspection networks
These allow us to use different gateways for compute nodes on the inspection
and provisioning networks than on the control plane hosts also accessing these
networks.
2017-09-01 18:22:42 +00:00
Mark Goddard
316d16c0ec Add support for configuration of sysctl parameters
These are group-specific, and configured via the following variables:

controller_sysctl_parameters
monitoring_sysctl_parameters
seed_sysctl_parameters
seed_hypervisor_parameters
2017-08-31 17:43:18 +00:00
Mark Goddard
c2f42af651 Add release notes to documentation, with notes for 1.0.0 and 1.1.0 2017-08-30 11:09:23 +00:00
Mark Goddard
5cf205502d Decompose overcloud inventory file into top level, components, and services
This allows a deployer to customise their inventory at various levels, by
providing a custom inventory template for one or more of the sections of the
inventory.

* Top level groups define the roles of hosts, e.g. controller or compute.
* Components define groups of services, e.g. nova or ironic.
* Services define single containers, e.g. nova-compute or ironic-api.
2017-08-30 11:02:33 +00:00
Mark Goddard
3466fd78b4 Add network group, move neutron and load balancing services to it
In many cases network services will be provided by controllers, but
this allows these services to be separated.
2017-08-29 13:41:15 +00:00
Mark Goddard
1d9e8fc976 Separate the external network into external and public
Previously, the external network carried both public API traffic and
neutron external network traffic. In some cases is it useful to separate
these networks. The public network now carries the public API traffic,
leaving the external network to carry neutron external network traffic
alone. For backwards compatibility, the public network defaults to the
external network.
2017-08-29 13:12:47 +00:00
John Garbutt
c5a4e46f4b Disable selinux during provision
To avoid a reboot when running the kayobe scripts, we disable selinux
before running the scripts. We do this using the provision reload plugin
that allows us to do a vagrant reload while provisioning the VM.
2017-08-29 11:58:48 +01:00
John Garbutt
42605939a4 Sync /vagrant folder using virtualbox shared folder
When doing vagrant halt then vagrant up we want the system to keep
working. The easiest way to do this is to use a virtual box plugin to
install the tools, then use the tools to sync the /vagrant directory,
rather than falling back to rsync on every boot of the VM. The rsync
looses all the writes since the last boot, forcing a full reprovision.
2017-08-29 11:50:58 +01:00
Mark Goddard
4d25311f97 Update development guide to include pulling container images
This is an alternative to building them locally.
2017-08-23 16:06:57 +01:00
Mark Goddard
1c1d92b4db Add command to save overcloud introspection data
The CLI command is:

kayobe overcloud introspection data save [--output-dir <dir>] [--output-format <format>]

This command will save introspection data collected by the seed host's ironic
inspector service to the control host for analysis.
2017-08-22 18:35:47 +00:00
Mark Goddard
5d6658b353 Improve ironic deployment image build for overcloud
Overcloud deployment images can now be built via:

kayobe overcloud deployment image build

This should be done prior to running kayobe overcloud service deploy.
In order to build IPA images, the ipa_build_images variable should be
set to True. In this case, these images will be used by the overcloud's
ironic inspector service during hardware inspection, and by ironic
during provisioning.
2017-08-22 15:12:05 +00:00
Mark Goddard
ebb81e49f1 Add command to build IPA deployment images for the seed
The CLI command is:

kayobe seed deployment image build

This command will build Ironic Python Agent (IPA) kernel and ramdisk images
using the Diskimage Builder (DIB) ironic-agent element. The built images will
be copied to the appropriate location in the bifrost_deploy container on the
seed.

This allows us to build a customised image with site- or hardware- specific
extensions.
2017-08-22 15:12:05 +00:00
Mark Goddard
2226a97440 Add documentation for setting up a development VM 2017-08-08 16:23:24 +00:00
Mark Goddard
c7cf0d1688 Add support for physical_network attribute of networks
A network may be assigned a physical network by defining a variable of
the form <network>_physical_network. Currently this is not used by
kayobe but may be referenced in configuration e.g. when setting
neutron_vlan_ranges.
2017-08-07 12:08:41 +00:00
Mark Goddard
2afc6fabae Add support for bonded (LAG) host network interfaces
This is configured by setting the <network>_bond_slaves variable to a list
of network interfaces to act as slaves.
2017-08-07 12:08:41 +00:00
Mark Goddard
c01f5834cb Add kayobe seed vm deprovision command
This command will destroy the seed VM and all associated data volumes.
2017-08-07 12:08:41 +00:00
Mark Goddard
f76f244a38 Add configuration for seed hypervisor
Currently supports configuration of:
- Local networking
- NTP
- Libvirt storage pools and networks
2017-08-07 12:08:41 +00:00
Mark Goddard
a82047f14f Improve automation of seed VM network configuration
The list of libvirt networks is now generated from the seed's network interfaces.
This can be overridden if necessary.
2017-08-07 12:08:41 +00:00
Mark Goddard
c3b360764a Update kayobe installation dependencies
Adds gcc and git.
2017-07-26 17:45:27 +00:00
Mark Goddard
4238573198 Add networks for out-of-band management
The oob_oc_network provides access to the out-of-band management controllers
of the overcloud hosts. The oob_wl_network provides access to the out-of-band
management controllers of the baremetal compute hosts.
2017-07-25 17:29:38 +01:00
Mark Goddard
2693269955 Support destroying the overcloud services
'kayobe overcloud service destroy' will destroy all containers,
container images, and volumes on the overcloud hosts. All data will
be lost, so use wisely!
2017-07-11 17:49:41 +01:00
Mark Goddard
4507077bc4 Add a note on upgrading ironic deployment images 2017-07-11 17:49:41 +01:00
Mark Goddard
968949a23d Move administration tasks from the deployment guide to a new page 2017-07-11 17:49:41 +01:00
Mark Goddard
64466522e8 Add an upgrade guide 2017-07-11 17:49:41 +01:00
Mark Goddard
328455ec10 Add control host upgrade, stop using yum on host
Ansible is now a dependency of kayobe, and should either be installed
in a virtualenv or in the site python packages, so we no longer need
to install it via yum.

Also stop running the kolla.yml playbook during control host bootstrap, as it
is now run when required.
2017-07-11 17:49:41 +01:00
Mark Goddard
896bd163ff Rename usage docs to deployment, separate out usage 2017-07-11 17:49:41 +01:00
Mark Goddard
22b56d5a03 Add support for static routes on networks 2017-07-05 19:05:25 +01:00
Mark Goddard
d91b83e678 Add documentation of reconfiguration and upgrade commands 2017-05-24 11:27:13 +01:00
Mark Goddard
d82e9bc9ba Add documentation of network configuration 2017-05-24 10:47:43 +01:00
Mark Goddard
0c08dead53 Separate configuration docs from usage 2017-05-24 10:09:06 +01:00
Mark Goddard
f06483eb68 Support encryption of configuration using Ansible Vault 2017-04-20 14:30:02 +01:00
Mark Goddard
454e888933 Add doc8 for documentation style checking, fix the one issue found 2017-04-06 10:19:45 +01:00
Mark Goddard
7807016862 License kayobe project under Apache2
All python files now have a license header and copyright notice
2017-04-06 10:15:29 +01:00
Mark Goddard
35aab4e4fe Add kayobe overcloud hardware inspect command
Performs hardware inspection of controllers using existing ironic nodes
2017-04-05 11:23:44 +01:00
Mark Goddard
dcf5e39a4c Generate a public environment file for accessing external APIs as admin 2017-04-05 11:23:44 +01:00
Mark Goddard
17c198fc69 Support configuration of BIOS and RAID for controllers 2017-04-05 11:05:48 +01:00
Mark Goddard
b40c33f536 Add missing CLI commands to usage documentation 2017-04-04 19:42:13 +01:00
Mark Goddard
65ed0da197 Separate physical configuration for discovery
After discovery Neutron needs to own the control of ports for the baremetal compute
nodes. We separate the interface configuration and add an --enable-discovery flag
to kayobe physical network configure
2017-04-03 12:10:47 +01:00
Mark Goddard
df20c90e2e Flesh out usage documentation 2017-03-29 19:01:32 +01:00
Mark Goddard
61f7f804cb Expand documentation and change to sphinx from MarkDown 2017-03-29 14:02:51 +01:00