452 Commits

Author SHA1 Message Date
Jenkins
08101fd465 Merge "Make Heka send logs to Elasticsearch" 2016-03-05 15:36:44 +00:00
Éric Lemoine
97ae06341a Use alphabetical order in cleanup-containers
TrivialFix
Change-Id: I95f2e6d17ba7960b2f87344f30b7884d621f9ecb
2016-03-05 11:51:49 +01:00
Éric Lemoine
491aff0b88 Make Heka send logs to Elasticsearch
This patch includes changes relative to integrating Heka with
Elasticsearch and Kibana.

The main change is the addition of an Heka ElasticSearchOutput plugin
to make Heka send the logs it collects to Elasticsearch.

Since Logstash is not used the enable_elk deploy variable is renamed
to enable_central_logging.

If enable_central_logging is false then Elasticsearch and Kibana are
not started, and Heka won't attempt to send logs to Elasticsearch.

By default enable_central_logging is set to false. If
enable_central_logging is set to true after deployment then the Heka
container needs to be recreated (for Heka to get the new
configuration).

The Kibana configuration used property names that are deprecated in
Kibana 4.2. This is changed to use non-deprecated property names.

Previously logs read from files and from Syslog had a different Type
in Heka. This is changed to always use "log" for the Type. In this
way just one index instead of two is used in Elasticsearch, making
things easier to the user on the visualization side.

The HAProxy configuration is changed to add entries for Kibana.
Kibana server is now accessible via the internal VIP, and also via
the external VIP if there's one configured.

The HAProxy configuration is changed to add an entry for
Elasticsearch. So Elasticsearch is now accessible via the internal
VIP. Heka uses that channel for communicating with Elasticsearch.

Note that currently the Heka logs include "Plugin
elasticsearch_output" errors when Heka starts. This occurs when Heka
starts processing logs while Elasticsearch is not yet started. These
are transient errors that go away when Elasticsearch is ready. And
with buffering enabled on the ElasticSearchOuput plugin logs will be
buffered and then retransmitted when Elasticsearch is ready.

Change-Id: I6ff7a4f0ad04c4c666e174693a35ff49914280bb
Implements: blueprint central-logging-service
2016-03-05 11:51:49 +01:00
SamYaple
d5d1b1b3dd heatclient has invalid json validation picks up
We shouldn't be scanning .tox dir anyway.

TrivialFix

Change-Id: If570abdfa69375091751199dcce637682e8de1ef
2016-03-02 19:40:09 +00:00
Jenkins
76c28f9698 Merge "Update cleanup-containers to remove ceph containers" 2016-03-01 14:16:04 +00:00
Mauricio Lima
f1b8eec20d Update cleanup-containers to remove ceph containers
TrivialFix

Change-Id: Ia47429a38503d4982049c3fa1fc6fca4a8000fbd
2016-03-01 06:58:46 -05:00
Allen Gao
235e95885b Move ironic-discoverd to ironic-inspector
Closes-Bug: #1551052
Change-Id: Ic226287bbf1f1e8d5cc2e1d80ce2975448b1f95c
2016-02-29 11:47:52 +08:00
Jenkins
c81097df8b Merge "Change kolla_internal_address variable" 2016-02-27 17:50:52 +00:00
SamYaple
d3cfb2052a Change kolla_internal_address variable
Due to poor planning on our variable names we have a situation where
we have "internal_address" which must be a VIP, but "external_address"
which should be a DNS name. Now with two vips "external_vip_address"
is a new variable.

This corrects that issue by deprecating kolla_internal_address and
replacing it with 4 nicely named variables.

kolla_internal_vip_address
kolla_internal_fqdn
kolla_external_vip_address
kolla_external_fqdn

The default behaviour will remain the same, and the way the variable
inheritance is setup the kolla_internal_address variable can still be
set in globals.yml and propogate out to these 4 new variables like it
normally would, but all reference to kolla_internal_address has been
completely removed.

