360 Commits

Author SHA1 Message Date
Martin André
0764fd7dea Allow changing base image
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
2015-03-02 14:08:06 +09:00
Martin André
5052e54f45 Remove prefix from centos-rdo-base when building image
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
2015-02-26 15:12:16 +09:00
Martin André
b323ca8332 Fix image dependencies in build-all-docker-images
Missing quotes around $FORCE_NAMESPACE was causing empty namespace
unless the --namespace switch was passed on the command line.

Change-Id: I474d67e133111bde7935b6f06ff3c8ca0f19d6cb
2015-02-26 15:01:51 +09:00
Jenkins
617fc1097c Merge "Remove l3_ovs_wip tag from Dockerfiles" 2015-02-26 05:51:38 +00:00
Jenkins
8d12ee76ab Merge "Make keystone work with CentOS 7 image" 2015-02-24 15:39:14 +00:00
Jenkins
b92ac57b38 Merge "Make swift files point at correct base package" 2015-02-24 15:39:07 +00:00
Steven Dake
fb30058122 Remove l3_ovs_wip tag from Dockerfiles
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
2015-02-24 02:28:30 -07:00
Steven Dake
9dc7c1a15f Make keystone work with CentOS 7 image
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
2015-02-24 02:28:30 -07:00
Steven Dake
ca38aad41e Make swift files point at correct base package
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
2015-02-24 02:28:30 -07:00
Steven Dake
7da4e92c3a All of the agents try to install yum
The operation is meant to clean the cache, but instead the agents
are running "yum install yum" which is incorrect.

Change-Id: I8e207e93bb10361a7afbbfd02ab11d12ad1cd77c
2015-02-24 07:09:18 +00:00
Jenkins
47d36732ea Merge "Add CentOS base OS" 2015-02-23 21:48:53 +00:00
Jenkins
ff4f560365 Merge "Support multiple different types of base OSes" 2015-02-23 21:48:46 +00:00
Steven Dake
cebbd9fb7b Quote array index with -n so -n works properly
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
2015-02-23 12:46:18 -07:00
Britt Houser
04f70c5d7b Revise OpenStack control container set
Added cinder and metadata

Change-Id: I42feae68a387dd5a9de97837f785d2672c320419
2015-02-19 16:14:02 -05:00
Britt Houser
accd477cbe Revise HA Control container-set
Added keepalived to HA control container set

Change-Id: Ic209bc6ca55125a52d1974003104238bb9c4caa2
2015-02-19 16:12:31 -05:00
Britt Houser
2e5f23d726 Add network operation container sets
Added a container set for network operations

Change-Id: I625f0f03366b1d68f210a0bf92e58d5ceb6c568d
2015-02-19 16:11:24 -05:00
Jenkins
91bea4c72b Merge "Implements: blueprint update-rabbit-container" 2015-02-19 15:43:46 +00:00
Daneyon Hansen
8a2a8c8a8a Implements: blueprint update-rabbit-container
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
2015-02-19 01:33:59 +00:00
Daneyon Hansen
f2f679690a Implements: blueprint heat-fig-update
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
2015-02-19 00:50:01 +00:00
Steven Dake
c43e7fa1fc Add CentOS base OS
Implement the CentOS 7 base operating system.

Change-Id: I1c90fe88baecf3deabad689a6743346a092469c2
Partially-implements: blueprint multi-baseos
2015-02-18 15:53:29 -07:00
Steven Dake
82f950f5a5 Support multiple different types of base OSes
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
2015-02-18 15:53:18 -07:00
Britt Houser
9d72d99f86 Fixed nested lists in container spec
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
2015-02-18 16:42:55 -05:00
Jenkins
de13d7eb50 Merge "Implements: blueprint heat-template" 2015-02-17 19:24:12 +00:00
Jenkins
8a8820aed2 Merge "Allow symlinks in the container build" 2015-02-17 17:35:32 +00:00
Steven Dake
1078eddf11 Allow symlinks in the container build
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
2015-02-16 20:24:15 -07:00
Jenkins
451f54ae70 Merge "Implements: Blueprint update-image-build-script" 2015-02-17 00:30:13 +00:00
Daneyon Hansen
e0de6af3ec Implements: blueprint heat-template
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
2015-02-16 23:41:22 +00:00
Daneyon Hansen
fd6d4376b9 Implements: Blueprint update-image-build-script
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
2015-02-16 17:39:02 +00:00
Steven Dake
ddc12789bc Containerize OpenStack based upon SPC and fig
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
2015-02-13 00:26:57 -07:00
Jenkins
4855d96c32 Merge "Check for nova DB availability in dependent containers" 2015-02-06 19:09:04 +00:00
Jenkins
26b564dd06 Merge "Cleanup required variables checks for all containers" 2015-02-06 19:08:46 +00:00
Jenkins
e91aafc75a Merge "Various fixes to pre-commit hook" 2015-01-26 13:10:02 +00:00
Martin André
f4b7ae95ac Check for nova DB availability in dependent containers
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
2015-01-21 09:34:01 +09:00
Jenkins
fedcb1516a Merge "Fix validate-maintainer.sh script" 2015-01-20 17:46:15 +00:00
Jenkins
671d21d7c2 Merge "Make scripts work on latest Atomic images" 2015-01-20 17:44:06 +00:00
Martin André
5ed1c04c98 Fix validate-maintainer.sh script
The script wasn't reporting any errors due to a typo.
Also fix MAINTAINER field for ceilometer-collector image.

Change-Id: Idf1e2746ae395bb05ee679ca71a10a3f103ebfa8
2015-01-19 16:51:22 +09:00
Martin André
dc3687b18b Various fixes to pre-commit hook
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
2015-01-19 16:43:55 +09:00
Martin André
91ca8d4b00 Cleanup required variables checks for all containers
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
2015-01-19 16:29:59 +09:00
Martin André
13799455c2 Make scripts work on latest Atomic images
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
2015-01-19 10:32:49 +09:00
Martin André
6772962c72 Pass cleanup scripts arguments to docker
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
2015-01-15 09:27:27 +09:00
Martin André
9723a796d3 Improvements to build-all-docker-images script
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
2015-01-14 09:14:27 +09:00
Jenkins
5baafd1dff Merge "Cleanup of images and containers needs a '-f' flag to force shutdown" 2015-01-08 21:12:56 +00:00
Ryan Hallisey
ae4cc56c14 Cleanup of images and containers needs a '-f' flag to force shutdown
Change-Id: I0642dcd36fe5af261b8f35744e3e88460a13fc85
2015-01-08 20:15:02 +00:00
Ryan Hallisey
f40444a188 Rabbitmq service is looking for 'rabbitmq-master' instead of 'rabbitmq'
Change-Id: Id28a15f1c0f54b4aa2ee1d49ee7f117eb84c977a
2015-01-08 20:06:49 +00:00
Jenkins
5f3cf5b6fe Merge "Add script to build all docker images in the correct order" 2015-01-06 16:46:55 +00:00
Jenkins
38e88c2760 Merge "Make build script respond to -h option" 2015-01-06 16:11:53 +00:00
Jenkins
a5bd2f2d5d Merge "Base all images on kollaglue ones" 2015-01-06 16:09:30 +00:00
Jenkins
3c51b6f7c9 Merge "Set higher precedence for .buildconf file in image directory" 2015-01-06 16:06:40 +00:00
Jenkins
8d66ded6bd Merge "Lock Fedora-based image to specific versions" 2015-01-06 16:03:22 +00:00
Jenkins
68326daf88 Merge "Update the README to reflect new additions to kolla" 2015-01-06 15:44:34 +00:00