46 Commits

Author SHA1 Message Date
Paul Bourke
e4f3e34e5d Allow operators to customise rabbitmq plugins
TrivialFix

Change-Id: I9659b25a8031237f56450ea363c6b78f4d99df52
2016-08-31 15:33:12 +01:00
Jenkins
a86e13a15a Merge "Customizations for RabbitMQ" 2016-08-28 16:04:07 +00:00
Paul Bourke
fc30d583f9 Fix bandit gate jobs
* 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
2016-08-28 08:52:44 +00:00
Shaun Smekel
3d4ebd6602 Customizations for RabbitMQ
This patchset contains customization of Dockerfile of the RabbitMQ
container.

Change-Id: I5b0120dc63586b3bf2312375de963fe8434a48b8
Partially-implements: blueprint third-party-plugin-support
2016-08-25 20:16:23 +10:00
Serguei Bezverkhi
1bfc817f65 Removing .erlang.cookie before rabbitmq bootstrap recreates it
In kolla-kubernetes environment rabbitmq bootstrap process fails when
.erlang.cookie already exists, the issue is consistently reproduced when
using persistent storage PV/PVC. This PS prevents this type of failure.

TrivialFix

Change-Id: I3509650b1c11aa45cd5ae2d8eea6523201bfb1de
2016-07-14 11:24:34 -04:00
Jeffrey Zhang
3f79e37d21 Fix the overwrite sudoers file issue
Change-Id: I4b109f7fdc3b8e49defed26979b04ca158842e98
Closes-Bug: #1598423
2016-07-05 05:49:13 +00:00
Benedikt Trefzer
10f2b59cf0 make rabbitmq container build with debian
- use rabbitmq official package since debian
    does not offer required version
  - force-depend since we do not install logrotate

Change-Id: I0818a6807210eb861aab5ef36d1f807a0ce435b2
Partially-implements: blueprint build-debian
2016-06-04 10:17:08 +02:00
Swapnil Kulkarni (coolsvap)
435b21b90d Update ubuntu dockerfiles for formatting
Change-Id: If4be00b937e14ec93443dcb7249cf17099d57cbe
Closes-Bug: #1569417
2016-05-26 04:09:22 +00:00
Michal (inc0) Jastrzebski
22a07075d2 Robustify of rabbitmq upgrade
String parsing for gospel node detection was overly complex and not
robust. Hopefully this will make it better.

Closes-bug: #1573684
Change-Id: I12e869eff274d286d239c4f55cc4b4ddca389bbd
2016-04-22 16:49:00 +00:00
Michal (inc0) Jastrzebski
23e7f6c292 Playbook for rabbitmq upgrade
Main issue with rabbitmq clusterer setup is to shut down gospel node
as last one, which is bulk of this change

Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: I88e566a19ed813b0e3eef65ef7139ccfaa0c2700
Implements: blueprint upgrade-rabbitmq
Partially-implements: blueprint upgrade-kolla
2016-03-18 14:11:29 +00:00
SamYaple
8b3f0d0857 Use ubuntu Mitaka repo
The rabbitmq-server package is upgraded to 3.5.7 in cloud-archive
so we update centos to match

The xen-utils package now needs an explict version, xen-utils-4.6 is
what is provided by cloud-archive mitaka

Libvirt 1.3 is in the ubuntu cloud-archive. This has a new daemon for
logging that needs further implementation in newton. For now, it has
been disabled within the qemu.conf

Co-Authored-By: Jeffrey Zhang <jeffrey.zhang@99cloud.net>
TrivialFix
Change-Id: I84217824817c484b6800a64cbd7767b127a3098e
2016-03-14 15:52:48 +00:00
Éric Lemoine
1ded68d2d3 Make Heka collect RabbitMQ logs
Partially implements: blueprint heka
Change-Id: I8fd3324daf15e52712591c2b3cbec613d82b73b3
2016-02-19 20:32:25 +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
Ryan Hallisey
22def41d37 Drop root privileges for rabbitmq
Drop root privileges for rabbitmq.  Only the rabbitmq user
will be able to execute chown of /var/lib/rabbitmq.

Change-Id: I546e6b475a8462bfbc75972854e1fee64f96d9cb
Partially-Implements: blueprint drop-root
2015-11-12 11:38:17 -05:00
Sam Yaple
2e07be310a Download, install, and enable rabbitmq_cluster
Change-Id: I84d7587fca64dc8a9f05e326a27511ded79e902d
Partially-Implements: blueprint rabbitmq-clusterer
2015-11-03 04:51:45 +00:00
Steven Dake
c6947eeb8a Pin rabbitmq to 3.5.5
Pin rabbitmq to 3.5.5 for RPM platforms.  This version is the latest
and sparkly with lots of bug fixes.  Tested multi-node HA and everything
seems solid in comparison to the 3.3.z releases used previously.

