109 Commits

Author SHA1 Message Date
Dave Walker (Daviey)
c3a6aa684a Add Watcher ansible roles and templates
Previous work on Watcher added the Docker images, this
change adds the ansible configuration.

There is support for HA, via haproxy to balance across the
Watcher API hosts.

There is also a hook into nova.conf to conditionally add
Nova compute Host metrics via Ceilometer if Watcher is enabled.

This defaults to enabled false.

Change-Id: I8763528bb6ff12943b810212c71396d2d7cf6836
Partial-bug: #1598929
Partially-implements: bp watcher
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
2016-07-22 11:45:19 +01:00
Paul Bourke
5d5b209823 Add 'optional' param for mariadb heka conf
If one is using an existing or alternative mysql deployment and sets
enable_mariadb to false, heka would fail to deploy.

TrivialFix

Change-Id: Ieb793e11a40358e5d4fc1f3955f200e2cddef4f5
2016-07-15 11:02:59 +01:00
Ryan Hallisey
f5e0a3959b Change ansible image to kolla_toolbox
All the images follow the same naming schema where the container
name is part of the ansible variable name.  Currently, the
kolla_toolbox container is named ansible_image_full.  Change
this to match what the container name is.

Could impact operators who are specifying ansible_image_full
in globals.yml.

TrivialFix

Change-Id: I9f0cbe4bd69ce17489310a1f5734a254e6ebe27b
2016-05-23 10:13:48 -04:00
Mauricio Lima
1a2fe93a95 Make Heka collect Ceph logs
Change-Id: Ibaa5f8ba600afafa111d2ef204ee9192b8babdfc
Closes-Bug: #1570529
2016-05-05 13:26:44 -04:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08:00
Vikram Hosakote
df53d92db6 Revert "Add general_log to mariadb container and make heka collect it"
This reverts commit 86bafeee7a8926d212e8d089fade667772dbcc83.

Closes-Bug: #1568670

Change-Id: I88563292e29d691c27a3640e5232b9f22c7a288a
2016-04-11 02:49:56 +00:00
Jenkins
5f6d4d10d4 Merge "Make Heka write Keepalived logs to dedicated directory" 2016-04-05 05:39:54 +00:00
Jenkins
dc9990e744 Merge "Add general_log to mariadb container and make heka collect it" 2016-04-04 10:51:19 +00:00
Vikram Hosakote
86bafeee7a Add general_log to mariadb container and make heka collect it
Added general_log to ansible/roles/mariadb/templates/galera.cnf.j2
to improve mariadb logging.

This will be helpful to debug mariadb issues especially when
mariadb is scaled.

Test results of this patch set are at:
http://paste.openstack.org/show/492852/

Change-Id: I80438d1bbdd1ed2a1f47489c6f9c45b8107340a0
Closes-Bug: #1563668
2016-04-04 02:52:30 +00:00
Carlos Cesario
1e8abe3592 Make Heka write Keepalived logs to dedicated directory
Currently Heka writes the keepalived logs in
/var/log/kolla/haproxy/keepalived.log.
This commit changes this to /var/log/kolla/keepalived/keepalived.log.

Closes-Bug: #1565499
Change-Id: I3033097bd77ddbf72948697b34a6a499ea903083
2016-04-03 18:55:00 -03:00
Jenkins
808d6baa44 Merge "Change keystone log dir" 2016-04-03 00:48:09 +00:00
Jenkins
3a028e4334 Merge "Revert libvirt change in heka-openstack.toml.j2 in master" 2016-03-31 06:43:48 +00:00
Mauricio Lima
9a910d6b1e Starting heka bootstrap container failed in deployment
Change-Id: I7efa3f5df3a5743d264864070967cf995900b147
Closes-Bug: #1561111
2016-03-29 15:24:47 -04:00
Carlos Cesario
493650aa5e Change keystone log dir
Proposed patch to change keystone and heka log dir
from /var/log/kolla/apache2/ to /var/log/kolla/keystone/

Closes-Bug: #1560620
Change-Id: I70c65ceba5a301cc56880313ca86f01bd35676cb
2016-03-28 08:51:35 -03:00
Vikram Hosakote
4e60b9917f Revert libvirt change in heka-openstack.toml.j2 in master
This is consistent with the patch set in
https://review.openstack.org/#/c/296012/ for stable/mitaka

The new lua parser for libvirtd.log so that libvirtd.log can be
parsed in the Kibana dashboard will be implemented in a separate
patch set (in both master and backported to Mitaka).

