Commit Graph

43 Commits

Author SHA1 Message Date
Will Szumski 832a6381c3 Install ironic-inspector in bifrost
Bifrost has moved to use the native in-band inspection support in
Ironic[1]. Some features are missing (such as introspection rules), so
it may still be desirable to use ironic-inspector for these use cases.
It also requires changes to the inspection interface of the ironic nodes
(ironic-inspector -> agent), so it also desirable to support
ironic-inspector for backwards compatability reasons. We should consider
dropping ironic-inspector once the native interface reaches feature
parity.

This will install ironic-inspector into the image, but will still
require configuration in bifrost.yml to use it.

[1] dcbf1d98b9

Change-Id: I3cc8455647339c67ba51620d5aff8a3acbf58dab
Partial-Bug: #2054685
2024-02-22 15:43:36 +00:00
Michal Nasiadka fb94f3aff7 bifrost: Don't use env-setup
env-setup script removes epel-release and this
breaks our CI template overrides.
It is also more geared towards using in opendev
CI - let's just install proper Ansible version
instead.

Change-Id: I68f645bef05dd15eba41479e3ef6713100fb87d0
2023-12-04 10:54:26 +00:00
Radosław Piliszek 9dd9f425b7 Don't ignore the remaining apt-get update errors
Follow-up to I5ce2eb66a647e1805f086aa37942bf5d13eb4106

So far, I have only observed these causing weird errors later but,
in theory, ignoring these could allow the rest of the code to use
archival (so wrong) entries.

Change-Id: I9cef5ceeb78d431ca232c7b196c48eef5d2ccbca
2022-09-27 10:04:19 +00:00
Marcin Juszkiewicz 878b00013b Move to CentOS Stream 9
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go.

This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is
planned as final solution.

CI moved to CentOS Stream 9 nodes.

Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715

Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
2022-09-27 07:40:06 +00:00
Radosław Piliszek 633c89b423 [bifrost] Force Bifrost to use the correct u-c
Following up on [1], Bifrost also needs to use correct u-c and,
surprise-surprise, this is set via a third variable, this time
environment one for the bash script. Oh well. Let's do it.
This has the added benefit of not requiring additional
download of u-c as it reuses the already existing one.

[1] https://review.opendev.org/c/openstack/kolla/+/842276

Change-Id: I2cc79c476d089977b57006dd4ce2e9a8c6206aa1
2022-05-21 19:38:23 +02:00
Radosław Piliszek 0e3b29c5fd [bifrost] Force Bifrost to use the correct git branch
Bifrost decides on the branches to use by itself.
Early in the cycle, they are often not set correctly and may
break our CI.
This patch ensures we force Bifrost to use the expected branches,
making us independent of Bifrost getting fixed.

Change-Id: I33dbca927062284fd7a06ab6db732dd5e2219c40
2022-05-18 08:05:08 +00:00
Marcin Juszkiewicz 1749da2fbf docker: drop binary parts
Big patch drops all mentions of binary images support. Suggestions are
welcome how to split it into parts or handle better.

Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2022-04-09 17:44:26 +02:00
Radosław Piliszek c4d227cddc [bifrost] Drop workarounds
These are no longer required but block other cleanups.

Change-Id: I13bc63447da878890730e9458b48267a8530d5af
2021-10-02 15:06:40 +00:00
Michal Nasiadka 23631a2369 Fix bifrost network config
Set bifrost internal_ip variable to adapt to change [1].

[1]: https://review.opendev.org/#/c/748230/

Change-Id: Idf401536b482b4088f5fb66408917752fd71726c
2020-09-02 15:23:13 +00:00
Mark Goddard 22f63ab540 bifrost: stop sourcing env-vars
This file has been removed from bifrost, and is not necessary for building.