Change-Id: I4556dcdbf4d91a8d2751981ef9c64bad44a719e5
Partially-Implements: blueprint ssl-kolla
2016-02-26 20:00:09 +00:00
Dave McCowan
fd28087229 Add Ansible scripts to generate TLS certificates for testing
Working towards the blueprint that will add TLS protection
for the external endpoints, kolla needs certificates.

When kolla deploys OpenStack, the external VIP will need
a server side certifcate.  Clients that access those endpoints will
need the public CA certificate that signed that certificate.

This ansible script will create these two certificates to make
it easy to use TLS in a test environment.  The generated
certificate files are:

/etc/kolla/certificates/haproxy.pem  (server side certificate)
/etc/kolla/certificates/haproxy-ca.pem (CA certificate)

The generated certificates are not suitable for use in a
production environment, but will be useful for testing and
verifying operations.

Partially-implements: blueprint ssl-kolla

Change-Id: I208777f9e5eee3bfb06810c7b18a2727beda234d
2016-02-26 14:09:31 -05:00
Jeffrey Zhang
d26c259754 Add the default empty reconfigure.yml file to all roles
DocImpact

Partially-implements: bp kolla-reconfig
Change-Id: I9738e80960bcfbef18d1ef1b7942f81c45684e85
2016-02-25 09:32:53 +08:00
Éric Lemoine
0417844b8d Remove Rsyslog entirely
Partially implements: blueprint heka

Change-Id: I1322d2dc870e6f8fe052926995d993e8a08a25db
2016-02-23 01:45:23 -08:00
Jenkins
eb3e99399b Merge "Add elasticsearch repo to gate" 2016-02-23 01:22:54 +00:00
SamYaple
85600cd428 Add elasticsearch repo to gate
TrivialFix

Change-Id: I0f083654df901fb765e9517308ac94316859d971
2016-02-22 22:28:50 +00:00
Jenkins
c01ed04b2d Merge "Make cleanup-containers remove bootstrap_heka" 2016-02-22 18:00:36 +00:00
Éric Lemoine
b3ee41a288 Make cleanup-containers remove Heka volumes
TrivialFix
Partially implements: blueprint heka

Change-Id: Ie8f393515c464020f079db41c05d023319920136
2016-02-22 17:30:57 +01:00
Éric Lemoine
fadd8a3ded Make cleanup-containers remove bootstrap_heka
TrivialFix
Partially implements: blueprint heka

Change-Id: I5f91056590250f2a477018c1773905b412536f24
2016-02-22 13:56:29 +01:00
Éric Lemoine
916925c9a8 Add Heka to common role
Partially implements: blueprint heka
Change-Id: I9ddad09b3f16b323c7ed535243458b0de6620cdb
2016-02-19 20:32:00 +00:00
SamYaple
0cb1d969f4 Quick gate fix
I accidentally merged a patch with +W that does not work on all gates
that infra uses. Specifically it breaks on RAX for unknown reasons.

This is a quick patch to not fully revert, but allow the gate to stay
green while I work out the issue

Change-Id: I02fc66bbc53103f2d71c648d5e2959f10f0130c0
Partially-Implements: blueprint functional-testing-gate
2016-02-19 17:59:30 +00:00
Jenkins
e613cb816a Merge "Keep consistent with others for ironic containers" 2016-02-19 17:43:05 +00:00
Allen Gao
75e5782400 Keep consistent with others for ironic containers
Make the containers and volumes names of ironic to be
consistent with others.

Partially-implements: blueprint ironic-container
Change-Id: If78b020c81157a948c5c3283f1410bcb6e5c1e61
2016-02-19 20:30:59 +08:00
SamYaple
ae4407a2ab Launch VM in gate
Change-Id: I18b1015ca62a352e193ef01bd49cd6d6f9372193
Partially-Implements: blueprint functional-testing-gate
2016-02-18 19:55:24 +00:00
Jeffrey Zhang
29833132d8 Also remove the volumes when cleaning up containers
TrivialFix