backport: liberty

Change-Id: I53bf70175fd12ded132141aa499c73919a932cdf
Closes-Bug: #1503280
2015-10-06 21:47:08 -07:00
Sam Yaple
cb4e875ae1 Common start.sh
The majority of the start.sh code is identical. This removes that
duplicate code while still maintaining the ability to call code in a
specific container.

The start.sh is moved into /usr/local/bin/kolla_start in the container

The extend_start.sh script is called by the kolla_start script at the
location /usr/local/bin/kolla_extend_start . It always exists because
we create a noop kolla_extend_start in the base directory. We override
it with extend_start.sh in a specific image should we need to.

Of note, the neutron-agents container is exempt from this new
structure due to it being a fat container.

Additionally, we fix the inconsistent permissions throughout. 644 for
repo files and the scripts are set to 755 via a Docker RUN command to
ensure someones local perm change won't break upstream containers.

Change-Id: I7da8d19965463ad30ee522a71183e3f092e0d6ad
Closes-Bug: #1501295
2015-10-06 03:30:26 +00:00
Jenkins
6a622ec82c Merge "Implement a install_type and install_metatype" 2015-09-28 10:49:53 +00:00
Steven Dake
0e99b69de4 Implement a install_type and install_metatype
This prepares for the RHEL OSP implementation by making the build
tool convert all binary-* into an install_type of binary and * into
an install_metatype variable substitution inside the Dockerfiles.
Further binary-* is substituted as install_name to enable proper
building only.

Change-Id: Ib681b29176eb79a3cab12ec824313fdecb6e7a5f
Partially-Implements: blueprint rhel-based-image-support
2015-09-28 03:16:48 -07:00
Sam Yaple
160f1cc011 remove set_configs
Change-Id: I9bb0a1fac63cc326234b0f06b1e56b43e0753279
Partially-Implements: blueprint replace-config-external
2015-09-27 13:44:50 +00:00
Sam Yaple
a1b0518b9a Fix removal of config-external
I removed the files but not the COPY commands thus breaking all of
Kolla

Change-Id: I37d3e0cb94a1ecc12971f485f953310ba8fee53c
Partially-Implements: blueprint replace-config-external
2015-09-25 20:08:40 +00:00
Sam Yaple
e2e0fd288f Remove config-external.sh
Removes config-external for all services that have been replaced in
Ansible

Change-Id: I839a14418638b977fbc1d02ba6839811b0f909ea
Partially-Implements: blueprint replace-config-external
2015-09-25 13:00:55 +00:00
rthallisey
a0bffb2581 Replace config-external with a JSON file for Rabbitmq
Change-Id: Ibb30af44a9362278eff012ff1145374788b06cd5
Partially-Implements: blueprint replace-config-external
2015-09-18 15:19:06 -04:00
Steven Dake
6992049323 Add 'rhel' for RPM distros
Add 'rhel' to list for RPM based distros.  Also sort the distro
list for rpm packages for affected lines.

Change-Id: Ied4cb3e9763d6c6359f314d16185383ac3e006ed
Partially-Implements: blueprint rhel-based-image-support
2015-09-04 03:12:15 -07:00
Sam Yaple
cbd42ca6e9 Move docker_templates to docker dir
Updated build.py to reflect this change.
Deprecate --template option and make it a noop.

Change-Id: I7cd98d1ee684a4c64984a49597159868152683b2
Partially-Implements: blueprint remove-docker-dir
2015-08-28 13:33:50 +00:00
Sam Yaple
13062e23e8 Restructure builds to allow more flexibility
As a restructure, nothing is changed from the original behaviour and
naming despite the file structure changing. The symlinks to build had
to be updated generating lots of "deleted" and "new_file".

The new structure is:

docker/${base_distro}/${type}/${container}

base_distro == centos, ubuntu, fedora, etc
type == source, binary, rdo

type rdo is a symlink to binary for backwards compatibility

Two new flags are added to the build-all script to support the ability
to support different base distros and a flag to support binary or source
containers.

There are several added folders that are empty to hold the directory
structure for future containers of these types.

To use a prefix other than centos-rdo- you can set PREFIX in the toplevel
directory .buildconf file

Change-Id: Ifc7bac0d827470f506c8b5c004a833da9ce13b90
2015-05-15 01:32:22 -05:00
Steven Dake
d30f69bc83 Port to icehouse
This represents making build-docker-images --release build
with the icehouse tag and causes docker-compsoe to pull from
the icehouse tag.

Partially-implements: blueprint port-kilo