TrivialFix

Related-Bug: 1560298
Related-Id: I1bc8bdb3180f30dc69af28a35fa057ac801bde0f
Change-Id: I59938a4e99abc676c391e535405417701aae2767
2016-03-23 23:51:48 +00:00
Jenkins
2bed01f981 Merge "MariaDB is not copied if enable_rabitmq is disabled" 2016-03-23 15:51:42 +00:00
Jenkins
73f55d3d6f Merge "Swift busted with Heka" 2016-03-23 12:36:44 +00:00
Jenkins
47cce66181 Merge "Changes horizon log location to kolla_logs volume" 2016-03-23 07:09:05 +00:00
Steven Dake
fea486a7f0 MariaDB is not copied if enable_rabitmq is disabled
Eric spotted this on IRC.  Submitted a bug and patch
on his behalf since he isn't available to work on Kolla
in the next few hours.

Co-Authored-By: Eric Lemoine <elemoine@mirantis.com>
Change-Id: I91efdd540170a391228d247c2e6e533e6c87b951
Closes-Bug: #1560819
2016-03-23 02:48:40 -04:00
Steven Dake
8307b06a46 Swift busted with Heka
Swift and heka were broken by an optimization that resulted in
a regression in commit:
0a1486a2c73275009f7158c911e7bfd683e40a58

This patch fixes that problem.

Change-Id: I02c6cf4de4f807c3ec66e2d4f59f182d0b864ea3
Closes-Bug: #1560788
2016-03-23 02:08:29 -04:00
Serguei Bezverkhi
8ec7811037 Changes horizon log location to kolla_logs volume
Changes location of Horizon log, they will be stored on common log volume
kolla_logs.

Change-Id: Ie9d56999a83efd05ab7c3dcb00b4dc42c9bce8f8
Closes-Bug: 1560250
2016-03-22 18:26:18 -04:00
Vikram Hosakote
7af0ab9ba9 Make heka collect libvirtd.log in nova_libvirt container
Test results of this patch set are at:
http://paste.openstack.org/show/491382/

Change-Id: I1bc8bdb3180f30dc69af28a35fa057ac801bde0f
Closes-Bug: #1560298
2016-03-22 03:23:41 +00:00
SamYaple
f4175f04d7 Fix 'optional' config.json values
These values are optional only when the services are not enabled.

If the file does not exist we should not warn, but rather inform.

Ceph-mon is an exception here since its bootstrap process means
the files may or may not exist initially.

TrivialFix

Change-Id: Ic02bece76d480e99deecf612036f37abb5604135
2016-03-19 23:01:27 +00:00
SamYaple
0a1486a2c7 Rework heka log copying
Now that we have reconfigure we dont have to copy over all config
files at the same time.

TrivialFix

Change-Id: I866be0f05e604151e081974a64f17bf65787f604
2016-03-19 23:01:15 +00:00
SamYaple
b160a78995 Add cron to pull playbooks
TrivialFix

Change-Id: I9e7e65d6e5ddfb3c387e147a8cc6f5aae1aab0cd
2016-03-17 17:13:38 +00:00
Jenkins
a28b246259 Merge "Add cron image and playbook" 2016-03-10 20:22:15 +00:00
Éric Lemoine
32a4cadac9 Add cron image and playbook
Add cron image and playbook for logrotate.

The "common" Ansible playbook includes configuration files for
logrotate. At this point the operator cannot customize/override the
logrotate configuration.

Closes-Bug: #1553244
Change-Id: Ic9fdda9a273c9ccd90502f0acc7614d2c7157dca
2016-03-09 13:53:55 +01:00
SamYaple
7b6fbdf41d Remove storage_hostname
This was an attempt to get storage_interface to work properly but that
work will not be completed and functional this cycle. There are design
topics that need to be discussed about it that were brought to light
by the RAX gate failing for it.

TrivialFix

Change-Id: I65579f9e0e0dcf3fa51c0ea031ff474145457c40
2016-03-09 12:08:15 +00:00
Jenkins
f14b931286 Merge "Copy the logs out of the container" 2016-03-09 04:17:50 +00:00
Jeffrey Zhang
12d6eeceb5 Copy the logs out of the container
Heka logs almost done. When testing, The collected logs can copy
to the /tmp/logs folder, which will be handle by the gate. This
will be very useful for our gate debug.

TrivialFix

