188 Commits

Author SHA1 Message Date
Sam Yaple
6b28343017 Incorrect parsed variable name
database_user_create was not correctly referenced when parsing the
variable names. This could never actually lead to a situation that
reported a false change, but it could break an operation if you were
using the --step option with ansible and skipped the database create
task.

TrivialFix
Backport: Liberty

Change-Id: Idf69fffcc3814f509448ccea11b7d175f074ccf1
2015-11-09 10:47:15 +00:00
Jenkins
037bdca42d Merge "bootstrap takes place on the wrong node" 2015-11-06 03:32:36 +00:00
Sam Yaple
e2bc9dcf79 bootstrap takes place on the wrong node
The bootstrap must occur on the nova-api node due to binding in the
nova-api directory (same goes for all other services)

Closes-Bug: #1513439
Backport: Liberty
Change-Id: Iab88b49712828085e4d7e7f85e6d8f0b7999a9bf
2015-11-05 16:30:44 +00:00
Sam Yaple
347730cec8 Remove vip for rabbitmq
Adjust all the configs to list all the rabbitmq hosts rather than
running rabbitmq through the VIP. This is made possible by clusterer
which has already merged.

Change-Id: I5db48f5f10ec68f4c8863a29bc13984f6845a4f9
Partially-Implements: blueprint rabbitmq-clusterer
2015-11-05 15:43:20 +00: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
1d60be3770 Allow ceph pool names to be configurable
Change-Id: Ic408ef7aec7f1c95396a0ccf0209b104908a3f21
Partially-Implements: blueprint ceph-improvements
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
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
Sam Yaple
5223965b61 Fix ceph after config-external removal
Change-Id: I46dc2f02dda8219878eee3755b0891f4c3450682
Partially-Implements: blueprint replace-config-external
2015-09-29 08:39:43 +00: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
Michal Jastrzebski (inc0)
943ffd76ed Glance logging to rsyslog
Configure glance to use rsyslog container as logging mechanism

Change-Id: I60f604d7a85bb4309b26be03cd6b8aac14840fe7
Implements: bp logging-container
2015-09-24 12:45:46 +02:00
rthallisey
3fa0aa2ddc Replace config-external with a JSON file for Glance
Change-Id: I14187db31a009c150424ea28b854a78c9ae3941d
Partially-Implements: blueprint replace-config-external
2015-09-18 15:19:06 -04:00
Sam Yaple
f42528acaf Properly check failed status
No need for a new task.

Change-Id: I958f87ac9a1434a2f6052e0271f37e5f3109775e
Closes-Bug: #1492337
2015-09-06 11:21:44 +00:00
Vladislav Belogrudov
7f81dbc85b Check exit status of bootstrap containers
Currently bootstrap containers are waited to exit but are not
checked for exit status and ansible runs further tasks. If
bootstrapping fails we notice it at much later time.

Change-Id: I137fc11b0f9d1f03d2ded08a213e8dbd62741f92
Closes-Bug: #1492337
2015-09-04 19:47:54 +03:00
Paul Bourke
f5c996e77d Fix typo in task bootstrap task names
Not quite halloween yet...

Change-Id: Ib1973eea0b2dddc0e0845731d1212c4d4447cca5
Closes-Bug: #1490502
2015-08-31 11:27:10 +01:00
Steven Dake
98b98924ee Use database_user_create in the register operation
The register operation was registering user_database which is a global
variable in group_vars/all.yml.  This results in glance not being deployable
because user_database is overwrriten at keystone task registration time.

The result of this is the playbooks fail to deploy.

Change-Id: Ic69725fb09aa0a368ec5b0d8f47bfc768c29c70c
Closes-Bug: #1486876
2015-08-20 00:49:31 -07: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
Sam Yaple
a6f3a1073a Fix volumes_from for the ansible playbooks
Change-Id: Ib4b563d20d8e5ea5b81fb89e9ee4943487d7e6cd
Closes-Bug: #1485297
2015-08-16 09:10:58 +00:00
Jenkins
d639155657 Merge "Update glance confs and ports" 2015-08-12 20:22:07 +00:00
Jenkins
8863fcf843 Merge "Glance-registry is missing a messaging config" 2015-08-12 18:07:38 +00:00
Vladislav Belogrudov
2ddfb13601 Glance cannot store images due to incomplete configuration
Glance api refuses to store images with error
"Error in store configuration. Adding images to store is disabled. (HTTP N/A)"
This happens due to missing configuration of store in glance-api.conf

