926 Commits

Author SHA1 Message Date
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
zhulingjie
4938474345 Update some project home page to latest
Change-Id: Id346b6742dda373a3174afbc05c3ffea440c2a42
Story: 2003920
Task: 26820
2018-09-29 12:28:24 -04: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
Zuul
96df3747f5 Merge "Use openstack-hosted development config" 2018-09-27 15:53:59 +00: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
228fe88cf7 Merge "Check nova VM status in CI" 2018-09-26 01:18:47 +00:00
Zuul
236da76300 Merge "Use infra's PyPI mirror during using CI" 2018-09-25 21:48:11 +00:00
Mark Goddard
7fe53c3d16 Check nova VM status in CI
Previously we were not checking the status of created VMs in CI, meaning
that VM creation failures would be silently ignored. This change checks
the status, requiring it to be ACTIVE for a pass.

Change-Id: Ia559c81b4944c2c6c7dedfca0c6c570db390704b
2018-09-25 19:36:29 +01: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
Mark Goddard
f7badb2b37 Use openstack-hosted development config
The Kayobe development configuration has moved to
openstack/kayobe-config-dev. It was previously hosted at
stackhpc/dev-kayobe-config on Github.

This change updates the Zuul configuration and development documentation
to use the new location. It also uses a location for the kayobe source
code that works when kayobe is not the repository against which the code
review is targetted. This allows us to run kayobe jobs for
kayobe-config-dev changes.

Configuration for the seed VM and seed hypervisor development
environments is not yet supported by kayobe-config-dev, so the
documentation references a branch in my personal fork on Github.

Change-Id: I621324093b8dff0ac52a648539cd91bc12da4862
2018-09-24 10:25:48 +01: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
Mark Goddard
f197a65e5a Use infra's PyPI mirror during using CI
Change-Id: I9affd65fea2009404a32825000e74f5edea24832
2018-09-19 14:51:34 +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
Pierre Riteau
1ee04846f6 Fix command for copying the Kayobe configuration
There were two problems with this command. First, we needed to copy the
etc/kayobe directory instead of just etc, to avoid generating an extra
layer of kayobe directories. Second, its behavior was different
depending on whether the target directory already existed or not:
instead, copying files under etc/kayobe always produces a predictable
result.

Change-Id: I3923e1fad2e1e9a5b206db93d48c08545cbdccef
2018-08-31 15:18:00 +01:00
Zuul
026e57af51 Merge "Add commands to update packages on hosts" 2018-08-30 17:11:35 +00:00
Zuul
96e08e7748 Merge "Use overlay Docker storage driver for seed-base" 2018-08-30 17:11:34 +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
zhulingjie
e659fac23d Update the bug link for more accuracy
Change-Id: I03c18616d1bd7e1f6b115f2282f1b5469ede9807
2018-08-30 07:28:58 -04: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
bb79085e0d Merge "Pin Ansible Galaxy dependencies" 2018-08-28 10:48:16 +00:00
Zuul
85e0e77129 Merge "Fixes for baremetal compute commands" 2018-08-28 10:48:16 +00:00