1941 Commits

Author SHA1 Message Date
Dmitry Tantsur
12c6f7120f Quick start Bifrost CLI
This change adds a local CLI ./bifrost-cli that allows to easily
run bifrost playbooks. It is targeting early adopters and thus
is opinionated and does not expose all possible options.

Only the very minimum is provided in this patch. More options
will be added later as we decide they are important.

Documentation will also be provided later as it's going to be
quite large. This feature should be considered technical preview
at this point until we give it more testing.

Change-Id: I2205e759431024124518716eccd07f79bda14f3a
2020-06-10 15:03:47 +02:00
Dmitry Tantsur
3fe85c5780 Add an option to use pre-built DIB images
Change-Id: I391c423a9ce4d1cb948e887cac3fe53987c3c39e
2020-06-10 15:03:22 +02:00
Dmitry Tantsur
d5a279a183 bifrost-create-vm-nodes: generate a normal nodes.json
Change-Id: Ie281b1e9b3ce630a6e15a54e38b282f54b1be925
2020-06-06 16:34:34 +02:00
Dmitry Tantsur
0477e45cd9 Set default deploy/rescue kernel/ramdisk in ironic.conf
Most likely people will use the kernel/ramdisk we provide, let's set
the defaults.

Change-Id: Ia7a2698344f8f1a14356dbfe9cd68ce667019606
2020-06-06 16:34:27 +02:00
Zuul
b33401b46c Merge "Restore installing DIB-specific dependencies" 2020-06-06 13:02:15 +00:00
Zuul
bd4a22f682 Merge "Moving to ansible 2.9" 2020-06-05 12:51:39 +00:00
Dmitry Tantsur
23f467bb18 Restore installing DIB-specific dependencies
Removed by mistake in 7e363d431890ead1582a09e1b61cadb575e35c82.

Change-Id: I523b5cdbf0fe1163469ac8d5f3ba2ecc6b5e6a44
2020-06-05 13:56:16 +02:00
Zuul
027aa7f720 Merge "Documentation: minor fixes in the user guide" 2020-06-05 11:13:26 +00:00
Zuul
62380f3868 Merge "Install metalsmith by default" 2020-06-05 11:13:24 +00:00
Iury Gregory Melo Ferreira
9c9c014908 Moving to ansible 2.9
Some code changes were necessary since the Ansible-provided jinja tests
as filters was removed in ansible 2.9, see [1]

[1] https://docs.ansible.com/ansible/latest/porting_guides/porting_guide_2.5.html#jinja-tests-used-as-filters

Co-authored-by: Kaio Oliveira <kaio.kassiano.oliveira@gmail.com>
Change-Id: I2f1c2ece0543eb60ac5ac5f9ad1465ffd2d66592
2020-06-05 12:34:22 +02:00
Dmitry Tantsur
8aa8086ab2 Switch to using virtual envs by default
They're already used in the CI, and chances are high that non-venv installation
is broken on at least some supported systems.

Change-Id: Ie3c93a0a1537658eaccf69da3f64d0fc43f292d1
2020-06-05 11:46:04 +02:00
Zuul
51f1bea437 Merge "Drop hard requirement on debootstrap and EPEL" 2020-06-05 09:42:54 +00:00
Zuul
ce65a9ae78 Merge "Support Ubuntu Focal (20.04)" 2020-06-05 09:32:38 +00:00
Zuul
11cd5b008c Merge "Install uWSGI from PyPI to repair CentOS 8 support" 2020-06-05 09:27:27 +00:00
Zuul
506608c575 Merge "Enable manual-management and the noop management interface" 2020-06-05 09:16:24 +00:00
Dmitry Tantsur
b86f478228 Set disable_dnsmasq_dns to True
We don't use its DNS capabilities, and leaving DNS enabled conflicts
with the local resolved on at least Bionic.

Story: #2007691
Task: #39834
Change-Id: I1ebd51a9414bb9686aa92376b34f38c029846c07
2020-06-04 16:51:12 +02:00
Dmitry Tantsur
4b2913ab61 Documentation: minor fixes in the user guide
Change-Id: If60bef72c87fc15fc12b209a09d10b91a530ae20
2020-06-04 10:47:58 +02:00
Dmitry Tantsur
7e363d4318 Drop hard requirement on debootstrap and EPEL
EPEL is only needed for debootstrap, debootstrap is only needed when
building Debian/Ubuntu images. Install it on demand and update the docs.

