79 Commits

Author SHA1 Message Date
Jeffrey Zhang
bdd92da6ae Push the image as soon as it is built successfully
Closes-Bug: #1529327
Change-Id: Iad6c1454f42d3410c82c722b60d0d305b9eec129
2015-12-28 01:11:46 +08:00
David Moreau Simard
e8ad7488f6 Make the yum repositories configurable in the base image
- Removed hardcoded yum repository configuration in favor of
  commands dynamically generated based on repo-url and repo-file
  arguments. We maintain a sane default set of repositories.
- Added generic rpm_setup_config parameter to add support for
  installing .rpm or .repo files before building containers.

Co-Authored-By: Ryan Hallisey <rhallise@redhat.com>
Implements: blueprint custom-repos
Change-Id: I1b3a7647a9e7239de3cd162cb6f464f05632bde1
2015-12-24 02:08:52 +00:00
Jenkins
027e70f9a2 Merge "Simplify config creation" 2015-12-23 13:19:08 +00:00
SamYaple
ed82afa8e9 Simplify config creation
Convert config creation from a playbook to an action_plugin. This
reduces the complexity and confusion while retaining the same augment
structure and flexibility.

This allows us to remove the 0-byte files as requirements. They will
still be used if they are present (this means we require additional
documentation around them).

DocImpact
Closes-Bug: #1528430
Change-Id: I2c789f6be9f195c7771ca093a6d59499564b4740
2015-12-22 04:28:53 +00:00
Swapnil Kulkarni (coolsvap)
8ca24896f2 Add trove to aux in build.py
partially implements blueprint trove-container

Change-Id: Ib19064f6c08bc3f6f0ad4092b71c0410059f66db
2015-12-21 08:57:45 +05:30
Swapnil Kulkarni (coolsvap)
1b8e9e729d Add trove containers
Implements blueprint trove-container

Change-Id: I2c5d48af3fe4a5297ab13c8cfccc86ce247a9414
2015-12-18 12:47:28 +05:30
Michal Jastrzebski
3f2a4f2c06 Record version on container build
This changes default behaviour of build.py to instad of putting latest
tag on it, it puts current kolla version as found in setup.cfg

Change-Id: I4d6e9a0159c6a5598abd58072594df4204427308
Partially-Implements: blueprint upgrade-nova
Partially-Implements: blueprint record-version
2015-12-11 11:02:46 -06:00
Jenkins
f35bdeeb2b Merge "Install plugins in neutron-server if available" 2015-12-08 10:18:38 +00:00
Swapnil Kulkarni (coolsvap)
6f2fbe933e Add support for Aodh
Aodh is replacement for OpenStack Ceilometer Alarming
service.

Change-Id: I4daf2160fe6743d62e6874f9fe032d37c9db90b7
Partially-Implements: blueprint add-aodh
2015-12-03 19:59:04 +05:30
Paul Bourke
acb13dc5b9 Install plugins in neutron-server if available
Implements: blueprint neutron-third-party-plugins

Change-Id: I56c56bacd2f06c120b14b00c0b97dd4e39c0afc0
2015-11-30 10:01:06 +00:00
Paul Bourke
f98bd05271 Add new image for tempest
Note, this image is slightly different to most others in Kolla in that
it's not a service designed to be deployed via Ansible. It's more a
'tool' type image that is spun up when needed.

Partially-Implements: blueprint tempest-gate

Change-Id: I1877c03d0804e57d274044aecb1055f847025bec
2015-11-26 14:41:44 +00:00
Swapnil Kulkarni (coolsvap)
59a1c8b9fb Remove hardcoded MAINTAINER in Dockerfiles
Added new option in kolla-build.conf

