70 Commits

Author SHA1 Message Date
Sam Yaple
268aaa60fd Fix broken galera
A previous commit [1] broke Galera on Ubuntu while trying to fix
Centos. This fixes the underlying different between the two distros
and should help prevent that kind of mistake in the future.

[1] I523d1989575dbe24a891fcae3b6bf56d83e69615

Change-Id: Ie3e47f10cb669f36f8d2f166c88555931a54e3ec
Backport: Liberty
Closes-Bug: #1509281
2015-10-23 20:15:37 +00:00
Steven Dake
3842391b78 Encode datadir for xtrabackup
Xtrabackup previously used a hardcoded datadir.  In the latest
update to xtrabackup, the my.cnf config option datadir is now
parsed.  This variable was unset, causing galera to implode.

backport: liberty

Change-Id: I523d1989575dbe24a891fcae3b6bf56d83e69615
Closes-Bug: #1509281
2015-10-23 03:19:31 -07:00
Sam Yaple
b2ac6e80cd Add tty to containers
sudo requires a tty to function by default on centos. Instead of
tweaking the sudo conf we can just add a tty. This has the added
advantage of making the containers more friendly if you have to
`docker exec -i <container> bash` into them.

Change-Id: If97a02ca1d37c243a787d98ade54bde8d641aecd
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-14 10:54:33 +00:00
Sam Yaple
c5be228be8 Bump ansible to 1.9.2
Ansible 1.9.2 contains the fix needed for docker-py >1.2.0

This is needed for some gate reasons, but it is also a good version
bump because it fixes a few issues with delegate_to.

Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:34 +00:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
rthallisey
7088e885f8 Replace config-external with a JSON file for Galera
Change-Id: I82abc9a31571376679c4f463f5a6ae77a49ec2f6
Partially-Implements: blueprint replace-config-external
2015-09-16 10:33:29 -04:00
Steven Dake
a8a41a81aa Permit larger database connection count
The default incoming database connection count is limited to 151
connections.  These are not sufficient in a 100 node 3 controller
deployment to launch several heat stacks simulatenously.

Data measured on bare metal shows that 250 connections are needed
to launch one 25 VM heat stack with 3 controller nodes with 209
tasks (default enablement).

Change-Id: If60b540010d6d173a393fa91fa30cb3ba572cfc0
Closes-Bug: #1492719
2015-09-06 04:53:28 -07:00
Sam Yaple
3487d8da14 Rename Galera to MariaDB
Change-Id: I3134ba72e2ce4e85a17facbc3b5af4c1c3438d33
Closes-Bug: #1491740
2015-09-03 21:00:23 +00:00
Vladislav Belogrudov
64180f6735 Ansible register task for MariaDB incorrectly reports failure
When running register task for MariaDB we should firstly check
if operation failed before trying to parse result from json output

Change-Id: Ic331ec20990277d30b147826ff24affb27d52383
Closes-Bug: #1491751
2015-09-03 13:02:44 +03:00
Sam Yaple
8f7ff27779 Fix MariaDB for ubuntu
In MariaDB we adjust the dependecies of what we install there as well
adding only what is appropriate for the install.

In Ansible we adjust some templates to all work around differences
between the different Linux families.

Change-Id: Ibc26e2f4d4a732630632d3ed27fb595b6fe019d2
Partially-Implements: blueprint install-from-ubuntu
2015-08-21 13:10:05 +00:00
Steven Dake
bd5e5bbb64 Use one data container for all data volumes
The previous method of using the API image for a data container
worked, but resulted in more data being bindmounted and copied
into the system.  This patch resolves that by essentially using
a distro-type as a FROM in a Dockerfile to generate
distro-type-data.  Further all of the data containers used
throughout ansible are modified to use this new data container.

Change-Id: I8846573d4f2d4b98d4f46c770bfefc6d4c5cd0b5
Partially-Implements: blueprint one-data-container
2015-08-18 20:52:27 -07:00
Jenkins
b36abefd8f Merge "Update mariadb confs and ports" 2015-08-13 20:19:44 +00:00
Sam Yaple
5ee6d86eb7 Remove bootstrap.yml abstraction for mariadb
Change-Id: Icfd41d6cf5e4813d82a304233e784e8cb49fe3fb
Partially-Implements: blueprint remove-abstraction-ansible
2015-08-13 10:35:45 +00:00
Sam Yaple
cf3fd4043a Update mariadb confs and ports
Cleanup all options in galera.cnf. Bind to all interfaces and ports
appropriately.

Change-Id: I516613d09673ba61aadda2c7bbb4abbbe4ea47ac
Partially-Implements: blueprint update-configs
Closes-Bug: #1478330
2015-08-13 02:27:38 +00:00
Sam Yaple
98a379b0fd Reduce dependencies on the dest nodes
Currently we require a slew of deps on each destination node, this
includes a gcc compiler and installing things via pip. We can remove
these dependencies by containerizing them and running and Ansible
inside the container itself. The container would then report back
facts about idempotency.

DocImpact
Closes-Bug: #1481495
Implements: blueprint containerize-dependencies
Change-Id: I3dfccbf9fafc06ffc36e78f3006fe5d3367891df
2015-08-06 01:32:05 +00:00
Jenkins
a44b0a4b9f Merge "Use sleep during database bootstrap" 2015-08-01 19:32:18 +00:00
Sam Yaple
d32ed35d13 Use sleep during database bootstrap
A small sleep is used to allow the database to initialize before
starting the databases on the other hosts.

Change-Id: I1ea9ee8be55f47ae917f9985431e1e919f64c101
Closes-Bug: #1479970
2015-07-31 22:06:55 +00:00
Harm Weites
a1a78044b5 Remove the explicit chown root
This is not possible when running multihost ansible.
Essentially this should've been part of #1476293.

Change-Id: I53baccf5f89e71ce1313524815f928ea04908a05
Partitially-Implements: blueprint ansible-service
2015-07-31 20:47:53 +02:00
Vladislav Belogrudov
2887c6d2e4 Add missing slash if docker registry is specified
If user specifies registry a full image name is constructed by
concatenation of the registry, namespace and image. Currently
concatenation does not include '/' if registry is non-empty but
it should. If registry is empty '/' is not required.
This fix covers both use cases with help of Ansible filter.

Change-Id: I0588dd0da55d777e6caa7eb47d51b2435d38d5e0
Closes-Bug: #1479013
2015-07-31 18:38:16 +03:00
Sam Yaple
0382909dbb Rename role name to service name
The original purpose for having an abstract like 'database' rather than
the service name of 'mariadb' has been change. Our direction is different
and this patch reflects consistent naming throughout

Change-Id: I704896191cc5243f9dab2a4cca9120e9dc2ceb2c
Closes-Bug: #1478328
2015-07-30 19:35:17 +00:00