638 Commits

Author SHA1 Message Date
Zuul
b0f726a630 Merge "Fix IPA image download" 2018-10-08 15:37:29 +00:00
Doug Szumski
89560dd65f Remove extra configuration for InfluxDB
InfluxDB config file merging isn't supported in Kolla-Ansible because
it uses 'nested sections' which aren't supported by merge_configs. If
no override file is specified, Kayobe will write out an empty config
file which will then be used as the InfluxDB config file, breaking
InfluxDB. To prevent that happening this change removes the extra
config in Kayobe. It also fixes the directory to which the 'glob'
collected config is copied to, as Kolla-Ansible doesn't look for
Influxdb config files in the influxdb folder.

Change-Id: Iee4b7987934045f0355b4a87cebaebc1aa2bbe77
Story: 2003951
Task: 26868
2018-10-03 13:59:31 +01:00
Mark Goddard
ef84890798 Fix IPA image download
The IPA ramdisk and kernel images may be built or downloaded via a URL.
If the latter option is used, any images previously downloaded to
$KOLLA_CONFIG_PATH/config/ironic/ironic-agent.* would previously not be
updated if the image contents change.

This change introduces variables for setting a URL to a file containing
checksums for the images. The algorithm used to compute the checksum is
also configurable (default sha256). This allows us to ensure we are
using the correct version of the image, while avoiding an expensive few
hundred megabyte image download just to check.

If a checksum is not specified, the image will be downloaded every time
to ensure that it is up to date.

Change-Id: I8120518ed98d61f3652f5205ce7ec9f798ab2aa1
Story: 2001660
Task: 6693
2018-10-02 13:30:11 +01:00
Zuul
f479413b5e Merge "Use pxe_filter instead of deprecated manage_firewall" 2018-10-02 11:12:32 +00:00
Zuul
22ad58ed0d Merge "Fix seed vm deprovision" 2018-10-02 11:08:24 +00:00
Zuul
c19406016d Merge "Fix naming of Kolla install type config option" 2018-10-02 11:00:51 +00:00
Zuul
4b33044eb9 Merge "Update ironic IPA deployment images" 2018-10-02 11:00:51 +00:00
Pierre Riteau
ea565393a5 Fix typos in task names
Change-Id: I4e9030c7786e8c164e83d2d1d56ac3b362597f67
2018-09-28 18:15:45 +01:00
Pierre Riteau
11dbe8bffe Fix seed vm deprovision
The libvirt_vm_vcpus and libvirt_vm_memory_mb variables are required by
the stackhpc.libvirt-vm role even when setting libvirt_vm_state to
absent. Without these variables, `kayobe seed vm deprovision` fails with
the following error:

    FAILED! => {"msg": "'libvirt_vm_vcpus' is undefined"}

Change-Id: If74f4229cf777328e3a02794067caae7aa731a80
2018-09-28 17:33:21 +01:00
Zuul
bf732329ab Merge "Update python dependencies in kolla-ansible virtualenv" 2018-09-28 14:46:26 +00:00
Doug Szumski
62baa42a7d Fix naming of Kolla install type config option
It seems that this has been named install_type since the beginning [1].

[1] https://github.com/openstack/kolla/commit/
    620d610eaaf03217f3a038c031fe28ce43132166

Change-Id: Ie48546d0ef44e04ca0b1b8cd046acb2f127f38c9
Story: 2003904
Task: 26782
2018-09-28 15:17:41 +01:00
Zuul
74c9d431c9 Merge "Allow installing extra packages inside the kolla-ansible virtualenv" 2018-09-28 13:38:46 +00:00
Will Szumski
9048c8c09b Use pxe_filter instead of deprecated manage_firewall
manage_firewall has been deprecated in favor of pxe_filter:

7b27585463 (diff-73313fdfbb51553077f2322499ad8b66R349)

In addition the firewall section has been renamed to iptables:

7b27585463

This seems to affect both queens and rocky.

Change-Id: I439515441f0931c09b3d706613d0f721e8b50b6d
2018-09-28 09:39:40 +01:00
Pierre Riteau
372058c19f Allow installing extra packages inside the kolla-ansible virtualenv
It may be necessary to install extra Python packages inside the
kolla-ansible virtualenv, such as when required by Ansible plugins. For
example, using the hashi_vault lookup plugin requires the hvac Python
package to be installed.

This patch adds a kolla_ansible_venv_extra_requirements list variable
which contains Python package requirements to add to the kolla-ansible
requirements file. Its default value is an empty list.