Change-Id: I66b2c39abc55c0f47152dd90e696fc46b9c58f50
2015-05-06 09:58:43 -07:00
Chen Zhiwei
76c1fe6371 Change the default shell to bash
Unify the shell to bash in all Kolla scripts.

Change-Id: Ib9591b2f8f344eb88455c5e9b7ecf2164fb5960a
Implements: blueprint use-bash-shell
2015-04-27 13:26:37 +08:00
Steven Dake
ac930b33dd Make rabbitmq container work with it's proper hostname set
Change-Id: I0f79ba151dbb290378e2db0d1af9feb71cb84e6d
2015-03-18 15:24:47 -07:00
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
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
Lars Kellogg-Stedman
277f2448e8 Update MAINTAINER in Dockerfiles to Kolla Project
Remove individual MAINTAINER information from Dockerfiles.

Change-Id: I777df5cde049599dc786176e1d5b4b9597f0b334
2014-10-22 11:11:31 -04:00
Lars Kellogg-Stedman
6ac10ca545 rabbitmq: exit on errors
cause rabbitmq start script to exit on any errors

Change-Id: I08b12e25061048e1fda8e74ce8a62d16b6ddf6db
2014-10-13 14:41:37 -04:00
Lars Kellogg-Stedman
05b4364cbb normalize start script name for rabbitmq
this simply makes the source file match the installed name of the
script.

Change-Id: I5e7296780a34f36e28419b49e185be689e4745ad
2014-10-13 14:41:22 -04:00
Steven Dake
2bc783b8c6 Reorganize k8s structure
All services go to TLD/k8s/service
All pods go to TLD/k8s/pod

Change-Id: Iad2977a9f0cd5f430c4e0a566846bf4681618379
2014-10-07 15:33:11 -07:00
James Labocki
6edaffbc3b Updated base image in Dockerfile and changed CMD to reference correct file
Also, fixed up environment variable to use RABBITMQ_NODE_PORT, which is
what RabbitMQ expects (http://www.rabbitmq.com/configure.html).

Implements: blueprint kube-rabbitmq-container
Change-Id: Iacc2ea5d3c4a002e6920ed17cb21733a0cbd8d21
2014-10-07 17:51:00 -04:00
Chmouel Boudjnah
e35b376994 Validate JSON
Let's get that quickly so we can add a gate. There was some respacing
along the way (used http://jsonlint.com)

Change-Id: Id18b9f9757306cf3f06e6221a21a9f600db1bd2e
2014-10-07 10:02:04 +02:00
Lars Kellogg-Stedman
24b6db92bc introduce a new build mechanism
This patch replaces the collection of individual "build" scripts with a
single script (tools/build-docker-image), made available as "build"
inside each image directory.

The build-docker-image script will, by default, build images tagged with
the current commit id in order to prevent developers from accidentally
stepping on each other or on release images.

Documentation in docs/image-building.md describes the script in more
detail.

Change-Id: I444d5c2256a85223f8750a0904cb4b07f18ab67f
2014-10-04 11:03:39 -04:00
Steven Dake
3a60c10363 rabbitmq: remove trailing commas in tabs so JSON parses
Change-Id: I91bb3cab059220a6677e28e928b5805410ce5f5c
2014-10-03 07:56:02 -07:00
Steven Dake
7bb837fc65 Add a push script for each of the separate daemons
This pushes to the docker registry.
2014-09-25 22:15:27 -07:00
Steven Dake
fd22b2346e Make build tools build with kollaglue login
Build with kollaglue login.  Then we can upload all images under
that user namespace.
2014-09-25 22:15:27 -07:00
Brent Holden
11029d075a Exec rabbitmq using entrypoint; Expose RabbitMQ port 2014-09-22 16:33:54 -04:00
Steven Dake
ed602e7e65 Provide script to build docker images
Build all docker images one at a time or with one top level call
2014-09-20 18:57:08 -07:00
Steven Dake
ce94f823d4 Base images from Fedora 20 + RDO Icehouse
Previously images were based from RHEL OSP + RDO Icehouse.  This presents
a problem in that internal urls are used to access the rhel7 repositories.
For new contributors, we need something that can be accessed without special
rhel7 permissions.

mariadb and rabbitmq can from fedora
cinder, glance, keystone can from fedora-rdo-base

This patch also uses the RDO repositories from upstream.  This patch also
udpates the base fedora image with latest bits.
2014-09-20 13:49:13 -07:00
Lars Kellogg-Stedman
dd1a6bb063 added kube configs 2014-09-18 15:49:09 -04:00
Lars Kellogg-Stedman
6564ab4acb added rabbitmq 2014-09-18 15:30:23 -04:00