54 Commits

Author SHA1 Message Date
Mark Goddard
4652c29706 Improve permissions around Kolla configuration.
Make ansible_user own files so we don't need to be root.
Files no longer world readable.
2017-03-16 10:55:54 +00:00
Mark Goddard
d16eaf1502 Remove kolla-host role, replace with a dev-tools role to install useful packages 2017-03-16 10:53:09 +00:00
Mark Goddard
c26b30e0bd Add support for registering a provisioning network and subnet in Neutron 2017-03-15 16:45:02 +00:00
Mark Goddard
4e6effba99 Add introspection rules for overcloud 2017-03-15 16:42:32 +00:00
Mark Goddard
70e3ab4ab2 Add support for registering IPA images in overcloud 2017-03-15 16:42:32 +00:00
Mark Goddard
fb4973f833 Use shade role in test playbooks 2017-03-15 14:21:12 +00:00
Mark Goddard
0ea9003c6a Refactor a shade role out of ironic-inspector-roles 2017-03-15 11:12:05 +00:00
Mark Goddard
473d47310e Add tags for kolla, kolla-openstack and kolla-bifrost roles 2017-03-15 10:19:42 +00:00
Mark Goddard
3067a28b3e Add commands for building seed and overcloud container images 2017-03-15 10:19:42 +00:00
Mark Goddard
77c5f086f4 Add configuration for Bifrost image to Kolla globals.yml 2017-03-15 10:19:42 +00:00
Mark Goddard
6c04c49869 Ensure Kolla hosts are not running iSCSI initiator services 2017-03-15 10:19:42 +00:00
Mark Goddard
133511b466 Improve configuration of Ironic and Ironic inspector
Reuse much of the Bifrost inspector configuration for the main inspector
instance.
2017-03-15 10:19:42 +00:00
Mark Goddard
3f9935a680 Improve network configuration & external network support
- Support multiple OVS bridges - one for provisioning and another optional
  bridge for external network access.