Change-Id: Id99d275eca5970e9897bbf3e289c37351ba9bdb5
2020-08-27 09:59:05 +01:00
Mark Goddard 7889782113 CentOS 8: Switch last mentions of yum to dnf
Change-Id: I31e9742793cfb1abff9749083c9ce86000dae1af
Partially-Implements: blueprint centos-rhel-8
2020-04-15 14:17:40 +01:00
Christian Berendt 861f55fbfd Add block labels to all Dockerfiles
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
2020-03-01 17:25:58 +00:00
Mark Goddard 1fe8012ce2 Actually disable EPEL, and epel-modular
The disable_extra_repos macro accepts a list as its only argument. We
were calling it like this to disable EPEL:

disable_extra_repos('epel')

The macro interpreted this as a request to disable three repos, e, p, l.
Thanks Python! Type validation to be improved separately.

Additionally, on CentOS 8 the EPEL repository was not included in the
repository mapping file, repos.yaml. There is also another EPEL
repository on CentOS 8, epel-modular, which is enabled by default after
installing epel-release.

This change adds mappings for epel and epel-modular repos to repos.yaml,
and fixes the disabling of epel in the base image, as well as disabling
epel-modular.

There are some cases where EPEL is still used (it seemed a bit too
easy...), and the repository has been enabled for these images:

* bifrost-base (nginx)
* ironic-conductor (C7 only, shellinabox)
* freezer-base (C7 only, trickle)
* gnocchi-base (C8 binary only, python3-boto3)
* mariadb (pv)
* mongodb (C7 only, mongodb)
* nova-spicehtml5proxy (C7 only, spice-html5)
* telegraf (C7 only, python2-pip)

A few other things were changed:

* ironic-conductor does not require the ceph repo
* python3-pika is no longer installed in the openstack-base image

Related: blueprint remove-epel

Change-Id: I3761825239dfc462072383cde6276c4fb3e1bf12
2020-02-26 13:46:04 +00:00
Marcin Juszkiewicz 5e4ade198f docker: fix 'Empty continuation line found' warnings
Whitespaces suxx ;D

Change-Id: I4bfd437c914680a5dcbc67dfe9b0a9a74e2eb35d
2019-12-17 19:11:32 +00:00
Zuul a5178009d8 Merge "Add package systemd-sysv to bifrost-deploy image" 2019-09-19 21:21:58 +00:00
Jan Horstmann 3cbc790abf Remove exemption for non-systemd Ubuntu in bifrost
Unneeded systemd units were never removed for Ubuntu 18.04.
Since Ubuntu 14.04 is no longer supported, this commit removes
the exemption for it.

Change-Id: I764a0e305a95ee9e330041f1e15d35b45a86aa72
2019-09-16 14:38:37 +02:00
Jan Horstmann b69af1ceca Add package systemd-sysv to bifrost-deploy image
CMD of image bifrost-deploy is set to "/sbin/init" which is part
of package "systemd-sysv" on common systemd-based distros.

Change-Id: Ie2195248443e37dc22b713ecd1eb6de2876446d3
Closes-Bug: 1840949
2019-09-16 12:05:21 +00:00
Zuul df5da72054 Merge "Increase gather_facts timeout" 2019-01-25 10:58:48 +00:00
Alex Schultz e1ee85a560 Increase gather_facts timeout
Bifrost containers are failing to build occassionally due to udevadm
timeouts. This is likely related to an ansible issue,
https://github.com/ansible/ansible/issues/43884, which can be worked
around by increasing the gather facts timeout value. This change updates
it to 30 seconds from the default 10.

Change-Id: If252e41a012a24f31cf2f1414657ac18c819228f
Closes-Bug: #1812259
Depends-On: https://review.openstack.org/632078
2019-01-21 17:42:06 +00:00
Alex Schultz ae1322ec10 Use base_package_type
This change updates the docker files to use base_package_type instead
of doing specific distro checks for the rhel/deb generic cases. The
base_distro is still available and is used when a specific distro needs
a customization but if the differences are purely rpm vs deb, then the
base_package_type can be used.

