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
* Inspected each error and fixed / added nosec where appropriate.
* build-swift-ring.py which was throwing sec errors is no longer used so
removed it.
* Removed the dev/ directory from being checked.
Closes-Bug: #1617713
Change-Id: I25664cabca4137e5c9f499c1af3f5ce78b86fb56
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
Normally, when you launch a Docker container, the process you're
executing becomes PID 1, giving it the quirks and responsibilities that
come with being the init system for the container.
There are two common issues this presents:
* In most cases, signals won't be handled properly.
* Orphaned zombie processes aren't properly reaped.
the dumb-init acting like a simple init system. It launches a single
process and then proxies all received signals to a session rooted at
that child process.
Closes-Bug: #1614509
Change-Id: I9d3d04648e151ddc7c6732b92ffd3b6c9fe467ec
Currently if the install_packages macro is run with an empty
package list, it will add a yum or apt-get command with no
packages listed.
This bug fix aims to omit this line when no packages have
been given, or, the operator wants to use the "_override" /
"_remove" functionality to disable all packages being
installed in a Dockerfile.
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifaaaebfccc3adb0f2f68a35ac08e59378bc87fdb
Closes-bug: 1612446
Add the crudini tool that allows easy manipulation and data extraction
from ini config files.
This is intended to be used by kolla-kubernetes.
TrivialFix
Change-Id: Icbdd14ad2a68f7c176ee65f1d132c552e8331652
Add the jq tool that allows easy manipulation and data extraction
from json documents.
This is intended to be used by kolla-kubernetes.
Change-Id: I478be7ec403e3444a412e1bcd47fd52f3a4e8095
Make the kolla_keystone_service can update the following fields
* service.name
* service.description
* endpoint.url
TrivialFix
Change-Id: If239a518b0217cfc105388ae5e298a8904ac2af5
The sanity check creates an image that needs to be
deleted after in order for the sanity check to
pass so that we complete deployment with a clean
enviroment.
Closes-bug: #1606580
Change-Id: Ib347f69b69229e39925f0c1ff11069b15afcf192
Checks to see if a blank glance image was loaded correctly
partially-implements: blueprint sanity-check-container
Change-Id: I29549518e726b9530897ef31b120dd3759d1b279
The Ceph osd bootstrap/startup logic depends upon reading/writing
partition names. Some older versions of udev have trouble reading these
(/dev/disk/by-label is missing).
To work around this, we shell out to sgdisk and scrape the partition
name data directly.
Co-authored-by: Paul Bourke <paul.bourke@oracle.com>
Closes-Bug: 1585185
Change-Id: I362b3f8e91de79687fc84e256996fbcaf303b6af
This solves the following issue when running an ansible command inside
the kolla-toolbox container:
[Errno 13] Permission denied: '/home/ansible/.ansible'
Change-Id: I654d27c49b7fcc50e018b61146084660894352aa
Closes-bug: #1592268
Kolla do not depend on certain version of Ansible. So
install the ansible using pip
Change-Id: Id1bf103a1f5c2a1cde653d53110f28c903ae8768
Partial-Implements: blueprint ansible2
The traceback is logged also and will be helpful when the
library failed. We can get which line is failed from the log.
TrivialFix
Change-Id: Ia417232007e2f34c83d2e7cad6ed08dee49ce836
Since kolla-mesos has been retired, there is no need in the code
base to keep the zookeeper implementation. As a result, just remove
it. If we were to keep it we need virtualenvs for that part of the
code base which installs the python dependencies related to it
for from-binary installs.
This just simplifies the implementation tremendously and culls dead
code.
Change-Id: Ieda226e652d67f5b5667112f4f2556f3171366d3
Closes-Bug: #1577194
kolla_toolbox contantly fails to build due to a missing module pytz,
add it before the dependent module installation.
Change-Id: Ia497f4eef830259e8e27307d6b3100dc7660b99f
Closes-Bug: #1569633
With the reorganization of the MariaDB repository, the C libraries
for mariadb were not included in the toolbox container. This results
in a non-functional CentOS environment which is resolved by this
simple patch.
Change-Id: Ib4a2f7e55b6efc36bc3ff2d93447cb97b7b109f5
Closes-Bug: #1561347
This reverts commit 17e0de6aa6c32c5adebeffc90c96f15285877cf5.
This change should have never merged. There is something else going on
here and the bug doesnt fully invetigate the issue. Using a mix of
system and pip packages is not acceptable and can cause problems.
In this case the packaged mysql has a KNOWN issue that we fixed in
liberty by switching to the pip installed package.
Change-Id: Ie10116010156c13742a0a5d37c440c713e4698e5
This fixes a gate regression and probably regression in general
with building images. I'm not sure where the regression came from,
but I suspect a new verson of MySQL-python from pip is to blame.
Closes-Bug: #1561347
Change-Id: Ib502d0090a3fc3b3ea5d27a91ff59df1f53c01a3
This allows us to specify external journals for osds which can greatly
improve performance when the external journals are on the solid-state
drives.
The new lookup and startup methods fix the previous races we had
preventing osds from being created properly.
This retains the same functionality as before and is completely
compatible with the previous method and labels, however this does set
new labels for all new bootstrap OSDs. This was due to a limitation
in the length of the name of a GPT partition.
Closes-Bug: #1558853
DocImpact
Partially-Implements: blueprint ceph-improvements
Change-Id: I61fd10cb35c67dabc53bd82270f26909ef51fc38
The home directory for Ansible already exists and does not
need to be created. Reorder useradd and mkdir at suggestion
of Jeff Peeler to avoid warning.
The warning looks like this:
INFO:__main__:kolla-toolbox:Step 6 : RUN mkdir -p /etc/ansible /usr/share/ansible /home/ansible && echo 'localhost ansible_connection=local' > /etc/ansible/hosts && useradd --user-group ansible --groups kolla && sed -i 's| "identity_api_version": "2.0",| "identity_api_version": "3",|' /usr/lib/python2.7/site-packages/os_client_config/defaults.json
INFO:__main__:kolla-toolbox: ---> Running in ccded9c01fca
INFO:__main__:kolla-toolbox:useradd: warning: the home directory already exists.
INFO:__main__:kolla-toolbox:Not copying any file from skel directory into it.
INFO:__main__:kolla-toolbox:
TrivialFix
Change-Id: I031ade6597f8071f5be1768a7e70b1008dd94e52
mariadb 10 uses the packaging convention MariaDB-* to not
conflict with mariadb 5. As such, MariaDB-devel was indicating
a deprecation warning which this patch removes.
TrivialFix
Change-Id: I4b51fcedce3ef9e44c4a6830cd38ca8040a4d3f6
After our switch to keystone-manage bootstrap Horizon is not happy
due to v3 not being setup correctly. This patch fixes that
This also includes removal of unused variables (transforms them into
endpoint url variables)
TrivialFix
Change-Id: I1e04db8c24049f80e974c063f03068a2ab32a563
Ansible is pinned to single commit in devel branch to pull in the
latest shade module we need (domain control). It will be available in
ansible 2.1
TrivialFix
Change-Id: I4c21fa1d2cec30d4aeb80e050ef4a62332f9ed45
This runs first sanity check for swift. Once
swift is deployed it checks list()
Change-Id: I613bf9f2893d66814863893ec5acde5aa252548d
Partially-Implements: blueprint sanity-check-container
This runs first sanity check for cinder. Once
cinder is deployed it checks volumes.list()
Change-Id: I1b4cc57f21cf0fa52a391229c2c2b3fa995d32a8
Partially-Implements: blueprint sanity-check-container
Percona has fixed their packaging issue and now
MySQL-python installs cleanly without the need of MariaDB-shared
package.
TrivialFix
Change-Id: I42672c269185352ab4999683bd0ad7c5f23de3bb
Percona recently updated their package which is now conflicting with
mariadb-libs.
Closes-Bug: #1548589
Change-Id: I9db7ffb8b94b623784cffa3e63804c47375097d1
The Ansible logs are currently not collected by Heka. This can be
done later, with an Ansible-specific decoder for Heka.
Partially implements: blueprint heka
Change-Id: I8d3ba4edb527f61c0a8234024b4be953c6e6c565
Ansible installs pytz from pip which is newer then then pytz in
RDO repositories. As part of this process, it removes pytz
which corrupts the python installation in some way. This causes
further pip usage to produce a backtrace causing the kolla-toolbox
container not to build.
Mixing pip and RPM is not good.
Change-Id: I413468641bad5476cfcba61cb0e2189c31f3d682
Closes-Bug: #1545215
This change is needed for clarity. We have a kolla-ansible script.
We have a kolla-mesos repo. We plan to have a kolla-ansible repo.
Already we have had far too much confusion about whether we are
talking about the container or the project. Naming this kolla-toolbox
eliminates all of that confusion and its probably a bit more accurate
of a name too.
Closes-Bug: #1541053
Change-Id: I8fd1f49d5a22b36ede5b10f46b9fe02ddda9007e