Change-Id: Ia52451d2c0de09ee9dcf79211389a3b1ce4ae738
2016-02-18 09:06:44 +01:00
Jenkins
ff44f227c3 Merge "Adds support for cleaning up bootstrap containers in the toos/cleanup-containers script." 2016-02-18 01:14:38 +00:00
Jeffrey Zhang
d99de6b973 Fix the mistral services name typo
missing a "_"

TrivialFix

Change-Id: Id7624f4f35c3c53c068d7c6646b363332363c3d5
2016-02-17 19:21:25 +08:00
Shaun Smekel
6ac7839a21 Adds support for cleaning up bootstrap containers in the
toos/cleanup-containers script.

Dynamic Ceph OSD bootstrap containers also included.

Change-Id: Ifb5b54c5b78a894ed6e8b9980a6eb9919e52364c
Closes-Bug: #1515544
Signed-off-by: Shaun Smekel <shaun.smekel@theorem.net.au>
2016-02-17 18:49:55 +11:00
SamYaple
2c45bef065 Reduce gate resource usage
Change-Id: Ic6cd45ec708efe4f573e19f3bc910717ac3b4fbb
Partially-Implements: blueprint functional-testing-gate
2016-02-16 15:12:38 +00:00
Jenkins
dda86e6d03 Merge "Fix detect_distro" 2016-02-14 20:23:26 +00:00
Jenkins
a2c317f16d Merge "Fix non-root deploys" 2016-02-14 20:23:20 +00:00
Allen Gao
a5a0a830ef rabbitmq_data container is removed
TrivialFix

Change-Id: I5168191182c249df68fd0b5c70a778f223326974
2016-02-14 20:18:55 +08:00
SamYaple
44a4682da2 Fix detect_distro
It was run before ansible was installed and did not properly fail.
This prevented the mirrors for apt from being properly used.

TrivialFix

Change-Id: I5331020993b62c8635a4a97dc3a3d2e01e3d4360
2016-02-12 03:38:48 +00:00
SamYaple
9f7c3b630d Fix non-root deploys
TrivialFix

Change-Id: Id0e7cf9e1c0c4259b8a50c39e95214103256517b
2016-02-12 03:38:45 +00:00
Jenkins
51e9046ea7 Merge "Use Infra provided mirrors in gate" 2016-02-12 01:51:30 +00:00
Jeffrey Zhang
7899d00c6f Trap error exit in deploy aio script
This make sure the check_failure called whenever the script exits
unexpectedly.

TrivialFix

Change-Id: If38e9ad42810deec48afd3f8b57387ae6ffd926c
2016-02-10 21:31:48 +08:00
Jenkins
1fdae5b9d0 Merge "Increase ansible verbosity during gate deploy" 2016-02-09 17:37:06 +00:00
Martin André
fd7b431069 Add all neutron agents to cleanup-containers script
When breaking neutron-agents into thin containers, we forgot to update
the cleanup-containers script.

TrivialFix

Change-Id: Idad2eb73a4de7c66109ad5bffcce3173970e2af9
2016-02-09 14:49:39 +09:00
Martin André
bda91649e8 Increase ansible verbosity during gate deploy
The gate currently doesn't provide any context when ansible fails. This
commit adds a new --verbose option to `kolla-ansible` that is passed to
`ansible-playbook`, and sets the default to -vvv for `kolla-ansible
deploy` in the gate.

TrivialFix

Change-Id: If248a4186b140e1ec0d2e787c27481cec7e81eec
2016-02-08 18:18:05 +09:00
SamYaple
0921308a97 Use Infra provided mirrors in gate
Both apt and pip mirrors are added here

Related-Id: I26f5fc5cec224cf4f4ea361e0f71cecbf320fbb0
TrivialFix

