| Age | Commit message (Collapse) | Author | Files | Lines |
|
Add mariadb_clustercheck image with xinetd and clustercheck binary for haproxy
checking of galera status.
Reorganise existing mariadb images by creating mariadb-base and mariadb-server.
Existing mariadb image will be deprecated (in a separate change).
Change-Id: Ib601f64e1514521154beeaac40f0c058a7119408
|
|
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
|
|
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
|
|
blueprint container-health-check
Now docker supports healthcheck directive[0] in Dockerfile,
which is helpful for checking container aliveness.
Base for this patch were healthcheck scripts from tripleo[1].
[0] https://docs.docker.com/engine/reference/builder/#healthcheck
[1] https://github.com/openstack/tripleo-common/tree/master/healthcheck
Change-Id: Ifc32713cd4d6b45c74855c0ebf5bb65784701d44
|
|
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
|
|
XtraBackup started failing to install on Ubuntu and does not support
MariaDB 10.3 version.
Related-Bug: #1843043
Change-Id: I9cf62c8e03a02574d85e5349df1d23a51d4c99be
|
|
MariaDB in Ubuntu packages is backlevel (10.1).
Devstack gates are tested on MySQL 5.7 which is not compatible
with MariaDB 10.1.
Neutron recently introduced a db migration
that breaks on MariaDB 10.1, but works on MariaDB 10.3 [0].
Bumping up version to 10.3 on Ubuntu to match CentOS (RDO) version.
[0]: https://review.opendev.org/#/c/677221/
Closes-Bug: #1841907
Change-Id: I16e4c40208912691e3015bfe2065ea0ce2358edb
|
|
Usage of dumb-init can also be disabled from cli with
`--nouse-dumb-init` when building images.
Also moves ENTRYPOINT outside of dumb_init_installation
block.
Change-Id: Id32d54fc9913b83cf121ede5a5e265e0772062ae
Related-Bug: #1821970
|
|
There are a couple of issues with the mariadb image currently.
1. it doesn't include mysql_upgrade on CentOS/RHEL. It is necessary to
run this after an upgrade of MariaDB. This is fixed by installing
mariadb-server-utils.
2. it inherits the standard dumb-init entrypoint from the base image,
which includes a --single-child argument. That causes signals to be
forwarded only to the process executed by dumb-init, which in the
case of kolla-ansible is mysqld_safe, however mysqld_safe ignores
SIGTERM. After a timeout, Docker then forcibly kills the container.
Executing dumb-init without --single-child ensures the TERM signal is
sent to mysqld, allowing it to shutdown gracefully.
Change-Id: I1a450736721863b91be1ea3d3c8948990de9fdeb
Closes-Bug: #1820325
|
|
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
|
|
Mysql-python is a deprecated package and fails to build currently.
Make use of mysqlclient as is a fork of mysql-python with many bug
fixes a python3 support.
percona xtrabackup doenst work with mariadb 10.3,
replaces to use mariadb-backup tool.
https://jira.mariadb.org/browse/MDEV-15774
Change-Id: Icefe3a77fb12d57c869521000d458e3f58435374
|
|
Ubuntu 18.04 has been released. We need upgrade to it this cycle.
Changes made in this patch
- Bump ubuntu repo from xenial to bionic. Some repos do not have bionic
packages, so still using xenial repos.
- Drop mariadb, percona and nfs-ganesha repo, because these packages are
already provided by Ubuntu official repo.
- Since qdrouterd does not have bionic repo and xenial packages does not
work on Ubuntu bionic, just add it into ignore image list.
- Use python-rtslib-fb and targetcli-fb rather than python-rtslib
and targetcli
- use xen-utils package name rather than with package version one.
- Seems unsigned repo won't work on Ubuntu bionic, stop using infra
mirrored unsigned repo in gate building job.
Needed-By: https://review.openstack.org/568728
Implement blueprint: ubuntu-bionic
Change-Id: I4e3b0ca669cfbf6316bf591f2d8428fa1a0d6182
|
|
Change-Id: I4fdab197e18b25f6af7275da6ecbdb9c516ba0a5
|
|
We would need socat tool to perform healthchecks on the various containers.
Closes-Bug: #1749227
Change-Id: Ibda77a8d041d894f5efac6578e52b11651bca97f
|
|
RDO packaged mariadb recieves far more testing and qualification
than any other mariadb package on CentOS. Lets use that instead
of a hard-pinned old version of mariadb from mariadb.org.
This patch also upgrade MariaDB from 10.0 to 10.1.20 for
RHEL/CentOS/Oracle Linux.
Depends-On: I8374ac2219ad7880970cd789727d01af7cac1077
Depends-On: Ia2acb09e877a586243fc1acb49d8d140cf27d7b5
Co-Authored-By: Xinliang Liu <xinliang.liu@linaro.org>
Change-Id: I071362fc1b8d60199a77e2fe0475d2b4c3b5341b
|
|
Closes-bug: #1733262
Change-Id: I2d0a3422ba6a077a309c1fe967a2a62ef5ce6a36
Signed-off-by: Kevin Zhao <kevin.zhao@arm.com>
|
|
|
|
Ubuntu builds use external MariaDB repository on x86-64 and ppc64le. But
that repo does not provide packages for AArch64 so I use mariadb/mysql
packages from distribution instead.
Partially-Implements: blueprint multiarch-and-arm64-containers
Change-Id: Ia3c3d3858082613718626670f9ff11b69d913c40
|
|
centos based images have wrong label info,
these changes fix own image's name and build-date.
Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
|
|
|
|
|
|
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
|
|
Debian 'jessie' even with backports lacks some packages Kolla expects. Due
to this we (Linaro) move to Debian 'stretch' release with our OpenStack
work.
Stretch is now frozen so there should not be many changes.
Partially-Implements: blueprint multiarch-and-arm64-containers
Change-Id: Iab7232cbe6f8fc3e3de10c67f3d89f134b185f05
|
|
MariaDB-* packages are from external 'x86_64 only' repository. Other
architectures use CentOS packages.
Split needs to be done as 'mariadb-devel' is provided by three different
packages on x86-64.
Partially-Implements: blueprint multiarch-and-arm64-containers
Depends-On: I71ddb7ef57c64d2505cac96724b1ab6772a57d6a
Change-Id: I9f3394eb35723f2bbf3205c6af6101b5a9daed38
|
|
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
|
|
Some images have packages sorted alphabetically and some not.
Unify common style between all images.
Change-Id: I906ed89c10b12886665618752f525ba71d83d991
|
|
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.
Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
|
|
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
|
|
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
|
|
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
|
|
This patchset contains customization of Dockerfile of the MariaDB
container.
Change-Id: Id234f549376ec68c7f6120d058692aa64dc97de0
Partially-implements: blueprint third-party-plugin-support
|
|
Change-Id: I4b109f7fdc3b8e49defed26979b04ca158842e98
Closes-Bug: #1598423
|
|
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
|
|
Change-Id: I6f5b28dc6520e3d31f413b0da708d9b14c9e9671
Partial-Bug:#1569417
|
|
Found another missing clean in mariadb, halves the size of the image.
TrivalFix
Change-Id: Idcbb925a6f232bd1172710456662a52784e025b6
|
|
Added new option in kolla-build.conf
Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56
Closes-Bug:#1514304
|
|
The USER operation affects all docker commands after it. This causes a
problem with our {{ include_footer }} implementation since commands in
that footer may require elevated permissions to perform.
In the current implementation I can no longer remove my proxy settings
once the USER has been changed.
Change-Id: I9b2bab5a15f595f6d52a46c64ddf59ba5608b938
Partially-Implements: blueprint drop-root
|
|
Drop root privileges for mariadb. This isn't perfect. If somemone
breaks out of the container and can run sudo within the contianer,
it would be possible to replace the root credentials of the database.
Any container that uses sudo suffers from some extra attack vector
related to the sudo command. That said, the sudo commands are
locked down to minimize harm.
Change-Id: I4b3573725d940bb8aa90d43a6235d8cf7d30fc64
Partially-Implements: blueprint drop-root
|
|
Atleast in a script, sudo can be made to only allow the script to
run from the mysql process in the future, versus all the proceesses
being able to be executed as root presently.
Change-Id: I030b57086e37e4dc8f668f98c04335d94ab9d2b0
Partially-Implements: blueprint drop-root
|
|
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.
The start.sh is moved into /usr/local/bin/kolla_start in the container
The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.
Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.
Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.
Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
|
|
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.
Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
|
|
I removed the files but not the COPY commands thus breaking all of
Kolla
Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c
Partially-Implements: blueprint replace-config-external
|
|
Add 'rhel' to list for RPM based distros. Also sort the distro
list for rpm packages for affected lines.
Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed
Partially-Implements: blueprint rhel-based-image-support
|
|
Change-Id: I3134ba72e2ce4e85a17facbc3b5af4c1c3438d33
Closes-Bug: #1491740
|