Change-Id: I8d720bb185df65a0178061ccf20b1ab2265da2c5
2019-01-17 08:23:41 -07:00
Mark Goddard 6258a920fd Clear ENTRYPOINT configuration for Bifrost
Bifrost was broken by the recent kolla change [1] to use an ENTRYPOINT
for dumb-init. The container failed to start because dumb-init was
trying to run /sbin/init, which expects to be pid 1.

[1] Id91ebb8b0ecc43946845de386350af0536dd661f

Change-Id: Id77ecfca09dfda8da984589f70a26433214ee3af
Closes-Bug: #1808326
Related-Bug: #1799642
2018-12-13 15:03:16 +00:00
Mark Goddard 840fa07f18 Use rabbitmq package from OS distro for Bifrost
The recent change to upgrade RabbitMQ broke deployment of Bifrost, since
it does not support the newer version of RabbitMQ. This change reverts
the bifrost image to use the package provided by the OS.

Change-Id: Id6c9b879727734ea2c03b2d69e1a673354f52617
2018-10-02 12:14:18 +01:00
Jon Schlueter b50aec6821 add additional Remove yum cache
as a followup to https://review.openstack.org/#/c/505143/
"Remove yum cache"

Change-Id: Ifaaead6f6efe35808ebf79ea0d4474fbb60c8994
2018-07-26 20:06:22 +00:00
Christian Berendt 4de0706190 Cleanup APT lists after installing packages
/var/lib/apt/lists/ can take several MBs so get rid of them after
packages are installed.

Change-Id: Icfff55d92fa5c865f09db5112da28bf452a5a221
2017-11-02 13:55:49 +01:00
Jawon Choo 31259fa595 Override image's meta info.
centos based images have wrong label info,
these changes fix own image's name and build-date.

Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
2017-05-03 11:08:17 +09:00
Chen 8c463a47a9 Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2
Use LABEL instruction instead of MAINTAINER (deprecated) instruc-
tion as suggested by Docker's official dockerfile guide.
docs.docker.com/engine/reference/builder/#maintainer-deprecated

Closes-Bug: #1683652

Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
2017-04-20 16:50:05 +09:00
Marcin Juszkiewicz 69fef5cd59 debian: enable all images enabled for Ubuntu
Debian support is not maintained in Kolla so it got a bit behind Ubuntu
one. This changeset enables Debian for all images. Jessie (even with
backports) may be too old for some images though.

Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order
like it is done for RPM distributions.

Partially-Implements: blueprint multiarch-and-arm64-containers

Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
2017-04-04 22:48:18 +02:00
Mohammed Naser b96334db89 Switch to Kolla virtual environment for Bifrost
By default, the Bifrost Ansible playbooks will naturally run
everything against /usr/bin/python which means that some modules,
such as Shade when it has to be installed will use the system
Python installation.

By adding `ansible_python_interpreter` and pointing it towards
our Python interpreter, it fixes the failures related to system
Python and conflicts related to it (which in this case, resulted
in Shade failing to build properly).

Closes-Bug: #1673776

Change-Id: I2a5a2a3e2627a313b3306aeb1a910efe0e209496
2017-03-18 08:00:17 -04:00
James McCarthy 0439e5fa3d Update bifrost-base Dockerfile.j2 template.
To facilitate build custimisations in template-overrides.j2
for bifrost-base, added a block section wrapping the execution
of the ansible install.yaml playbook.

Change-Id: I4eb18d03b7d7b2a2f65ec3c844af9149f9426949
2017-03-06 10:42:08 +00:00
Jenkins 213a585ee6 Merge "Use install-pip macro in most source images" 2017-02-20 18:22:41 +00:00
Chao Guo 961224c6cf Use install-pip macro in most source images
1. Enable customization of pip packages in source
branch of most images
2. All pip packages install uniformly through
install-pip macro, user can easily customize his
own pip command (For example using a mirror)

Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
2017-02-17 08:49:32 -03:00
Mark Goddard 39e48f2cf9 Use correct inventory file for Bifrost
Bifrost now targets the play in the install.yml playbook at the
target Ansible group instead of localhost.