Change-Id: Ib3cb1d2c6fb27887e3ea819d277e21ea3a530f56
2016-02-08 03:58:23 +00:00
SamYaple
74cd09a3fc Add retry function for Docker keyring
Sometimes the keyserver has a mirror failure which results in a failed
gate. Add a retry to help prevent that failure.

TrivialFix

Change-Id: I143626dd6d799b4ea0f82f6649d2155c2f45a115
2016-02-08 03:58:23 +00:00
SamYaple
e8d66766f0 Fix gate for docker 1.10
Docker 1.10 has broken the gate and this patch will correct that
breakage.

The issue comes with rsyslog. Due to a commit in Docker 1.10 [1] we
must change the way we get the log socket for rsyslog. The /dev/
folder will no longer populate as we used it. So instead we simply
make a new socket in a path we control and share that to the correct
location in the containers.

Additionally, adjust the gate for new Docker daemon.

[1] https://github.com/docker/docker/pull/16639
Partially-Implements: blueprint kolla-upgrade
Change-Id: I881a2ecdf6d7b35991e1d38a3f3e60d022d6577f
2016-02-06 06:48:53 +00:00
Jenkins
1b3480edca Merge "Fix the ugly base directory path" 2016-02-05 17:52:38 +00:00
Jenkins
b891afd64c Merge "Rename kolla_ansible to kolla_toolbox" 2016-02-05 15:04:37 +00:00
Allen Gao
343e736e62 Fix the ugly base directory path
Remove the '..' in the path like:
/home/jenkins/workspace/gate-kolla-dsvm-deploy-centos-binary/tools/../ansible/inventory/all-in-one

TrivialFix

Change-Id: I80724a9e876ed1826c65e08b55cfa08124d70eb9
2016-02-05 16:59:01 +08:00
SamYaple
80b7266ed1 Rename kolla_ansible to kolla_toolbox
This change is needed for clarity. We have a kolla-ansible script.
We have a kolla-mesos repo. We plan to have a kolla-ansible repo.
Already we have had far too much confusion about whether we are
talking about the container or the project. Naming this kolla-toolbox
eliminates all of that confusion and its probably a bit more accurate
of a name too.

Closes-Bug: #1541053
Change-Id: I8fd1f49d5a22b36ede5b10f46b9fe02ddda9007e
2016-02-02 18:12:15 +00:00
Jeffrey Zhang
7ec170a9ff Validate that all the containers are started
Container maybe exit after deployed. But the print_failure
never runs if the kolla-ansible run success.
This PS checks all the containers status after deploy and
failed the test if the container status is exited

TrivialFix
Change-Id: Ia461b280855eda500e143ee1d6cfd5f215eaf6fe
2016-02-02 19:47:38 +08:00
Mauricio Lima
488f46f537 Update cleanup-containers to remove manila containers
Change-Id: Ie7a53396b03ce4e472b5e810a02ccdfc9bd8aacd
Partially-Implements: blueprint enable-manila-containers
2016-01-28 14:47:37 -05:00
Allen Gao
0f01d3ebc7 Add the keyfile option to decrypt the passwords.yml
The passed keyfile path is used to decrypt the passwords.yml
which encrypted by the ansible vault.

Partially-Implements: blueprint	encrypt-sensitive-info
DocImpact
Change-Id: Ifaebf464478cde99e896c13b375cfaf9282ee576
2016-01-27 06:24:59 +08:00
Allen Gao
2a81598434 Add the missed long option tags
And use variables for options.

TrivialFix

Change-Id: I6cf8612b4e15ef263d2f5b2dbacc186ccd16871b
2016-01-27 06:17:21 +08:00
Jenkins
06b16d577d Merge "Convert gate to file backend rather than partition" 2016-01-26 03:04:43 +00:00
Jeffrey Zhang
94f5e87002 Expose the ansible-playout tags parameter
we can deploy specific services by using tags feature. It is very
useful, especially in develop/test stage.

TrivaiFix

Change-Id: I21cc55e6f1a32a5c57570bc2c2fb9b084e513af8
2016-01-25 09:54:22 +08:00