By changing the PREFIX variable in the .buildconf one is now able to
build docker images from different bases.
For example, add the following line to your .buildconf file to build
CentOS based images:
PREFIX=centos-rdo-
Default base image is Fedora. For now only RH family is supported.
Additionally, changing the namespace either with the NAMESPACE variable
in .buildconf or via --namespace commandline option now changes the
source namespace as well from the default kollaglue one.
Implements: blueprint multi-baseos
Co-Authored-By: Steven Dake <stdake@cisco.com>
Change-Id: I3964cd2292789ea883a1f2d2738a5731a4fff49b
All base images should have a .buildconf that blanks the PREFIX variable
otherwise the buildscript prepends the prefix to its name, for example
centos-rdo-centos-rdo instead of simply centos-rdo.
Change-Id: I48209e708094ae28681a874bf12a0206c524b639
Missing quotes around $FORCE_NAMESPACE was causing empty namespace
unless the --namespace switch was passed on the command line.
Change-Id: I474d67e133111bde7935b6f06ff3c8ca0f19d6cb
These tags don't belong in docker files. Instead we should put them
in the build system since the build system will be creating a custom
From line in the Dockerfile.
Partially-implements: blueprint multi-baseos
Change-Id: I68d0a0e572e35f39dbe21f7c536d7ac4ca885da3
Keystone relies on crux. Crux is now installed in the base images, so
individual images don't need to install crux.
Partially-implements: blueprint multi-baseos
Change-Id: Id9ed5fb8bc74de6a36f28a6b2bc8ba055c31a32e
Swift containers were pulling in fedora-rdo-base when they should have been
pulling in fedora-rdo-swift-base.
Partially-implements: blueprint multi-baseos
Change-Id: Ic0d03cbca5790aa3002110ba40a802957a481496
The operation is meant to clean the cache, but instead the agents
are running "yum install yum" which is incorrect.
Change-Id: I8e207e93bb10361a7afbbfd02ab11d12ad1cd77c
For some reason -n doesn't work with arrays, probably becuase
the array has an entry by the array's indexed value is empty.
By quoting it we get it as one unit, which behaves as expected.
Change-Id: Ic3243d13d3f8fc9978c460f816e33ad348302d8e
Previously, the rabbit container was configured for use in
a k8s cluster. This patch updates the container to run with fig
instead of k8s.
Change-Id: Ie04f2f16771c0f733b7b09b7747325bf0d7fb1a9
Fig is initially being evaluated to provide container set
functionality. Therefore, the heat template needs to be updated
to support running fig on Kolla nodes. This patch adds the
required directories, files, and commands to run fig and a
RabbitMQ container for testing.
Change-Id: Ifad399b43d8ca712a5efbdafe945d055c33b1e77
Ideally we want to support Fedora and CentOS as a base operating
system type. The build scripts will rewrite the Dockerfile build
scripts to pull in the correct base OS.
Change-Id: Ia41e21811caa3a1989c79cc42ce6615eec0c977b
Partially-implements: blueprint multi-baseos
The container spec file had a couple places were nested
lists were used which didn't have the necessary blank
lines before and after. As such, they didn not render
to HTML correctly.
Change-Id: I5d17644facdc25ec30db563c217367672529b8e1
This patch permits symlinks in the docker build. Normally docker
does not permit symlinked files in the build context sent to the
docker server. To work around this problem, a secure directory
is created in /tmp and the container contents are copied to that
directory. Any symlinks are turned into their non-symlinked
equivalents.
Change-Id: I38cd5aeed4c73b90449354a0979fc6ddf7891ccb
Implements-blueprint: linked-build
Previously, the kolla heat template was maintained outside of
the project in the larsks/heat-kubernetes repo. This patch adds
the templates to the project's devenv directory. Additionally,
the patch updates the templates and documentation to reflect
the design changes outlined in the following spec:
https://github.com/stackforge/kolla/blob/master/specs/containerize-openstack.rst
Change-Id: I11305f87cceb2495478d458a7e381d20838e664a
Previously, the image used for Kolla development
needed to be manually created. This patch adds a
script to automate a consistent, repeatable process
for creating an F21 image used for Kolla development.
Change-Id: Ibbe41ac6c6f1d2f2bdd62a48b05c096967c8324e
This specification proposes using fig (being renamed to compose
soon) to provide single-node multi-container orchestration. By
using this mechanism, a very simple Ansible Playbook could easily
deploy a single node in to a specific role type - such as a controller
node, a compute node, or a storage node.
This specification further proposes using super-privileged containers
to provide solutions for the upgrade and rollback use cases of an
OpenStack deployment.
Change-Id: I56ff1fdf8b19b47be97778b55ea947ebb43995c1
When nova-api start and the nova database hasn't yet been created, it
would create it itself, preventing the migration in nova-conductor to
run and making it unable to start. This commit ensures that nova-api
container will not try to steal nova-conductor's job of creating the
nova database.
Nova-scheduler reacts differently to the missing database and simply
exits with a backtrace. This commit also prevents nova-scheduler to
start when the nova database cannot be found.
Change-Id: Ib6f7521151815faa7a26ec1d170df5a1cdb7fd63
Related-Bug: #1335804
The script wasn't reporting any errors due to a typo.
Also fix MAINTAINER field for ceilometer-collector image.
Change-Id: Idf1e2746ae395bb05ee679ca71a10a3f103ebfa8
Fix incorrect test in sh. Bash implements the new test with [[ that
accepts the double equal, however, this is not a bash script. On Debian
and derivates, this will be run by dash.
Make the script portable by not using GNU extensions of xargs.
Call `validate-all-*.sh` scripts whenever possible.
Have bashate look for /usr/bin/env style shebang as well.
Remove useless validate-json.sh file.
Change-Id: Id2d697f2e9ddaa66e25f71f410200528c1e0cf6b
This allows Kubernetes to reschedule containers in case a required
variable is missing, for example when the Kubernetes pod is started
before the service.
The checks were cleaned using the following method:
* remove duplicates
* remove check for variables that get a default value in the same file
* check for all variables used in the file
* check for required services when it is obvious.
Change-Id: Ib7e0530c410c61f828d36efe8925a20dc9781eab
Remove git and jq dependency in most scripts, allowing to run them on
latest atomic images, or even distribute Kolla in the form of tarball.
The only remainings of git dependency are in the git pre-commit hook,
and in the image build scripts. We can remove the latter one and have
the scripts running in degraded mode if we really want to.
I opted for a python based approach to finding the top-level directory
for portability, ensuring consistent result on Linux and BSD, including
OSX.
Change-Id: I987174032d11b2e9d6a993c563b5dc877c15dd2d
This allows to maintain the default behavior unchanged while making it
possible to force clean.
Follow-up to https://review.openstack.org/#/c/145921/
Change-Id: Ie5733b22bda9cdd7d08f5c5ecc5a3d94b984a125
Trap interrupt signal so that the build-all-docker-images script is
stopped on Ctrl-C, and not only the current build.
Additionally, the script now prints a summary of changes on exit.
Change-Id: I3f6ef97d776c7799c73bc709070d97d37406637a