74 Commits

Author SHA1 Message Date
Jonathan Davies
4823db1563 Updated Yum roles with review comments. 2017-11-01 14:49:28 +00:00
Mark Goddard
a4bf054feb Merge pull request #41 from markgoddard/kolla-build-config-path
Change kolla build configuration path variable
2017-10-27 16:44:22 +01:00
Mark Goddard
714b7d073d Merge pull request #46 from markgoddard/route-tables-and-rules
Add support for configuration of IP route tables and rules
2017-10-27 16:43:57 +01:00
Mark Goddard
95715c1296 Merge branch 'master' into kolla-build-config-path 2017-10-26 17:53:00 +01:00
Mark Goddard
cd5605fa71 Add support for configuration of IP route tables and rules 2017-10-26 11:06:19 +00:00
Mark Goddard
7db4ab4471 Merge branch 'master' into remove-genericswitch-default 2017-10-26 10:47:23 +01:00
Mark Goddard
3f273df94d Use kolla-ansible's defaults for neutron ML2 mechanism drivers
Kolla-ansible has some logic to select appropriate mechanism drivers.
Let's use that logic instead of assigning our own defaults.
2017-10-26 10:32:42 +01:00
Mark Goddard
2d60f19dd6 Merge pull request #40 from markgoddard/networking-docs
Improve networking documentation
2017-10-26 09:17:51 +01:00
Mark Goddard
3ccb27e84f Merge branch 'master' into kolla-build-config-path 2017-10-25 09:39:59 +01:00
Mark Goddard
2f3be13906 Disable swift by default
Follow kolla's default value for swift enablement - disabled.
2017-10-23 15:39:11 +01:00
Mark Goddard
2b9a304d83 Change kolla build configuration path variable
Previously shared kolla-ansible's kolla_config_path, now uses
kolla_build_config_path.

Also adds a variable, config_path, which sets a base path for
configuration on the remote hosts.
2017-10-23 15:28:56 +01:00
Mark Goddard
66025bf26d Improve networking documentation
Adds details on network interface configuration, and networking for bare metal inspection
and provisioning.
2017-10-23 15:15:55 +01:00
Mark Goddard
7fc93906de Add all extra-configurable services to release notes 2017-10-18 17:24:29 +01:00
Mark Goddard
9601159fe7 Add support for configuration of custom fluentd filters
These may be placed in $KAYOBE_CONFIG_PATH/kolla/config/fluentd/filter.
2017-10-17 16:31:48 +01:00
Mark Goddard
9c4e320dd1 Add support for custom neutron and nova config files
Custom configuration files may be added in
$KAYOBE_CONFIG_PATH/kolla/config/[nova,neutron]/.
2017-10-17 13:29:49 +00:00
Mark Goddard
13a14664f9 Add a --display argument to kayobe physical network configure
This will output the candidate configuration, without applying it.
2017-10-17 11:48:36 +00:00
Mark Goddard
4f1ba98167 Allow limiting physical network interface configuration to subsets
Allow the physical network interface configuration to be limited to a subset of
interfaces, either by interface name or switch interface description. This is done
via:

kayobe physical network configure --interface-limit interface1,interface2

or

kayobe physical network configure --interface-description-limit host1,host2

Fixes: #25
2017-10-17 11:48:36 +00:00
Mark Goddard
aa04494879 Enable inspector firewall management by default
Modifies the default value for inspector_manage_firewall from False
to True.  Management of the firewall by ironic inspector is important to
ensure that DHCP offers are not made to nodes during provisioning by
inspector's DHCP server.
2017-10-16 11:40:30 +01:00
Stig Telfer
8fc8937148 Python devel packages not typically installed, add as a base package requirement 2017-10-06 10:10:34 +00:00
Mark Goddard
c246f634ad Kayobe 3.0.0 release
Adds support for the OpenStack pike release.

Update python module version, edit release notes.
2017-09-20 21:04:03 +01:00
Mark Goddard
a12aeeba94 Fix installation documentation syntax 2017-09-20 20:56:30 +01:00
Mark Goddard
454de62d6d Update documentation for new control host directory layout 2017-09-20 17:57:19 +01:00
Mark Goddard
7bc0274aa3 Add documentation on generating and saving overcloud service configuration 2017-09-20 17:11:37 +01:00
Mark Goddard
0840319d20 Add deployment image build to upgrade guide 2017-09-19 11:04:41 +01:00
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