Change-Id: I45fe51966bcb59ea19d112281ba3d5a1ba091a56
Closes-Bug:#1514304
2015-11-23 11:03:47 +00:00
Salvatore Orlando
f2af807246 Add rsyslog image to infra profile
Change-Id: Ic0878c3afb788b48080e137c4651ed50e7f97b18
Closes-Bug: #1518308
2015-11-20 04:46:21 -08:00
Jenkins
84b6f7edc4 Merge "Add Ansible support for Magnum" 2015-11-13 17:01:04 +00:00
Michal Rostecki
2cd5d9ed74 Add Ansible support for Magnum
Change-Id: Idb25ac4d3148c9b9400cf675ac2e47d35cce6224
Implements: blueprint ansible-magnum
2015-11-13 11:31:34 +01:00
Sam Yaple
99932d650d Finish implementation of spice
Due bad rebases there is a huge section of the spice patch missing
from the implementation unfortunately. This patch finishes the rest
of this patch out properly.

Change-Id: I693c6745e9594fd91eb6453f6de9dfcbd410e89c
Paritally-Implements: blueprint nova-proxies
2015-11-06 03:48:07 +00:00
Sam Yaple
6a9beb4a33 Add Docker in Docker container
Change-Id: I3c953125ed0105b7e8b62e62da56bf3fa30889d1
Partially-Implements: blueprint multinode-gate
2015-11-05 10:58:29 +00:00
Sam Yaple
cd3c089978 Ansible config for Spice console
Change-Id: Id6ccf169c8ce07c78df150de21ab2d36eec3949f
Partially-Implements: blueprint nova-proxies
2015-11-03 06:32:52 +00:00
Jenkins
d66e425397 Merge "Automate setting up a cache tier" 2015-11-03 00:23:26 +00:00
Jenkins
2c2b6c58cf Merge "Allow specifying erasure as the pool type" 2015-11-03 00:23:12 +00:00
Sam Yaple
6837c78ba9 Add mariadb to the gate
TrivialFix
Backport: Liberty

Change-Id: I504ac12e349f4457c4d71b55b34edd1bd7a6292d
2015-10-23 20:23:24 +00:00
Jenkins
d99da3531f Merge "Add missing images to default build profile" 2015-10-22 13:04:00 +00:00
Paul Bourke
b7a498a9f8 Add missing images to default build profile
We were missing keepalived, openvswitch, and rsyslog

TrivialFix

Change-Id: I2ca51b77060a0f9ca0577d0c1fb0b3d5fc703802
2015-10-22 12:51:31 +01:00
Sam Yaple
b27880aa77 Automate setting up a cache tier
Introduces a new flag to bootstrap cache devices

DocImpact
Partially-Implements: blueprint ceph-improvements

Change-Id: I09b5a0d5c61b3465237e5f01dc10120725561cd3
2015-10-22 10:51:44 +00:00
Sam Yaple
6932ca48b8 Allow specifying erasure as the pool type
Change-Id: I581efd7c0d138cb78ab3afd755521f3fb375c0ee
Partially-Implements: blueprint ceph-improvements
2015-10-22 10:51:44 +00:00
Jenkins
ef862427fa Merge "Add nova-spicehtml5proxy console" 2015-10-21 10:01:15 +00:00
Sam Yaple
f39bb2ee13 In gate functional testing
This runs the ansible playbooks to completion.

It does not validate that OpenStack is working yet, but it will ensure
Ansible did not break.

Additional gates will be needed for this and there is a patch in
project-config to handle that.

Change-Id: I7a24a704023cc8f19d42844636e9cb512060f693
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-20 19:15:33 +00:00
Jenkins
7b73bc95ac Merge "Update requirements to use tarball by default" 2015-10-19 20:29:04 +00:00
Paul Bourke
592b3bd066 Add build profiles to build.py
Add ability to define "profiles" in kolla-build.conf, which are
predefined sets of images to build at once.

The supplied profiles match what Steven defined in the
restructure-template bp, though others can easily be added by the user.

Multiple profiles can be supplied at once, as well as supplemented by
the existing regex mechanism, e.g. to build profiles infra, main, and
also ironic, one can use:

tools/build.py --profile infra --profile main ironic

Change-Id: I0c6f450152cb23dcfc58e0969669fcedf03fab01
Implements: bp restructure-template
Doc-Impact
2015-10-19 13:31:30 +01:00
Sam Yaple
a7d4431928 Add nova-spicehtml5proxy console
Change-Id: I0ca15e00ee52373b84f7021d86a29304526b7436
Partially-Implements: blueprint nova-proxies
2015-10-19 12:09:48 +00:00
Sam Yaple
f52b98c199 Update requirements to use tarball by default
This makes all of our defaults tarballs for consistency