Change-Id: I6b90c91f20b5acd198cabbb89f21a72caaf90c63
2020-06-03 16:41:04 +02:00
Dmitry Tantsur
c9866a0759 Enable manual-management and the noop management interface
They come handy for unsupported or not-well-supported hardware.

Change-Id: I20b207d603636e23d7d407ef26f49770d9e11c6c
2020-06-03 16:11:32 +02:00
Dmitry Tantsur
8593f2378b Install uWSGI from PyPI to repair CentOS 8 support
CentOS 8 does not have uWSGI, not even in EPEL:
https://bugzilla.redhat.com/show_bug.cgi?id=1757157

Since it's installable from PyPI, let's do it instead.
Also update SELinux to enable uWSGI+nginx to operate.

Change-Id: I44d0582e221e24404f427b261bf6d366f5c32775
2020-06-03 16:02:00 +02:00
Zuul
508899cc6b Merge "Remove support for Ubuntu Xenial and Debian Stretch" 2020-06-03 13:33:38 +00:00
Zuul
67d7906e92 Merge "Support Debian Buster and add CI jobs for it" 2020-06-03 12:42:11 +00:00
Dmitry Tantsur
95e78f1e6a Install metalsmith by default
It's a tiny library that provides convenient CLI for ironic.

Change-Id: I806d7fd181db8cd4be206796c8930466c6732d44
2020-06-03 12:58:52 +02:00
Dmitry Tantsur
85e1b82078 CI: reduce memory and disk for testing nodes
There is not reason to use 10 or 12G of disk for Cirros.

Also change the RAM to 512M, although we'll have to revert it back
on master and ussuri once we switch to DIB images by default.

Change-Id: Ibada78686ffb4db1d8dae05acf980081d5265fc6
2020-06-03 11:49:12 +02:00
Dmitry Tantsur
e35293bb89 Support Ubuntu Focal (20.04)
Change-Id: Ic0f88bb979d599b5298cc53033212547a878392b
2020-06-03 10:46:14 +02:00
Dmitry Tantsur
979bcae918 Remove support for Ubuntu Xenial and Debian Stretch
They're broken already, no point in officially supporting them.
Bring support back would require supporting Python 3.5 and other
old packages.

Change-Id: I8012f0cdf2430723379367eb6ab49c3fc0b3d32a
2020-06-03 10:12:07 +02:00
Dmitry Tantsur
ccdfa1d02d Support Debian Buster and add CI jobs for it
Let us extend our supported OS coverage! I also suspect this patch
fixes Debian Stretch support since all required changes seem to
apply to it as well.

Change-Id: I233082dff072ab7033ff68fce7f7b92ad557de80
2020-06-02 11:51:36 +02:00
Zuul
6cd233f8c7 Merge "[Trivial] Correct a typo in the docs" 2020-06-02 09:30:35 +00:00
Zuul
7a339d6f92 Merge "Correct handling enable_venv in pip_install.yml" 2020-06-02 09:30:34 +00:00
Zuul
8bbd6199d5 Merge "Deprecate a separate bifrost-inspector cloud" 2020-06-02 09:11:52 +00:00
Dmitry Tantsur
7a7022b317 [Trivial] Correct a typo in the docs
Follow-up to 08b5bd725a523f4458ada0d49a2e2dfd5ca20e02.

Change-Id: Id788c115e47ff40b2ecfcb078419c39304a120a3
2020-06-02 11:04:25 +02:00
Zuul
69818cfb0c Merge "Stop installing openstackclient if keystone is not enabled" 2020-06-02 09:02:26 +00:00
Zuul
20840a29ec Merge "Avoid running functional jobs for api-ref changes" 2020-06-02 00:08:44 +00:00
Zuul
c15a399989 Merge "Follow up on add Fedora 30 support" 2020-06-02 00:08:43 +00:00
Zuul
3f456527fe Merge "Add Fedora 30 based job" 2020-06-02 00:08:42 +00:00
Zuul
f95bd5e601 Merge "Fix pip3 path" 2020-06-02 00:08:38 +00:00
Zuul
ad3e3df582 Merge "Fix check packages command" 2020-06-02 00:08:37 +00:00
Iury Gregory Melo Ferreira
35329197ad Avoid running functional jobs for api-ref changes
Some functional jobs run in projects that have api-ref code,
we don't need to run functional tests for api-ref only changes.