Change-Id: Ie0541dc05e2ab94af230d0113a23c544755424c7
2018-09-27 12:20:31 +01:00
Doug Szumski
53ee8293cd Support custom config for Barbican
Story: 2003880
Task: 26741
Change-Id: Ia200a5b0de42963643980bdfd3677e3fca833850
2018-09-27 11:12:18 +01:00
Mark Goddard
9831302ea4 Update python dependencies in kolla-ansible virtualenv
If upgrading the kayobe control host environment via kayobe control host
upgrade, kolla-ansible will be upgraded in its virtual environment if
the specified source repo and version are different than those
installed. However, other dependencies, including ansible, will
not be upgraded unless the version constraints require it. Ansible is
specified with an upper bound on the version, so typically this will be
satisfied during an upgrade and will not trigger an upgrade.

This change uses the 'latest' state for the pip module to ensure
packages are updated.

Change-Id: Ica38a1cdfb57c4be81468607800b26fdf3209fe7
Story: 2003878
Task: 26737
2018-09-26 13:06:54 +00:00
Zuul
d6045fb181 Merge "Fix Monasca kolla_enable flags" 2018-09-24 12:56:26 +00:00
Zuul
d2360beae8 Merge "Add support for deploying Apache Storm" 2018-09-24 12:17:35 +00:00
Zuul
5ada3f193c Merge "Use force rebuild feature in stackhpc.os-images role" 2018-09-24 11:41:41 +00:00
Zuul
d22dcbd612 Merge "Add monasca to image regex list" 2018-09-21 21:25:49 +00:00
Zuul
a8ac14055a Merge "Add support for deploying Monasca" 2018-09-21 19:14:36 +00:00
Zuul
68f9ad900d Merge "Support installing PyPI packages via a mirror" 2018-09-18 19:03:01 +00:00
Zuul
8dc93d9a41 Merge "Cleanup unused code" 2018-09-18 19:03:00 +00:00
Zuul
691af3f64f Merge "Support dhcp-hostsdir option in inspector dnsmasq template" 2018-09-18 18:03:37 +00:00
Zuul
f3055a4e65 Merge "Fix duplicate listing of MariaDB image" 2018-09-18 18:00:37 +00:00
Doug Szumski
f536f9aa01 Fix Monasca kolla_enable flags
Update the enable flag for services required by Monasca, rather
than just building the image for the service when Monasca is enabled.

TrivialFix
Change-Id: Ia66bf6d54dd35519ba629901fac9a98892c7e24d
2018-09-14 11:01:41 +01:00
Doug Szumski
d2d9f0d6b7 Add support for deploying Apache Storm
Change-Id: I49afdddb8ba2f9cb4a08071c6acee3a3efb03305
Story: 2001627
Task: 6707
2018-09-14 10:39:50 +01:00
Doug Szumski
d8a300cc24 Add support for deploying Monasca
Change-Id: I63298ae65b9e7bfae340b5448107540a3e518496
Story: 2001627
Task: 6704
2018-09-12 15:43:54 +01:00
Mark Goddard
44b140cedc Use force rebuild feature in stackhpc.os-images role
Change-Id: I21a682c72cee97583dcb4f1a01fa023c6e885608
2018-09-05 14:14:30 +01:00
Mark Goddard
a1ea2cc753 Add monasca to image regex list
Without this monasca images are not built unless explicitly requested.

Monasca images only support the kolla source type, not binary.

Also fixes image builds if the list of regular expressions for an image
build set is empty, kolla will build all images. In our case we actually
want to build none, since it means that no services are enabled for that
image set. The main example of where this could happen is when monasca
is disabled, the list of source-only images will be empty.

Change-Id: I395e73a06b690d4b443af7c5eb8827514f56d03d
TrivialFix
2018-09-05 13:52:27 +01:00
Nick Jones
1ee93450ca Support installing PyPI packages via a mirror
Add the ability to specify a list of users for whom a PyPI mirror should
be configured for commands such as `pip`.  This is accomplished by
installing a couple of configuration files in each user's home directory.

Change-Id: I21304b32c0c686c8dde2e3e1c0d2e2cd07af1eef
Story: 2003315
2018-09-05 08:36:18 +01:00
Mark Goddard
1b5d05dc2e Update ironic IPA deployment images
This will update the the deploy_ramdisk and
deploy kernel properties of  'Driver info'
field on Ironic nodes if the locally built
or externally referenced images are updated.

Change-Id: Id3997db452dde6e6e242a9b1091cb219c53ebda1
2018-09-03 15:29:58 +01:00
Mark Goddard
bea399ef81 Per-host network interface configuration
Adds support for configuration of per-host network interfaces in Kolla Ansible.
Previously, all interfaces were configured in globals.yml, meaning that all
hosts used the same interface names. Now, interfaces are configured for each
host via inventory files.

This does have the drawback that host entries in the inventory are rather long
and not too readable. An improvement on this could be to generate host_vars
files. With a little more intelligence, it would be possible to use group_vars
files or even globals.yml when interfaces are uniform within a group or
globally.