Change-Id: I06ca8ebd13933bfd15cb2fb5e53fc3038b17b8c3
2016-03-09 09:34:59 +08:00
Rodolfo Alonso
c4febaf918 Add "heka-elasticsearch.toml" to /etc/heka in heka bootstrap container.
Missing file during the config procces of bootstrap container.

Change-Id: I600c0ca9c60bddae16310be1fcb65f3be482a599
Closes-Bug: #1554449
2016-03-08 10:02:03 +00:00
Jenkins
eacaf76241 Merge "Move hostname registration to common" 2016-03-07 19:28:45 +00:00
Éric Lemoine
14dec25e54 Fix "wait for log socket" in start.sh
The code in docker/base/start.sh that waits for the log socket does
not work because it includes a bad "space" character after "-S".

This patch changes that character to a real "space" character. It
also sets the SKIP_LOG_SETUP envvar for the Heka container.

TrivialFix

Change-Id: I17a3005df5bbd57678350fc77030e44b5ad6acae
2016-03-07 13:21:38 +01:00
Jenkins
08101fd465 Merge "Make Heka send logs to Elasticsearch" 2016-03-05 15:36:44 +00: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
Jenkins
7ab6def355 Merge "Add reconfigure for heka" 2016-03-04 14:36:47 +00:00
Mauricio Lima
285e42a99c Make Heka collect Manila logs
Partially implements: blueprint heka

Change-Id: I3fadbf29f5219a293b8b1114d192e27888be2c59
2016-03-03 10:53:59 -05:00
SamYaple
7f6de0a7e0 Move hostname registration to common
The storage hostname is used in many conf files all over the place and
should be registered upon each run for every service

TrivialFix

Change-Id: I1d5a20cb6d51cee9f529cf2e1fb144158f7718a9
2016-03-03 15:18:30 +00:00
Éric Lemoine
b950fe2383 Add reconfigure for heka
Change-Id: I21c5fa106c5d1cf1ec1c3de1a9378595c6c0b086
Partially-Implements: blueprint kolla-reconfig
2016-03-03 12:57:00 +01: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
Éric Lemoine
95cf542f8d Fix parsing of RabbitMQ logs
Currently Heka fails to parse the RabbitMQ logs. There are two
problems:

1. The rabbit-sasl.log file is ignored but the file_match expression
   does not match.
2. The delimiter used in the RegexSplitter makes Heka stop on the
   very first log entry. '\n\n(=[^=]+====' (with two \n's) is
   a better delimiter. deliver_incomplete_final is used to get the
   final log entry.

TrivialFix

Change-Id: I94720340d5b2d6fd5d7641b9ff58733f6cd882ee
2016-02-26 14:50:32 +01:00
Jenkins
c79174012c Merge "Add the default empty reconfigure.yml file to all roles" 2016-02-25 21:58:56 +00: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
Jenkins
bb48523f9f Merge "Use passed client IP address in various audit logs" 2016-02-24 17:00:35 +00:00
Jenkins
a9b016e43a Merge "Fix non-idempotent heka bootstrap" 2016-02-24 16:32:27 +00:00
Dave McCowan
b770339534 Use passed client IP address in various audit logs
HAProxy: change to use option forwardfor to pass origin IP address
to backend via X-Forwarded-For header

Keystone: Apache does the audit logs for keystone.  Change the
LogFormat to display the passed address instead of the connection
address which is that of the load balancer.

Nova, Cinder, Glance: these services can make use of the address
passed in X-Forwarded-For.  With this setting the API logs for
these services include the client IP address.

Change-Id: Ia861ecc11a7c7d463d0366586926d1a842853f69
Closes-Bug: #1548935
2016-02-24 09:51:13 -05:00
SamYaple
52c4667b10 Fix non-idempotent heka bootstrap
This bootstrap was non-idempotent. This patch follows the style
first implemented with nova to make this idempotent.

TrivialFix

Change-Id: Id04e59c5274a7d8a5bffd3ce018f3bbb84839d75
2016-02-23 22:16:56 +00:00
Jenkins
56c32ac39a Merge "Remove Rsyslog entirely" 2016-02-23 16:37:56 +00:00
Jenkins
a431b69560 Merge "Make Heka collect Mistral logs" 2016-02-23 16:37:49 +00:00
Éric Lemoine
0417844b8d Remove Rsyslog entirely
Partially implements: blueprint heka

Change-Id: I1322d2dc870e6f8fe052926995d993e8a08a25db
2016-02-23 01:45:23 -08:00