2266 Commits

Author SHA1 Message Date
Mark Goddard
41686a5031 Fix --wipe-disks argument to host configure 2017-03-29 17:18:00 +01:00
Mark Goddard
a5f520408f Add some future goals to the feature list 2017-03-29 14:44:29 +01:00
Mark Goddard
76c301b120 Fix semantics of a unit test 2017-03-29 14:03:21 +01:00
Mark Goddard
61f7f804cb Expand documentation and change to sphinx from MarkDown 2017-03-29 14:02:51 +01:00
Mark Goddard
08b83abc22 Correct module name in ironic-inspector-rules role README 2017-03-28 17:56:57 +01:00
Mark Goddard
d4df9cc7b8 Create README for ironic-inspector-rules role 2017-03-28 17:47:32 +01:00
Mark Goddard
5c1d05bdfa Update README for dell-switch role. 2017-03-28 16:20:50 +01:00
Mark Goddard
f313f528da Update README for dell-switch-bmp role 2017-03-28 16:18:21 +01:00
Mark Goddard
d1a87c0e9a Add README files for dell-switch and dell-switch-bmp roles 2017-03-28 16:11:39 +01:00
Mark Goddard
34edfbec80 Use workaround for Ansible issue with dynamic delegate_to 2017-03-27 19:40:37 +01:00
Mark Goddard
90f0fd14d3 Playbook and role to register a test project and other resources
This will register a project, users, keypairs and generate an openrc file
for use by the user.
2017-03-27 16:48:51 +01:00
Mark Goddard
ef1456d94d Add a playbook to trigger discovery of compute nodes
This uses the map of iDRAC hostnames to IP addresses to generate an Ansible
inventory for the compute nodes. The nodes' power states and boot modes are
then set via IPMI.
2017-03-27 16:45:49 +01:00
Mark Goddard
706233f98c Support registration of Neutron subnets without a gateway IP address 2017-03-27 16:43:22 +01:00
Mark Goddard
aa6e2e2514 Add inspector rules to workaround Dell switch LLDP issues
Some Dell switch OSs (including Dell Network OS 9.10(0.1)) do not support
sending interface port description TLVs correctly. Instead of sending the
interface description, they send the interface name (e.g. TenGigabitEthernet
1/1/1). This breaks the discovery process which relies on Ironic node
introspection data containing the node's name in the interface port
description. We work around this here by creating an introspection rule for
each ironic node that matches against the switch system and the relevant
interface name, then sets the node's name appropriately.
2017-03-27 16:26:45 +01:00
Mark Goddard
eab9c57e4d Add default values for inspector rule interpolation variables
Without these values being set, viewing hostvars could fail due to undefined
values.
2017-03-27 16:23:29 +01:00
Mark Goddard
6495f1b4cc Install EPEL whenever we install pip 2017-03-27 16:10:28 +01:00
Mark Goddard
c1dd865b4e Dell switch: Add spaces before interface config to ensure correct match 2017-03-24 16:14:48 +00:00
Mark Goddard
2d84a41f45 Add physical switches to known SSH hosts 2017-03-24 16:14:48 +00:00
Mark Goddard
26be2c5af3 Support Neutron VLAN networks
For VLAN networks we need to use a tagged Linux bridge on the controller with a
veth pair to link it to the corresponding Neutron OVS bridge. This must be done
for the physical network(s) carrying the provisioning, tenant, and external
network traffic. We also need untagged VLAN subinterfaces on the tagged bridge
for the controller to communicate on these networks with.

The network interface role in use requires that we use two passes through
interface configuration to ensure that VLAN subinterfaces can be added to
bridge interfaces.

