Commit Graph

57 Commits

Author SHA1 Message Date
Robin Klostermeyer f54fb018b0 Add ironic-prometheus-exporter
This commit adds the ironic-prometheus-exporter, following the
conventions used by the previously integrated exporters. '[The] Ironic
Prometheus Exporter is a Tool to expose hardware sensor data in the
Prometheus format through an HTTP endpoint.'[0]

[0] https://opendev.org/openstack/ironic-prometheus-exporter

Change-Id: If833f1f4a33c27cdc941dcc7cd5bbb06b26e1eaf
2023-08-29 12:40:24 +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
Marcin Juszkiewicz 53443c5c71 Remove support for CentOS 7
With the move to RHEL/CentOS 8 we no longer have Python 2 in our images
so there is no need for checking which Python version (2.x or 3.x) is
used inside of containers.

We also no longer have to support yum as a value for
distro_package_manager.

Partially-Implements: blueprint centos-rhel-8

Change-Id: Ie45cf3465fedddbde7856961527421883ba3d5c9
2020-04-15 09:32:06 +00: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
Antony Messerli 7234e8b2f7 Add ssh clients to Ironic Conductor container
Adds ssh clients to Ironic Conductor container for
ansible deploy interface.

Change-Id: Ib995c6ebe5ee76ee1a39e4b5918a79bd61b87a01
Closes-Bug: #1862079
2020-02-06 15:02:26 -06:00
Antony Messerli 4a67e58f79 Adds python3-systemd for ansible deploy interface
When doing a source install, ironic doesn't have python3-systemd as a
dependency and the current ironic-conductor container doesn't install
the required dependencies which causes the ansible deploy interface to
fail with the error, "Systemd bindings do not exist".  This adds the
needed dependencies when doing a source build.  This installs the needed
files for both rpm and deb builds on python 2.x and 3.x.

Change-Id: I5d1bcb0f7d7902b4e122c12697483433bcf52ca2
Closes-Bug: #1861427
2020-01-30 22:00:10 -06:00
Mark Goddard 397651ec4b CentOS 8: Remove shellinabox from ironic-conductor
shellinabox is used by ironic-conductor to provide a browser-based shell
to access the consoles of nodes. It is not used by all console drivers,
and is not used in the integration with nova serial consoles.

The package was previously installed from EPEL7, but is not currently
provided by EPEL8.

This change removes the package to allow the ironic-conductor image to
build.

Change-Id: I210d9fddd6948dab1feb5abf59a50bce86f21f0f
Partially-Implements: blueprint centos-rhel-8
2020-01-29 14:16:27 +00:00
Mark Goddard 4b4e26262b CentOS 8: Update packages in images
* Some further changes for python2 vs python3 packages
* Allow rabbitmq 3.7.*, since a newer erlang is available
* Switch from qemu-img-ev to qemu-img on CentOS 8
* bridge-utils no longer available on CentOS 8
* libvirt-daemon-driver-lxc no longer available on CentOS 8
* Mark some more images buildable for CentOS 8

Change-Id: Iaf5b68ff6d944ae730ca0b1d5832172c106a6c08
Partially-Implements: blueprint centos-rhel-8
Partially-Implements: blueprint centos-rhel-python-3
2020-01-29 11:41:38 +00:00
Marcin Juszkiewicz cf11cd6f3d Enable repos only when needed
Disable external repositories by default and enable only when needed.

Depends-on: https://review.opendev.org/696480

Implements: blueprint repos-off-by-default

Change-Id: Icf2a8397a8349e0fe849d88d160409fd234480a9
2019-11-29 11:38:06 +01:00
Mark Goddard fa8e174be6 Remove support for OracleLinux
We have agreed to remove support for Oracle Linux.

http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006896.html

Change-Id: I961dfba1aeef2c509ecdaf376dfe6928926ffb39
Depends-On: https://review.opendev.org/682858
2019-09-18 13:42:47 +01:00
Mark Goddard aa59f0db6f Debian/Ubuntu: more python3 packages for binary
backport: Stein

During the switch to Stein UCA, we did not switch all packages to python
3 for Debian/Ubuntu binary images. This change switches some more of
those packages.

Change-Id: I0bff21384d88ea678608392de2db1ba418c96665
Co-Authored-By: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2019-06-06 11:06:58 +00:00
Mark Goddard 856b2c8824 Install udevadm in ironic-conductor image
backport: rocky, queens

A dependency on udevadm was recently added to ironic-lib:

https://review.opendev.org/#/q/I9db48a3462422749290bbb887c14816734ab0478

Change-Id: I6c5746606ab59fd88e35525ecc17a62bfa9211e6
Closes-Bug: #1825784
2019-04-24 10:54:50 +01:00
Alex Schultz b13e8ec315 Use virtual package for ansible
Rather than specify ansible-python3 or ansible, we can try the virtual
package for the python specific version of ansible.