Change-Id: I95a128d762ff9faf70467f83cb276a5ab619d1ea
Story: 2001658
Task: 6691
2018-09-03 11:36:56 +01:00
Zuul
026e57af51 Merge "Add commands to update packages on hosts" 2018-08-30 17:11:35 +00:00
Zuul
f97582c41d Merge "Template inspector.ipxe" 2018-08-30 16:47:48 +00:00
Zuul
a4ad60d769 Merge "Add Open vSwitch as a supported switch type" 2018-08-30 16:43:15 +00:00
Mark Goddard
14ad2a2a60 Fix duplicate listing of MariaDB image
Also ensure the flag is applied.

TrivialFix

Change-Id: Ie36a71670f1a6412d00e05fac963b74c9e85c937
2018-08-30 11:12:56 +01:00
Mark Goddard
31765172d6 Support dhcp-hostsdir option in inspector dnsmasq template
This is required if the Ironic Inspector dnsmasq PXE filter is in use.

Change-Id: I35f19f447584540860be1989abcae3d6882b98c1
2018-08-30 10:54:20 +01:00
Mark Goddard
679de79cfc Switch inspection store to use stable docker image
The latest image is currently failing to download, with the following
error:

no matching manifest for unknown in the manifest list entries

This is currently blocking CI.

Change-Id: I3b4acadd53fe171e71ee16e0eb0b7a711fa97a4f
TrivialFix
2018-08-29 12:14:48 +01:00
Mark Goddard
c1ecbcda3d Cleanup unused code
Remove testing playbooks, and compute-node-flavors.yml for
autogenerating flavors from baremetal nodes. These are no longer used.

Change-Id: I41903c0110e4b0f4a31942fd41cc9e6fde2a46e2
2018-08-29 09:25:41 +01:00
Zuul
85e0e77129 Merge "Fixes for baremetal compute commands" 2018-08-28 10:48:16 +00:00
Mark Goddard
491ed919d6 Add commands to update packages on hosts
Just performs a yum update.

Change-Id: I4cdc23a3e491c5a2f92e8beeb7eaebf2df818df3
Story: 2003305
Task: 24257
2018-08-23 13:40:43 +01:00
Mark Goddard
e748c1d591 RabbitMQ upgrade fails due to stale /etc/hosts
This bug was previously fixed but the fix did not cover all cases. This
issue is still present if an IP address other than 127.0.0.1 or the
admin IP address (but not the internal API IP address, which is correct)
is in /etc/hosts. For example, in CI we often see 127.0.1.1.

This change removes all entries from /etc/hosts for the host's current
hostname, other than the internal API IP address. It also adds a call to
rabbitmqctl status to verify that the change has worked.

Related: We ought to improve the kolla ansible prechecks to catch the
case when there is more than one IP address mapping for the host's
current hostname.

Change-Id: I2cb9928e04005c6961f3de7c571c9a06361c4f23
Story: 2003496
Task: 24773
2018-08-20 17:08:46 +01:00
Mark Goddard
21ce37e698 Fixes for baremetal compute commands
Gather facts prior to using the stackhpc.os-shade role. This is required
following a recent change in that role to reference the ansible_user_uid and
ansible_user_gid facts.

Allow 'kayobe baremetal compute rename' command to ignore compute nodes in the
ansible inventory but not found in ironic.

Change-Id: I75a2f0dd0192e41de7b91376bb32b4149df04a60
TrivialFix
2018-08-17 13:51:01 +01:00
Mark Goddard
27d833f13f Fix kayobe overcloud service config save
If Kolla Ansible config files are not readable by the kayobe (stack)
user, the command will fail. This is fixed by using become.

Also improves the command output, by showing only the path of each file
rather than the full stat result.

Change-Id: I466e6a75822a1b2d2f91c9fadc9730c2cdb5bba0
TrivialFix
2018-08-17 13:15:25 +01:00
Will Miller
d5ccd8d286 Add Open vSwitch as a supported switch type
Change-Id: I48d97a0c3ff49bdb9e5d5725d5afe7e1aeb09e99
2018-08-16 08:05:48 +00:00
Mark Goddard
9b8ee81869 Install setuptools when using easy_install
Change-Id: Iee7da01c111a2fdac986861c1da113c075259854
Story: 2003380
Task: 24455
2018-08-09 10:11:39 +01:00
Will Szumski
5e3986b88f Template inspector.ipxe
This adds `kolla_inspector_extra_kernel_options` to the
inspector.ipxe boot script. This is necessary to get the
inspector to collect the necessary LLDP data,
extra hardware data, etc. that is required for various
introspection rules to function correctly.

Change-Id: Ie7d6e1f12fb438e3b7e2c2a9de3ad8853947bee0
2018-08-06 10:05:31 +01:00
Zuul
6f66f3a517 Merge "Use host networking for inspection store" 2018-08-02 20:52:17 +00:00
Zuul
6afc0cb07f Merge "Make kolla ansible user and group configurable" 2018-08-02 20:51:08 +00:00