This change uses the target inventory file to pick up this group
and avoid a 'noop' playbook.

Change-Id: I1b351ccfea5684aeb1394e5a12ee848eb62447fe
Closes-Bug: #1665413
2017-02-16 18:33:31 +00:00
Jeffrey Zhang db9162a841 Fix Kolla gate
There are two issue in kolla gate now. Since source building is voting,
we have to squash these two fixes into one

Disable gpgcheck in grafana repo

Seems there is something wrong in grafana repo gpg key. Disable gpgcheck
until it is fixed

Partial-Bug: #1664272

Add VENV variable in bifrost base Dockerfile

* ANSIBLE_FROM_PYPI is removed in bifrost.
* Only when VENV exist, ansible is installed in global rather then root
  user

Change-Id: Ib96433e6d2a03941cace8ed15dafbb314c4551eb
2017-02-14 13:28:10 +08:00
Jeffrey Zhang e5903d5fa9 Remove include_header and include_footer in all Dockerfiles
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.

Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-02-05 10:44:48 +08:00
Sam Yaple 58eee09c15 use static uid/gid in images
This centralizes all user and group creation into a single source. This
will fix any current and furture uid/gid mismatches (such as with
nova-libvirt).

In the process, we also unify users between the distros in a standard
way. The users in the following containers change from thier defaults:

Ubuntu: _chrony user is now chrony
Ubuntu: memcache user is now memcached
All: qemu user is used for ownership and socket permissions

All uid and gid numbers are customizable via kolla-build.conf

Co-Authored-By: Kris Lindgren <klindgren@godaddy.com>
Change-Id: I120f26ab0683dc87d69727c3df8d4707e52a4543
Partially-Implements: blueprint static-uid-gid
2017-01-17 09:02:21 -03:00
Jeffrey Zhang ccd788de6e install ansible from pypi in bifrost
There are some bug in installing Ansible from source in bifrost, and
install fro pypi is more stable.

Change-Id: Ib51979fabbf57627179e657e35a3bbbdb13b552b
2017-01-17 01:07:10 +00:00
Chao Guo 053044a857 Improve bash command used in bifrost-base image
Improve readability of dockerfile.

Change-Id: I7d923bab5d493c8dfaf7aba1c7f85017ea5cf690
2016-12-26 11:38:35 +08:00
Jenkins 3f28c5c182 Merge "Add kolla_ prefix for all sudoers files" 2016-11-04 15:46:11 +00:00
Jeffrey Zhang d9155867a9 Add kolla_ prefix for all sudoers files
Add kolla_ prefix for all sudoers files in case of overwrite.

TrivialFix

Change-Id: I33cd58caf65a116c8442cb931699867b81dba616
2016-11-04 13:33:45 +00:00
Christian Berendt 5cd30d4914 Remove Fedora support
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-11-03 10:50:22 +01:00
caoyuan a071bce07b Add "---" into some files of yaml
TrivialFix

Change-Id: Id2cd736f136068514f26977b434b15a8b1ffc8be
2016-09-21 11:52:20 +00:00
Paul Bourke b41247c656 Add header blocks to all Dockerfiles
Change needed to add header blocks to all Dockerfiles, similar to the
base.

Use case is to easily run something before packages are installed, e.g.
to COPY a local rpm in that can be added to the package list.

Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee
Closes-Bug: 1618969
2016-09-13 16:53:31 +01:00
Sean Mooney a9e16c8bde introduce bifrost-deploy container
- This change adds support for building and deploying
  a bifrost container for baremetal provisioning.
- This change documents how to manually deploy and bootstrap
  the bifrost container.

Implements: blueprint bifrost-support
Change-Id: I7d895839b11cbf916be33225875465c3358b5aa4
2016-08-31 09:24:24 +00:00