TrivialFix

Change-Id: I4cb923a3319aa3dcba10dccf439a0193a42c1d55
2015-10-19 11:27:36 +00:00
Jenkins
42b34bb782 Merge "add "registry" flag to "tools/build.py"" 2015-10-17 10:55:15 +00:00
Kuo-tung Kao
52b7253811 add "registry" flag to "tools/build.py"
With registry flag,
build image using `tools/build.py --registry 172.22.2.81:4000`
the image name looks like `172.22.2.81:4000/kollaglue/data`
When user use kolla-ansible,
user set `docker_registry` to `172.22.2.81:4000` in `/etc/kolla/globals.yml`.

Build image using `tools/build.py -n abcd`
the image name looks like `abcd/data`
When user use kolla-ansible,
user set `docker_namespace:` to `abcd` in `/etc/kolla/globals.yml`.

build image using `tools/build.py -n abcd --registry 172.22.2.81:4000`
the image name looks like `abcd/data`
When user use kolla-ansible,
user set `docker_namespace:` to `abcd` in `/etc/kolla/globals.yml`.
user set `docker_registry` to `172.22.2.81:4000` in `/etc/kolla/globals.yml`.

With the feature, it will reduce user confusing and mistaking.

Change-Id: I18ac7a3ccec032888e35f5e9a79fc190760cc8a0
Closes-Bug: #1505056
2015-10-17 10:08:03 +08:00
Jenkins
7ee4bb01c2 Merge "Fix syntax in kolla-build.conf example" 2015-10-15 15:01:09 +00:00
Jenkins
12ddac000c Merge "Use memcache for consoleauth and horizon" 2015-10-15 15:01:02 +00:00
Paul Bourke
82684d9ccc Fix syntax in kolla-build.conf example
TrivialFix

Change-Id: I60dacac49d416442e699c790617ac5ad0a8b0a8e
2015-10-15 14:25:58 +01:00
Paul Bourke
72a8f5aabd Use openstack/requirements for repeatable builds
Add this repo to the openstack-base image, and use the upper-constraints
to install the client packages. Will follow up with dependant patches
for the child images to reduce the risk of breaking everything at once.

--

Background:

Many dependencies in the requirements.txt of OpenStack components have
quite loose version requirements, in many cases they will just specify a
minimum version (e.g. WebOb>=1.2.3).

The result of this is that given a Kolla image for Keystone built today,
another build of the exact same ref of Keystone could be broken
tomorrow, due to it picking up a later unsupported dependency.