Change-Id: I246edfaf8cc0ee12852c18c6f9027e48880797a4
2019-03-13 08:15:38 -06:00
Alex Schultz 3e5d8e2653 Add python3 packages for RHEL systems
RDO is currently working on python3 support for the next version of
CentOS/RHEL based systems.  This package uses the distro_python3 flag
that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to
use the python3 specific package names.  This change only adds python3
package names for RHEL systems.

Conflicts-With: https://review.openstack.org/#/c/636457/
Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a
Related-Blueprint: python3-support
2019-03-12 17:48:18 +00:00
Marcin Juszkiewicz 43b74ccc15 debian/ubuntu: make use of Python3 based packages
Both Ubuntu Stein UCA and Debian 'buster' migrated their OpenStack
packages to Python 3.

Note that Debian 'buster' is not released yet and contains Rocky
packages. Stein ones will be available later.

Co-Authored-By: Lee Yarwood <lyarwood@redhat.com>
Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>

Change-Id: I160f79cc57f54ec3eac857c5babd1a6e2656d228
2019-02-28 13:06:24 +01: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
Cédric Jeanneret b4a7bcae62 Do not load iscsi_tcp from within a container.
The module must be loaded from the host directly in order
to avoid any SELinux issues.

There are examples in kolla-ansible and tripleo-heat-templates:
- https://review.openstack.org/#/c/605624/
- https://review.openstack.org/#/c/605450/

Change-Id: Ica68a109c3ed577e6a339ef315b576061cd557e5
Related-Bug: 1794550
2018-11-07 16:32:04 +01:00
Dan Williams b18b6a6d1d Add ironic-staging-drivers to ironic-conductor for RHEL family binary and source based builds.
Change-Id: I1a7533c738edeff4e696e95b9b267c23a78003e9
Closes-Bug: #1796194
2018-10-05 15:27:58 +01:00
Attila Fazekas a917eb7166 Using qemu-kvm on rhel
qemu-kvm-ev was used with centos,
in case of rhel when you have
access to the virtualisation related channels qemu-kvm pulls
qemu-kvm-rhev which is the recommended one.

qemu-kvm-ev was referenced by devstack long time ago,
but the explicit package install on rhel family today
is qemu-kvm and not qemu-kvm-ev.

I am unsure about the other distros, so just changing rhel.

Change-Id: If6d1e0367730fa80284395be33674a7cd1465389
2018-08-06 10:00:09 +00:00
Martin André 5951977eab Stop using deprecated rpm package names
These packages produce a warning during the installation, we should
switch to their new names, usually to be specific about their use of
python2.

Change-Id: I0a80e822f64222d9a32aabd1fd834bcf794d6320
2018-07-10 16:32:18 +02:00
Martin Mágr 293a1d9f8c Add socat to base image
We would need socat tool to perform healthchecks on the various containers.

Closes-Bug: #1749227
Change-Id: Ibda77a8d041d894f5efac6578e52b11651bca97f
2018-02-14 11:57:34 +01:00
Dmitry Tantsur 450f41aaa3 ironic-conductor: update driver dependencies for Queens
* Added python-sushy for CentOS/RHEL for the redfish driver
  (introduced in the Pike release).
* Added ansible and systemd-python for ansible driver
  (introduced in the Queens cycle).
* Added python-scciclient as it was packaged for CentOS/RHEL.
* Removed seamicroclient, pyghmi and pyremotevbox as the
  corresponding drivers were removed.
* Removed wsman as no drivers use it any more: the AMT driver
  was removed, the iDrac driver switched to python-dracclient.

Most of removals happened as part of the Ocata driver cleanup:
https://docs.openstack.org/releasenotes/ironic/ocata.html#id9

Change-Id: I8774a45bb1cfcdf5c3b675e235fb074af4a9646c
2017-12-12 08:23:48 +01:00
Mark Goddard 5244d7e21d Add e2fsprogs and xfsprogs to ironic-conductor
These are required for formatting ext and XFS ephemeral disk partitions
when using the iSCSI deployment drivers.

Change-Id: Icd187cdd1eb0cb36fbda6c04304bd25d31199bd7
Closes-Bug: #1701320
2017-06-29 17:44:04 +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
Jenkins 99e2b96764 Merge "Use separate sudoers for ironic conductor modprobe" 2017-04-04 06:34:43 +00:00
Mark Goddard 1c3336c8c9 Use separate sudoers for ironic conductor modprobe
The original fix (8b101b28a1) for bug
1676466 added unnecessary entries to the sudoers file in the
ironic-base image. These included a rootwrap entry pointing to the
virtualenv used by source type images (not present in binary type
images) and a modprobe iscsi_tcp which is only required by the
ironic-conductor image.

This change adds a single sudoers file for the iscsi_tcp modprobe
to the ironic-conductor image and reverts to the common pattern of
adding a sudoers file to ironic-base only for source type images.