Change-Id: I50696671d10ffc56189d3aa08c1e73bb307bc800
Closes-Bug: #1484123
2015-08-12 16:50:26 +03:00
Ryan Hallisey
59b016f490 Glance-registry is missing a messaging config
Change-Id: Ibf20d74f2ea5583bc1c183d14329e37661c20721
Closes-Bug: #1483793
2015-08-12 07:20:06 -04:00
Vladislav Belogrudov
305192152d Glance bootstrap container mounts wrong config folder
Glance bootstrap container is based on glance-api. Ansible playbook
incorrectly mounts
    "{{ node_config_directory }}/glance" to "/opt/kolla/glance"
where it should mount
    "{{ node_config_directory }}/glance-api" to "/opt/kolla/glance-api".
After start bootstrap container fails to find configuration and exits.

Change-Id: Id2e5ddb2191cfee7db57dd0aec2f06fc617aa9d6
Closes-Bug: #1483757
2015-08-11 17:07:01 +03:00
Vladislav Belogrudov
91df6940d9 Glance bootstrap container does not create tables and runs forever
Due to typo in ansible/roles/glance/tasks/bootstrap.yml container
misses database initialization block and starts service instead.
Ansible hangs on waiting for bootstrap container exit.

Change-Id: Icf5ba68b47d65b22d6869e4b7b2d93e7edb8ed3b
Closes-Bug: #1483647
2015-08-11 13:55:17 +03:00
Vladislav Belogrudov
fe9092bab7 Ansible should wait bootstrap container on first host
Bootstrapping of Keystone/Glance happens on first host
via 'run_once'. After running bootstrap containers we
should wait for them also on the same host. Currently
waiting is done on all hosts what gives task error on
other hosts.

Change-Id: I6eac928d405ea819982118d9b567988074be4ed2
Closes-Bug: #1483224
2015-08-10 15:59:50 +03:00
Sam Yaple
0247df7a7d Update glance confs and ports
Cleanup all options in the minimal glance confs. Remove options where
the default value was specified explicitly. Updated ports and bindings
to be configurable.

For rabbitmq, those options will only be needed once ceilometer is
implemented. At that point they will exist in an 'if' block.

Change-Id: Idcf0ebc625a5ef3a83181bce10281596a5f1d684
Partially-Implements: blueprint update-configs
2015-08-10 04:42:31 +00:00
Sam Yaple
beeef8413e Remove Ansible abstraction for Glance
Change-Id: I9e2fe6c5e7396d6fb3ce348f30f1d5ea81b6dcf6
Partially-Implements: blueprint remove-abstraction-ansible
2015-08-08 05:35:06 +00:00
Ryan Hallisey
cd3536ec31 Glance api and Glance registry shouldn't share tags
In the ansible tool, both the Glance api and registry share
the same release tag and they shouldn't.

Change-Id: I5f5f288d192586b84963d59d94567371d28b76a0
Closes-bug: #1482374
2015-08-06 16:24:30 -04: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
Sam Yaple
8e03952c10 Fixes race condition in ansible playbooks
Bundling in a run_once error that beaks with multinode and the race

Change-Id: Ia3779d9a291f8d652fc81fe5ebcab88241805c8d
Closes-Bug: #1480468
2015-07-31 22:40:21 +00: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
0007d3325d Properly use groups throught Ansible
Additionally, make each service optional witha config option allowing
for extreme flexibility should the deployer want to replace a service
with a non-kolla one (the database for example).

Change-Id: I7b644da7cfa7e8e6b6878eb1b1aa97db830504ae
Closes-Bug: #1478509
2015-07-30 19:35:33 +00:00
Sam Yaple
1167f11813 Adds glance and nova data volume
Change-Id: I179a20e637274659cf6e3b2d8a61ff2728fa084b
Closes-Bug: #1478315
2015-07-26 08:12:52 +00:00
Sam Yaple
7da0b2a80c Ansible Nova w/ libvirt support
Initial support for Nova in Ansible

Partially-Implements: blueprint ansible-service

Change-Id: I4b0a74bd3e5daa5664f5e1e622bfb40c3285949e
2015-07-12 12:44:14 +00:00
Sam Yaple
05a6640a0f Add temporary Ansible keystone modules
Due to the licensing issues and the modules not existing in upstream
Ansible yet, I have written a simple module to fill the gaps.

This also uses Keystone v2.0 for all create of users, roles and
endpoints. The implementation of Keystone v3 must be discussed after the
new modules arrive.

Partially-Implements: blueprint ansible-service

Change-Id: I389edd56741360dd26fbbc0a982f365ca27ff446
2015-07-12 03:14:49 +00:00
Sam Yaple
e7a7cc9017 Ansible Glance support
Adds support for glance in ansible

Partially-Implements: blueprint ansible-service
Change-Id: I2d162e79f85877116b0e33b1843de6ccb62a445a
2015-07-09 15:29:55 +00:00