The https://github.com/openstack/requirements repo exists to bring some
sanity to this situation. (It also outlines other problems it solves in
it's readme).

We also may like to checkout the stable/liberty branch of this project
in our liberty branch, once it appears.

Change-Id: Iccb4e99f8e4b6659a19c1817d0f4c697824af25c
Partial-Bug: #1505306
2015-10-15 12:07:48 +01:00
Sam Yaple
2ea87ebdb7 Use memcache for consoleauth and horizon
Unfortunately there was no was to avoid memcache for consoleauth, so
we might as well take advantage of it for Horizon as well.

Change-Id: Idd338a025b031f6b50fe0c9f03c2c8d862f9d4c0
Closes-Bug: #1504606
Closes-Bug: #1504800
2015-10-15 10:47:21 +00:00
Martin André
1bad32ffc1 Fix wrong option name in kolla-build.conf
The install type can now be change by specifying the correct option
name.

Change-Id: I612afc3df1e0e1bdfa9243417537eb176f0d89cc
Closes-Bug: #1501327
2015-09-30 21:51:59 +09:00
Jeff Peeler
f5a50a1d7d Add Ansible support for Ironic
Configuration based off upstream documentation here:
http://docs.openstack.org/developer/ironic/deploy/install-guide.html

A few notes:
-ironic-api is not configured to use mod_wsgi
-several places it's noted that discoverd is going away and needs to be
replaced with ironic-inspector - (sqlite connection should be changed
too)
-currently enabling ironic reconfigures nova compute (driver and
scheduler) as well as changes neutron network settings
-a nice enhancement would be to configure the web console

Required post-deployment configuration:

Create the flat network to launch the instances:

neutron net-create --tenant-id $TENANT_ID sharednet1 --shared \
--provider:network_type flat --provider:physical_network physnet1

neutron subnet-create sharednet1 $NETWORK_CIDR --name $SUBNET_NAME \
--ip-version=4 --gateway=$GATEWAY_IP --allocation-pool \
start=$START_IP,end=$END_IP --enable-dhcp

And then the above ID is used to set cleaning_network_uuid in the neutron
section of ironic.conf.

Change-Id: I572e7ff1f23c4e57a2c50817cafe9269fd9950dd
Implements: blueprint ironic-container
2015-09-28 16:10:43 -04:00
Sam Yaple
99c7eb1997 Make OpenStack use Ceph
This implements all the openstack pieces needed to make ceph work.

DocImpact
Change-Id: I1d24476a966602cf955e5ef872b0efb01319894a
Partially-Implements: blueprint ceph-container
Implements: blueprint kolla-live-migration
2015-09-25 20:11:18 +00:00
Sam Yaple
c86e66c9dc Ceph Ansible support
Add the initial playbooks for making ceph and ansible play nice
together.

This does not include all of the openstack changes to make things like
nova, glance, and cinder work. This will simply build the ceph cluster
and thats it. The next patchset will do the OpenStack integration.

DocImpact
Change-Id: Ie1697dde5f92e833652933a80f0004f31b641330
Partially-Implements: blueprint ceph-container
2015-09-24 12:33:43 +00:00
Martin André
6c5aeeee41 Consolidate kolla-build configuration in one file
The source location definition previously in build.ini was merged in
etc/kolla/kolla-build.conf since it is really configuration for the
kolla-build tool.

Change-Id: I7531af0029bdfeabbaefb8a6aa97b70bb12c021a
Closes-Bug: #1496702
2015-09-21 21:20:48 +09:00
Jenkins
53efa6251f Merge "Implement configuration file for kolla-build" 2015-09-18 13:02:48 +00:00
Martin André
7a4a9eef20 Implement configuration file for kolla-build
Kolla build script configuration now lives in
/etc/kolla/kolla-build.conf.

This allows overriding configuration options without the need to pass
arguments on the command line.

Command line arguments still get precedence.

Closes-Bug: #1496185
Change-Id: I69482a11437087f19d7f76b379dca85b1f622268
2015-09-17 17:21:31 +09:00
Qiu Yu
c7ceca711a Expose HAProxy stats for management purpose
Change-Id: Ia7263a9993e29c8f3db71e86264b786398224223
Closes-Bug: #1496658
2015-09-17 09:55:27 +08:00
Jenkins
31594eef5b Merge "Add missing Swift services, also ansible configuration" 2015-09-13 20:09:59 +00:00
jamesmmccarthy
91fc423a01 Add missing Swift services, also ansible configuration
DocImpact
Closes-Bug: #1477993
Co-Authored-By: Paul Bourke <paul.bourke@oracle.com>
Change-Id: Ifeab0fec11889cb0c90a56a6211dbdd27a40f3d9
2015-09-07 10:38:00 +00:00
Mick Thompson
68e7da0a36 Add ansible support for Murano
Deploy the core services for murano-api and murano-engine containers.

Implements: bp ansible-murano

Change-Id: Ibcc618665a3509465ba8f9249a417e8848087eef
2015-09-07 09:30:07 +01:00
Steven Dake
5e521f0550 Add Ansible support for Heat
This changes bootstrapping of the Heat container to bootstrap
the Heat container with a heat domain user.  This requires some
work from bootstrap.yml to pass in several environment variables
needed by the heat domain setup script.

Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: Iab05983754fa514835cb5ff54d775faa18773110
Partially-implements: blueprint ansible-heat
2015-08-29 23:58:54 -07:00