Change-Id: I89f1c4bd741de9ba184f14fcbcb708636616e420
Closes-bug: #1678143
Related-bug: #1676466
Related-bug: #1667864
2017-03-31 14:37:30 +01:00
Eduardo Gonzalez 623e54da37 Alphabetize packages
Some images have packages sorted alphabetically and some not.
Unify common style between all images.

Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-03-28 16:45:16 +01:00
Marcin Juszkiewicz 441c9f262b ironic-conductor: add missing comma for centos/source build
Due to missing comma images built for centos/source lacked dosfstools
and util-linux packages.

Closes-Bug: #1675414

Change-Id: I2fa284890f038c5dcf18669ed19c123f6850d4a2
2017-03-23 14:28:37 +01:00
Jeffrey Zhang 05c0d6998b Load iscsi_tcp module when starting ironic-conductor
ironic-conductor depends on iscsi_tcp module

Change-Id: I1dd7d1a8cd67bbdfc1262b39aa96997c12681900
Closes-Bug: #1672245
2017-03-14 11:17:45 +08:00
Jenkins 5108cc177c Merge "Install shellinabox and socat packages in ironic" 2017-02-21 07:35:24 +00:00
Jeffrey Zhang 846203d81d Install shellinabox and socat packages in ironic
These packages are needed by ironic console.

Change-Id: Ieff5142935fb55cc9860d6cd4f195da095a01449
Closes-Bug: #1666131
2017-02-20 15:56:36 +08: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
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
Jeffrey Zhang abca6a93b7 Install mkfs.vfat tool in ironic-conductor image
Change-Id: I969a769cf349b130035b9136e570849782e9247a
Closes-Bug: #1642578
2016-11-20 21:14:39 +08:00
Christian Berendt 5cd30d4914 Remove Fedora support
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-11-03 10:50:22 +01:00
Jeffrey Zhang 7786f393d6 Install the packages needed by different ironic drivers
Change-Id: If3f30f58eae31753d34e94d030d1f37d9a1e6c47
Closes-Bug: #1635128
2016-10-20 14:40:26 +08:00
Jeffrey Zhang fb915b5a91 Add hexdump package for ironic-conductor container
On RedHat family distro, util-linux provides the hexdump. On Debian
family distro, bsdmainutils provides the hexdump.

Change-Id: If762f570639782ca477ae4697f354d88c992613b
Closes-Bug: #1627755
2016-10-04 01:43:57 +00:00
Jeffrey Zhang 903b0ff211 Fix ironic failed
* Mount system folder in ironic-conductor
* Add package need in ironic-conductor
* Fix the log path issue
* Add ironic sudoer in ironic-base
* Fix credential issue
* Do not start nova-compute when enable ironic

Closes-Bug: #1629334
Change-Id: If9d478c6513de37465403d458a88cf0da7ebd8a6
2016-10-03 07:53:21 +00:00
caowei fec6382d2d Fix ironic Dockerfile
1.Change "ironic_base" to "ironic_inspector" in ironic-inspector Dockerfile
2.add {% block footer %}{% endblock %}
TrivialFix

Closes-Bug: #1625131
Change-Id: Ibd02676e91a9b00cb1a46e7d00eaa3ab2c6c6412
2016-09-19 19:10:51 +08: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
Shaun Smekel b597c90827 Customizations for Ironic
This patchset contains customization of Dockerfile of Ironic
containers.

Change-Id: If6ffb741111127886f754ddebd17059174387fc8
Partially-implements: blueprint third-party-plugin-support
2016-08-25 20:22:04 +10:00
Swapnil Kulkarni (coolsvap) 435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00
Andrey Shestakov 6345313d17 Add missing files in ironic containers
Added missing package for qemu-img in centos container
Added pxelinux.0 in ironic-pxe in centos container

TrivialFix

Change-Id: I706284824f915caf974b1247520c3e4025c47f57
2016-03-11 16:10:28 +02:00
Andrey Shestakov ccc2ad57eb Ironic ubuntu binary container
Change-Id: I94ef03c11657d36261f3ddc63056422f84ec2c6a
Partially-Implements: blueprint binary-ubuntu
2016-01-20 12:14:16 +00:00
Wanlong Gao e25c12fee6 ironic-conductor: install ipmitool for source deploy in centos
Change-Id: Ib6b095341c8d63b365d3575478b4dafa69720b63
Closes-Bug: #1534900
2016-01-16 16:19:39 +08:00
Andrey Shestakov 69fc0bbde7 Add required packages to ironic-conductor container
ironic-conductor service requires qemu-img and ipmitool utils.

TrivialFix
Change-Id: I5489087031c9b209ead862a531ce4544e20265ee
2015-11-26 16:22:45 +02:00
Swapnil Kulkarni (coolsvap) 44251da0c6 Drop root for ironic
Updates to ensure commands run in the ironic containers
are done as the 'ironic' user rather than root.

Change-Id: I491041ce02fb5dd3eb60c6ae9169f26d8a8919dd
Partially-Implements: blueprint drop-root
2015-11-24 21:28:38 +05:30