summaryrefslogtreecommitdiff
path: root/docker/kolla-toolbox/Dockerfile.j2
AgeCommit message (Collapse)AuthorFilesLines
2020-04-03Fix multiple CI issuesMark Goddard1-0/+5
1. Pin openstacksdk and client libraries in kolla-toolbox Stein and below only. openstacksdk released 0.45.0 (and possibly 0.44.0 as well) which dropped py2 compat but did not advertise the fact. It was amended later but it will now always affect kolla images until pinned to older. The observable error is: "ImportError: No module named queue" Since Train we pin u-c, but not before that. This change introduces a version constraint for openstacksdk and client libs: - python-novaclient - python-cinderclient - python-keystoneclient - python-glanceclient 2. Make deploy jobs non-voting For similar reasons to 1., the deploy jobs fail when using the openstack client for testing. Due to a dependency loop between these two projects, we must make these jobs non-voting to fix the image build. This should be reverted ASAP. 3. CI: Add https match for mirror.centos.org to template-overrides Some CentOS repos (currently one - Ceph NFS Ganesha) use https://mirror.centos.org instead of http:// and we break their definition by removing mirrorlist= entry and not inserting baseurl entry due to a missing match. Original Change-Id: I7b29f8c6be80820042023d2b85162d5cc9a65f08 Change-Id: I8c2da6437333210a7926f2deb926ab5d1c93c3c6 Closes-Bug: #1870349
2020-02-28Fix kolla_toolbox_pip_virtualenv_packages overrideXing Zhang1-1/+1
backport: train, stein, rocky Override in filter needs to follow the rule: <image_name>_<call_type>_<override/append/remove> `call_type` for `kolla_toolbox_pip_virtualenv_packages` should be `pip_virtualenv_packages`, and `pip_packages` can't match with `kolla_toolbox_pip_virtualenv_packages`, this makes the value can't be overrode in template override. Change-Id: I1dbe2dfd4bce73ce2285f45f997d45b5dcc95f4c Closes-bug: #1865119 (cherry picked from commit 74d5a66e6bf744ad936d702443a8d64be86441ba)
2019-03-28Merge "Fixed file modes in toolbox:/usr/share/ansible"Zuul1-0/+5
2019-03-14Move to Debian 'buster'Marcin Juszkiewicz1-1/+1
Buster is at freeze phase so safe to update and use. Will give us Python 3 based OpenStack packages (usually release delayed). Change-Id: I48c2d252a834716f1bcf10b18f2d32fe541e8137
2019-03-12replace 'distro_python3' variable with 'distro_python_version'Marcin Juszkiewicz1-1/+1
RHEL7 derived distros use Python 2.7 RHEL8 uses Python 3.6 Ubuntu 18.04 uses Python 3.6, but we haven't enabled it yet. Debian:buster uses Python 3.7, but we haven't enabled it yet. We have several places in code where "/lib/pythonX.Y/site-packages" is used so we need to know value of X.Y rather than py2/py3 switch. How to check for Python 2: {% if distro_python_version == '2.7' %} Breaks: Iad6b70b433a0dd1b0f8ae6790fd280594517661a Change-Id: Ie24f109af19ae0438c21e0d43cb3cc947812b4ce
2019-03-11Introduce 'get_pip' macroMarcin Juszkiewicz1-3/+1
We have code for it in four places so it is a good candidate for macro. Change-Id: Icadcbbe5b386bdf688fd67e8160b40974f047377
2019-02-19debian/ubuntu: drop mysql compat stuff, unify on openssl 1.1Marcin Juszkiewicz1-17/+1
Now with Ubuntu 'bionic' being used we can drop libmysqlclient-compat-dev package use and just go with mariadb packages directly. Also move to OpenSSL 1.1 for both distributions. Change-Id: I147385a3da15878121c0a436b5c26ba100e9802d
2019-01-17Use base_package_typeAlex Schultz1-2/+2
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
2018-12-11Required changes for mariadb 10.3Eduardo Gonzalez1-1/+1
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
2018-10-09Fixed file modes in toolbox:/usr/share/ansibleGary Perkins1-0/+5
Sometimes, when deploying with user root, the local repo has files of mode 0600. This has been found to cause "Permission denied" errors when deploying Glance. This little fix is to explicitly set a more permissive file mode on those files to allow the deployment of Glance to setup it's service and endpoints. Change-Id: I30ea6898e7bf1b6713cb41656420e8d515be224e Signed-off-by: Gary Perkins <gary@garyperkins.com>
2018-06-08Update Monasca base and API imagesDoug Szumski1-0/+1
* Support deploying APIs via Apache + mod_wsgi * Include InfluxDB client so that the Monasca API can talk to InfluxDB. Support for Cassandra can be added in a later commit. Change-Id: If71db99d4731967e814c5263f2c2d6f90391c2a6 Partially-Implements: blueprint monasca-containers
2018-05-30Put upper limit on cmd2 in kolla-toolboxMartin André1-0/+1
This fixes an issue with cmd2 >= 0.9.0 requiring python3. Change-Id: I08b606980cb796a6b884e69b3e6749edbdd7cf37 Closes-Bug: #1773938
2018-05-21kolla-toolbox: fix os_config_client path for DebianMarcin Juszkiewicz1-2/+0
(venv-for-kolla) 12:04 (438s) linaro@c1n1:kolla$ docker run -it -u root haerwu/debian-source-kolla-toolbox:6.0.0 bash ()[root@f93a6cc8afb2 /]# find / -name defaults.json /opt/ansible/lib/python2.7/site-packages/openstack/config/defaults.json /opt/ansible/lib/python2.7/site-packages/os_client_config/defaults.json And we were looking at wrong path: Change-Id: I4fd403f0f0cff0628e93872d9f0d2f56591980f9 00:33:42.029 ERROR:kolla.common.utils.kolla-toolbox:The command '/bin/sh -c pip --no-cache-dir install --upgrade ansible==2.2.0.0 MySQL-python os-client-config==1.29.0 pbr==4.0.0 pymongo python-openstackclient==3.14.0 pytz pyudev shade==1.27.1 && mkdir -p /etc/ansible /usr/share/ansible && echo 'localhost ansible_connection=local ansible_python_interpreter=/opt/ansible/bin/python' > /etc/ansible/hosts && sed -i 's| "identity_api_version": "2.0",| "identity_api_version": "3",|' /usr/local/lib/python2.7/dist-packages/os_client_config/defaults.json' returned a non-zero code: 2 00:33:42.029 INFO:kolla.common.utils:Attempt number: 2 to run task: BuildTask(kolla-toolbox)
2018-05-17Move ansible to virtualenv in kolla_toolboxJeffrey Zhang1-5/+16
Now the ansible and its python dependencies are installed on system. It may be failed to install in some case. This patch installs python packages in virtualenv for kolla_toolbox image. Closes-Bug: #1771717 Change-Id: I3c4465d5dfe4f909521fa00173f1cf8d9eec783f
2018-04-02Bump the package version number in kolla_toolbox iamgeJeffrey Zhang1-4/+4
Change-Id: I58edccd933f46e7778860f70abbc01bfb85b531e Close-Bug: #1760517
2018-01-21Consume RDO packaged mariadb versionSteven Dake1-16/+2
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
2017-11-14Install python-openstackclient in kolla-toolbox containerJeffrey Zhang1-0/+1
in the past, shade depends on python-ironicclient and python-ironicclient depends on python-openstackclient. But in the recent released python-ironiclient 2.0, python-openstackclient is removed[0]. So python-openstackclient is missing. This will affect all branches. Here is a potential issue. we need use upper-constraints.txt file in kolla-toolbox. install the latest python packages is not a good idea. Implement this may take much time. Let us fix the gate ASAP and improve this later. [0] https://review.openstack.org/#/c/297730/ Partial-Bug: #1732180 Change-Id: I55810b641e388e26129b7fa77f97a8736eb1bb48
2017-08-15kolla-toolbox: fix version dependency of pbr & os-client-configZhangfei Gao1-1/+2
When deploying on arm64, got error: ContextualVersionConflict: (pbr 1.10.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('pbr!=2.1.0,>=2.0.0'), ContextualVersionConflict: (os-client-config 1.26.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('os-client-config>=1.27.0'), set(['openstacksdk', 'osc-lib'])) VersionConflict: (os-client-config 1.27.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('os-client-config>=1.28.0')) Fix the issue via updating pbr & os-client-config version Change-Id: If567489daecc53054535452069bce6d56c96efd1 Signed-off-by: Kevin Zhao <kevin.zhao@linaro.org> Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
2017-07-01Merge "Bump the ansible version to 2.2.0"Jenkins1-1/+1
2017-06-30Bump the ansible version to 2.2.0caoyuan1-1/+1
Bumping the ansible version in kolla-toolbox to be in sync with the min version from kolla-ansible. Depends-On: I99f3c5678f6d2d1f93d61c660fbd166184ff6422 Change-Id: Iabdaf920baf17e76f2e850c2834aa25a30b8b599
2017-06-12Fix kolla-toolbox buildEduardo Gonzalez1-0/+1
``pynacl`` package need ``make`` to build. kolla-toolbox build is failing due ``make`` missing package. pynacl upstream bug: https://github.com/pyca/pynacl/issues/298 Change-Id: Ifbb86ec2888284cfbda5e567cb1748432658953c Closes-Bug: #1697300
2017-05-10Merge "handle mariadb for aarch64/ubuntu/source"Jenkins1-1/+9
2017-05-09kolla-toolbox: use proper mariadb packages on CentOS/non-x86Marcin Juszkiewicz1-2/+1
I did wrong selection of mariadb packages as there is no 'mariadb-shared' package in CentOS - it is integrated into 'mariadb' one. Change-Id: I960da5f87814de6ed8cee7c04ad67f801315b932 Partially-Implements: blueprint multiarch-and-arm64-containers
2017-05-04handle mariadb for aarch64/ubuntu/sourceMarcin Juszkiewicz1-1/+9
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
2017-05-03Override image's meta info.Jawon Choo1-1/+1
centos based images have wrong label info, these changes fix own image's name and build-date. Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c Closes-Bug: #1680341
2017-04-25Merge "Add pymongo module for creation of MongoDB via Ansible"Jenkins1-0/+1
2017-04-24Merge "mariadb: handle lack of external repos on non x86"Jenkins1-3/+17
2017-04-20Merge "Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2"Jenkins1-1/+1
2017-04-20Use LABEL instead of MAINTAINER (deprecated) in all Dockerfile.j2Chen1-1/+1
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-14Add pymongo module for creation of MongoDB via AnsibleVladislav Belogrudov1-0/+1
Change-Id: I82fb48ac2087fa79a8ecea0f76609a20d6a3dbe4 Partial-Bug: #1682813
2017-04-13debian: move to stretchMarcin Juszkiewicz1-3/+8
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
2017-04-10mariadb: handle lack of external repos on non x86Marcin Juszkiewicz1-3/+17
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
2017-04-04debian: enable all images enabled for UbuntuMarcin Juszkiewicz1-1/+1
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-03-28Alphabetize packagesEduardo Gonzalez1-5/+5
Some images have packages sorted alphabetically and some not. Unify common style between all images. Change-Id: I906ed89c10b12886665618752f525ba71d83d991
2017-02-24Update pins on shade & os-client-configPaul Bourke1-2/+2
Shade has new functionality we need for sanity checks. This also requires a newer os-client-config. Change-Id: If6d10f2ce90c7fc72353566554352b0310942f30 Partially-Implements: blueprint sanity-check-container
2017-02-17Use install-pip macro in most source imagesChao Guo1-7/+10
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-05Remove include_header and include_footer in all DockerfilesJeffrey Zhang1-1/+0
include_header and include_footer parameter is already removed, remove them in all Dockerfiles. Add missing footer block. Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
2017-01-17use static uid/gid in imagesSam Yaple1-3/+4
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
2016-11-04Merge "Add kolla_ prefix for all sudoers files"Jenkins1-2/+2
2016-11-04Merge "Allow operators to customise pip in kolla-toolbox"Jenkins1-8/+11
2016-11-04Add kolla_ prefix for all sudoers filesJeffrey Zhang1-2/+2
Add kolla_ prefix for all sudoers files in case of overwrite. TrivialFix Change-Id: I33cd58caf65a116c8442cb931699867b81dba616
2016-11-03Remove Fedora supportChristian Berendt1-1/+1
Closes-bug: #1616387 Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
2016-10-21Allow operators to customise pip in kolla-toolboxPaul Bourke1-8/+11
Closes-Bug: #1635304 Change-Id: I6535e3240695458ed04c8750fe34e772a3b2ede3
2016-10-04Revert "Fix pycparser wheel package issue"Jeffrey Zhang1-3/+1
the bad pycparser wheel package has beed removed. This reverts commit 195bcd0f4323462b77d025936b898c85ddd8fdb3. Change-Id: I4669a627b68c4bd7534288c4a594a49226db3832
2016-10-03Fix pycparser wheel package issueJeffrey Zhang1-1/+3
pycparser-2.14-py2.py3-none-any.whl is broken or something misconfigured, while pycparser-2.14.tar.gz is ok. Revert this PS when the bug is fixed[0] [0] https://github.com/eliben/pycparser/issues/147 TrivialFix Change-Id: If719a5fdfbcedfe4770354b18dc47cc94e90dc3d
2016-09-27Fix Magnum trustee issuesVikram Hosakote1-1/+1
This patch set fixes all Magnum issues in kolla master. The [trust] section set to magnum.conf using created trustee domain and user for Magnum in ansible/roles/magnum/tasks/register.yml using ansible openstack modules. Bump shade to 1.5.0 in kolla-toolbox because of os_user_role ansible module dependency. Certificate storage is changed from 'local' (non-production) to magnum's internal storage (x509keypair) or barbican. Co-Authored-By: Martin Matyas <martinx.maty@intel.com> Change-Id: Ifcb016c0bc4c8c3fc20e063fa05dc8838aae838c Closes-Bug: #1551992
2016-09-13Add header blocks to all DockerfilesPaul Bourke1-0/+2
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-02Use the standard start method for kolla-toolbox containerJeffrey Zhang1-2/+0
TrivialFix Change-Id: Icb092e47713e0b89859747d6ed4c02b3950d7ced Signed-off-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
2016-08-31Merge "Use dumb-init to manage the pid 1 process"Jenkins1-1/+1
2016-08-23Add mariadb client binaries to kolla-toolboxStephan Michaud1-0/+2
The kolla-toolbox container contains ansible which has the mysql_db module which helps on various mysql tasks such as db creation. The mysql_db module requires certain mysql binaries in order to accomplish tasks such as restoring a database from a dump. This change adds those client libraries which weren't previously included in the container. Change-Id: I6516838381bf9327c8901fc4c32ebd5151fb053f Signed-off-by: Stephan Michaud <michauds90@gmail.com> Closes-Bug: #1616155