Finally, we must configure Ironic with the name of the Neutron network used
for provisioning.
2017-03-24 16:14:48 +00:00
Mark Goddard
7b2be06725 Add kayobe 'overcloud deprovision command'
This will deprovision the overcloud controller nodes using Bifrost.
2017-03-24 16:14:48 +00:00
Mark Goddard
8968040106 Fix overcloud provision playbook for provisioning multiple nodes
There were some issues previously in the checking of the state of the nodes following
the provisioning operation. We now use the controllers in the ansible inventory which
requires more SSH connections to the seed but makes processing the results simpler.
For now the overcloud inventory should be fairly small. If that changes this should be
revisited.
2017-03-24 16:14:48 +00:00
Mark Goddard
2c1cebbbc1 Remove executable bit from veth interface config files 2017-03-24 16:14:48 +00:00
Mark Goddard
20fdea4bde Add support for Bare Metal Provisioning (BMP) of Dell switches via seed
We extend the configuration of the Bifrost dnsmasq server on the seed to
support Bare Metal Provisioning of Dell switches.
2017-03-24 16:14:48 +00:00
Mark Goddard
ff7c40d3b5 Add filter for network prefix 2017-03-24 16:14:48 +00:00
Mark Goddard
7b0521465e Add support for bootstrapping iDRACs on Dell servers
The idrac-bootstrap.yml playbook is intended to bootstrap network configuration
of the iDRACs on a set of Dell servers. By default, iDRACs have a known static
IP address (192.168.0.120) and a set of default credentials configured. Since
all iDRACs have the same default IP address, we need a way to isolate a single
iDRAC while we set its network configuration. We do this using a temporary VLAN
accessible from one of the controllers.
2017-03-24 16:14:48 +00:00
Mark Goddard
dc45036c92 Add a net_mask filter 2017-03-24 15:11:32 +00:00
Mark Goddard
17ce724fa4 Move Dell switch configuration to a dell-switch role
This encapsulates the differences between switch OS modules. Also add support
for global switch configuration.
2017-03-24 15:11:32 +00:00
Mark Goddard
12884dd121 Add an argument to host configure to wipe block devices
This can be necessary when there are existing partition tables or LVM headers
e.g. from a previous installation.
2017-03-24 15:11:32 +00:00
Mark Goddard
fce4df3143 Merge pull request #3 from oneswig/docker-mtu
Introduce configurable MTU for Docker-encapsulated networking
2017-03-22 12:13:15 +00:00
stack
3b54bf2bd6 Merge branch 'docker-mtu' of https://github.com/oneswig/kayobe into docker-mtu 2017-03-22 11:57:15 +00:00
stack
2014888acc Parameter encapsulation for Docker role 2017-03-22 11:54:10 +00:00
Mark Goddard
7be7f4b12b Merge pull request #4 from oneswig/setup-requirements
Read setup.py install_requires from requirements.txt file
2017-03-22 09:57:19 +00:00
Stig Telfer
01c3a83d38 Update main.yml 2017-03-22 09:52:20 +00:00
stack
99abd72374 Read setup.py install_requires from requirements.txt file 2017-03-22 09:32:52 +00:00
stack
cf5db1d59c Second pass at Docker MTU assignment 2017-03-22 09:30:59 +00:00
stack
a5fe4b7702 Introduce 1450 MTU for Docker-encapsulated networking 2017-03-20 22:02:45 +00:00
Mark Goddard
0096f42508 Merge pull request #2 from oneswig/add-epel
Add EPEL repo for python-pip
2017-03-20 11:39:31 +00:00
stack
3b95716114 Add EPEL repo for python-pip 2017-03-20 11:04:29 +00:00
stack
9b3369417a Add ansible and netaddr as dependencies of kayobe 2017-03-17 19:48:18 +00:00
stack
25ca11bcf5 Use forked interfaces role with support for improved interface bouncing 2017-03-17 19:47:30 +00:00
stack
da5721a90a Use forked interfaces role with support for MTU configuration 2017-03-17 17:18:34 +00:00
stack
6b2f5dd7e2 Add support for configuring MTU on network interfaces 2017-03-17 17:12:27 +00:00
stack
873b694c74 Use our fork of the network interfaces role until a fix has been merged 2017-03-17 15:54:38 +00:00
Mark Goddard
db81292c4e Remove --bifrost-limit CLI argument - now works with --limit 2017-03-17 13:16:10 +00:00
Mark Goddard
7ef2e49bcc Check controller nodes' provisioning states and proceed to available 2017-03-17 13:06:40 +00:00
Mark Goddard
495f8c25ca Wait for controller nodes to become active after provisioning
This ensures that we don't falsely detect the IPA ramdisk's SSH server when
waiting for SSH access.
2017-03-17 11:06:18 +00:00
Mark Goddard
52833cf481 Use static IP on provisioning network to access the seed
This saves us some messing around with the dynamic libvirt IP address
and writing out the IP address to the Ansible inventory.
2017-03-16 13:57:14 +00:00
Mark Goddard
3ca08afd93 Add kayobe CLI command to configure the physical network
Currently this can configure interfaces on DellOS6 switches only but can be
extended to support other makes and models.
2017-03-16 11:02:53 +00:00
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