Change-Id: Ic218f582831930fc7cec2cd024178ac3cd683cd9
2020-06-01 17:55:36 +02:00
Riccardo Pittau
ccfe45816a Follow up on add Fedora 30 support
Fixing nits from precedent patch.

Change-Id: Ifc57774ca4fb2b989294b231d75a0dcf78064867
2020-05-29 15:59:01 +02:00
Zuul
7030161d7d Merge "CI: move the libvirt storage pool to /opt" 2020-05-29 08:20:53 +00:00
Riccardo Pittau
d8e8297178 Add Fedora 30 based job
The current fedora-latest nodeset corresponds to Fedora 30.
We add a non-voting job to give basic support for it.

Change-Id: Ifc027bcdbb9abad652dfe61fc12ee18650d00a77
2020-05-28 16:37:42 +02:00
Dmitry Tantsur
d8ff9ffad4 CI: move the libvirt storage pool to /opt
The default location is too small on some testing nodes.

Removed the MySQL configuration code that has never been executed
because of the non-existing ZUUL_REF variable.

Change-Id: I5fbe2de5423486fdc81d67d4c4bd6d6f3ed79f13
2020-05-28 16:26:09 +02:00
Riccardo Pittau
5182388b7c Fix pip3 path
The pip3 binary can be in a different location from python3.

Change-Id: I19f32c0a8316dc0fca452b7e8d36c777effcbeb5
Story: 2007694
Task: 39806
2020-05-28 14:39:22 +02:00
Riccardo Pittau
d75a07ccb2 Fix check packages command
The dpkg -l command always exits with 0, we should use the -s
option instead that exits with 1 if the package is not installed.

Change-Id: I656b111b77b637a10c9a94fd3880aee377c166f1
2020-05-28 14:39:22 +02:00
Dmitry Tantsur
2be8ee6d85 Fix detection of mkisofs
The shell module does not return an error on command not found, use
the command module.

Change-Id: I030806640ae0843dea1d4eb294f7e909990d40f4
2020-05-28 14:04:11 +02:00
Dmitry Tantsur
bb807b2288 Correct handling enable_venv in pip_install.yml
The way we pass it, it is a string, not a boolean. While ansible
is handling this situation for now, it's deprecated and should
not be relied on. Convert enable_venv to boolean explicitly.

Remove a redundant fact setting and redundant default() from
enable_venv (it is set in role defaults).

Also synchronize pip_install.yml to bifrost-keystone-install.

Change-Id: I35be662c4a60b4085b22d7e01b1691597f82c732
2020-05-28 12:39:01 +02:00
Dmitry Tantsur
d804de86b1 Remove explicit support for EOL Fedora versions and Debian Jessie
Fedora 30 has just reached end-of-life, anything older than that can
be safely dropped.

Debian Jessie reached general end-of-life in 2018 and its LTS ends
in June 2020.

Also update the docs.

Change-Id: Id2339d198d79459fb04990a4d39cedb273f61506
2020-05-27 17:08:17 +02:00
Dmitry Tantsur
a381b0f9c0 install-deps: use system pip and bindep for installing dependencies
Updating pip was required long ago to work around Ubuntu and CentOS 7
problems. Now even CentOS 8 has pip 9.0 which should be enough for us.

Also moving binary dependencies to bindep and install them before
we try to install Python dependencies (to be able to compile them).

Workarounds is needed for segfault on Ubuntu because of cryptography:
remove python3-cryptography package and avoid --ignore-installed.

This change makes install-deps work on openSUSE again.

Change-Id: Ib9b81075f35068c046880de46b20f98ef71a8d8e
2020-05-26 12:17:53 +02:00
Dmitry Tantsur
08b5bd725a Deprecate a separate bifrost-inspector cloud
It is possible to provide both endpoints via one cloud record.

Change-Id: I6a3735a431e570b6d9bf5e6f3fba86fc980ef967
2020-05-25 14:03:41 +02:00
Dmitry Tantsur
0b7fd20e9e Stop installing openstackclient if keystone is not enabled
We have a standalone command now, let's use it.

Change-Id: I446d7b490d4a14ede01384fd72926f85660ea6e7
2020-05-25 12:38:33 +02:00