- Use a more consistent naming scheme for OVS bridges and veth pairs
- Add an inspection network used for inspecting the workload hosts.
2017-03-15 10:19:42 +00:00
Mark Goddard
58932aecc1 Improve comments around network roles 2017-03-15 10:19:42 +00:00
Mark Goddard
e994882ae4 Synchronise Kolla inventory template with upstream 2017-03-15 10:19:42 +00:00
Mark Goddard
f59f15e9a1 Workaround for lack of python selinux module on PyPI
Link to the system's selinux Python module from inside the virtualenv. Eurgh.
2017-03-15 10:19:42 +00:00
Mark Goddard
20499de823 Install ansible in the kolla virtualenv to ensure jinja2>=2.8 2017-03-15 10:19:41 +00:00
Mark Goddard
b05f02391c Discovery of overcloud hosts from Bifrost's Ironic inventory
This change enables 'zero touch' provisioning of the overcloud hosts. Following
power on of the nodes, they are discovered by Ironic inspector running on the
seed node and registered with the seed node's instance of Ironic. Once discovered
and inspected, Kayobe uses the seed's Ironic inventory to populate its own Ansible
inventory. From here, we can fill out host variables for Bifrost to use when
provisioning the nodes. Finally, we configure Kolla Ansible's inventory.
2017-03-15 10:19:41 +00:00
Mark Goddard
6e6a554f43 Update Kolla inventory with seed IP address after provisioning 2017-03-15 10:19:41 +00:00
Mark Goddard
55c330bb4c Break kolla-ansible playbook out of kolla playbook 2017-03-15 10:19:41 +00:00
Mark Goddard
27a286c9bb Add an inspector rule to store the PXE interface MAC address
This is useful for configuring the IP address on the correct interface
when the node first boots.
2017-03-15 10:19:41 +00:00
Mark Goddard
bd5b65d342 Allocate IPs in serial to prevent allocation race conditions 2017-03-15 10:19:41 +00:00
Mark Goddard
8425b3c733 Configure LVM and Docker direct-lvm storage on the controllers 2017-03-15 10:19:41 +00:00
Mark Goddard
08d34db3d1 Add initial work on network configuration for management network
Currently supports configuration of network interfaces
2017-03-15 10:19:41 +00:00
Mark Goddard
cd33e4a75f Add playbooks for interactions with DRACs
Currently includes gathering facts, configuring the BIOS and setting the boot
order (sadly not via the drac role).
2017-03-15 09:44:24 +00:00
Mark Goddard
54ff228bc3 Add more introspection rules - local boot, LLDP description to name
We currently hard code the interface from which to pull the LLDP port description.
This should be improved at some point, but we are limited by indexing the interfaces
dict by some constant. We could provide a rule for each possible interface name
but this feels ugly. Alternatively we could do this with a custom plugin.
2017-03-15 09:44:22 +00:00
Mark Goddard
d072c069ce A couple of small dependency fixes 2017-03-15 09:44:21 +00:00
Mark Goddard
4ede1ae605 Install Bifrost into Kayobe virtualenv 2017-03-15 09:44:19 +00:00
Mark Goddard
07a33c67df Configure Docker to use direct-lvm storage backend
The loopback configuration is not recommended for production, whereas
direct-lvm is.
2017-03-15 09:44:17 +00:00
Mark Goddard
1260f9a87e Add support for configuration of LVM PVs, VGs and LVs
Currently we configure the seed with a single VG containing a volume for Docker volumes.
2017-03-15 09:44:15 +00:00
Mark Goddard
4010b3d6b9 Bifrost & inspector: add rules, configure IPA ramdisk & kernel 2017-03-06 14:57:45 +00:00
Mark Goddard
474e48b433 Separate configuration of host OS from service deployment 2017-03-06 14:46:17 +00:00
Mark Goddard
f57f06c1e0 Change default namespace to stackhpc and release to 4.0.0.0rc1 (Ocata) 2017-03-03 16:51:13 +00:00
Mark Goddard
e7f979e964 Support configuration of Bifrost inspection hooks and kernel params 2017-03-03 16:39:35 +00:00
Mark Goddard
99cd65e8d4 Add playbooks to build seed and overcloud Docker images 2017-03-03 15:58:00 +00:00
Mark Goddard
cbc9ef78d6 Support configuration of Kolla build sources
Adding a single non-default source for bifrost-base
2017-03-03 15:58:00 +00:00
Mark Goddard
91dac755c8 Allow Kolla's docker namespace to be configured 2017-03-03 14:23:22 +00:00
Mark Goddard
b235bcf65a Support Ironic inspector in Bifrost container
Adds support for setting which ports to add during inspection and a
role for creating introspection rules in inspector.
2017-03-03 14:19:53 +00:00
Mark Goddard
ec0794a948 Update Kolla inventory with seed VM IP 2017-02-17 17:57:30 +00:00
Mark Goddard
2a1a81c043 Add disable-selinux element to controller image recipe 2017-02-17 17:56:39 +00:00
Mark Goddard
e9afc5fe24 Add support for Bifrost dib_os_release
There is a Bifrost bug that causes this variable to be required
2017-02-17 17:55:26 +00:00
Mark Goddard
aad71bcd25 Support Ocata split of kolla-ansible from kolla, allow custom kolla passwords 2017-02-17 12:50:13 +00:00
Mark Goddard
d385fe326a Create dump path locally in dump-config.yml 2017-02-17 12:47:26 +00:00
Mark Goddard
a4493ef911 Add kolla-build.yml playbook to support building images on the seed 2017-02-16 10:44:36 +00:00
Mark Goddard
5404539bee Update test playbooks 2017-02-16 10:44:36 +00:00
Mark Goddard
2ef0a4bd58 Add support for Kolla's enable_haproxy flag and allow it to be false
This requires us to use the controller host's IP address for the internal VIP.
2017-02-16 10:44:35 +00:00
Mark Goddard
614958486d Add Ansible group variables file for seed Ansible SSH host
We currently use a libvirt network with dynamic IP address allocation for the
seed VM. After creation of the seed, determine it's IP address and update the
inventory to allow access to it.
2017-02-16 10:44:34 +00:00
Mark Goddard
efc7424e26 Add support for adding a user account for SSH access
This requires us to use a bootstrap user account to add the Kayobe user
and group with an authorised SSH key. All subsequent SSH access uses this
new user.
2017-02-16 10:44:33 +00:00
Mark Goddard
f066dd286c Add a simple command to dump Ansible configuration for one or more hosts 2017-02-16 10:44:32 +00:00
Mark Goddard
cbd6fcc522 Make SSH keys configurable
Defaults to using stack/.ssh/id_rsa on the control host
2017-02-16 10:44:31 +00:00