The last change was incomplete bceause we evaluate the apache conf
template in the context of the httpd class meaning any vars outside of
that class must be fully qualified lookups. Make serveradmin a fully
qualified lookup.
Change-Id: I709af6a78316cd1ca7e489d62f13e988997f3157
When serveraliases is not defined it should evaluate to nil, not ''.
Check for both to cover our bases.
Change-Id: Ie69baf01963f33cf695a0de763af75dc33b67daa
Dynamic scoping for variables in ERB templates was removed in puppet
4[1] which means that the variables defined in the
kibana::js class cannot be found when it is referenced in
the httpd::vhost defined type and will be evaluated as nil when
puppet runs. Use scope.lookupvar instead to be explicit about the
variable's source.
[1] https://puppet.com/docs/puppet/4.10/lang_updating_manifests.html#dynamic-scoping-in-erb
Change-Id: I27a63e74bda27269145b58e6d237c440085f0709
Using local ruby variables in puppet ERB templates was deprecated in
puppet 3 and doesn't work any more in puppet 4. Access these values as
ruby instance variables instead.
Change-Id: I06bdd6f5b1f13c4970c5e3e9dc8be4cf8d919b03
We need to use Require all granted in our directory that hosts the
Kibana files otherwise we get 403 forbidden when trying to access the
content.
Change-Id: I2e14ba113705f3fabaa4920704589da0f9abe978
We are sensitive to trailing slashes in the url for the elasticsearch
api due to the way kibana3 constructs its urls and how we proxy ES api.
Basically if ther config has a trailing / then we double up /'s and the
mod rewrite rules for rewriting the ES api breaks.
Simple fix is to have config.js remove and /s for us so that puppet
doesn't have to be too smart.
Fix here adapted from suggested at
https://stackoverflow.com/questions/6680825/return-string-without-trailing-slash
Change-Id: Ica46003f8a3706c88e9e2bf58e0d3c8ea7c4a50d
Add support for the javascript version of kibana.
By default, this is done by serving both the kibana and also an
elasticsearch proxy from the same location. Allowed GETs and POSTs
for read-only access to elasticsearch are passed to a proxy and all
other requests are served from the kibana source directory.
An optional prefix, such as 'elasticsearch/', can be specified in which
case the reverse proxy to elasticsearch will be served from this
sub-path.
Change-Id: I13f9dff0bbd6498a36dc75b026c9042a9bb05e8f
* modules/logstash/manifests/init.pp: Download and install Logstash
1.2.1.
* modules/openstack_project/files/logstash/log-gearman-client.py:
Logstash 1.2.1 comes with a new schema. Update the job data sent to log
push workers to better accomodate the new schema.
* modules/openstack_project/files/logstash/log-gearman-worker.py: Push
Logstash 1.2.1 schema compliant JSON to the Logstash TCP input.
* modules/openstack_project/templates/logstash/indexer.conf.erb:
Logstash 1.2.1 comes with a new schema and many input and filter
changes. Use the newly supported features like conditionals to keep the
config up to date.
* modules/kibana/templates/config.rb.erb: Change the default field for
kibana to 'message'. It was @message which is deprecated in the new
logstash schema.
Change-Id: Id19fc05bcce8d42c5c0cf33df3da7e95f5794107
Use mutliple discover nodes to determine elasticsearch cluster
membership. Put a timeout on recovery starting instead of the default
to recovery immediately. Describe cluster topology in elasticsearch yaml
config so that it can make smarter decisions. Round robin kibana
requests across each discover node.
Change-Id: I08ef9dd158ddf6a6ce01dfb2050626f543d45b10
Reviewed-on: https://review.openstack.org/34106
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: James E. Blair <corvus@inaugust.com>
Tested-by: Jenkins
We need to expand our elasticsearch install base. Update puppet to make
this possible.
Change-Id: Id0dae839b12ebf47715cf40a363832e0f661a94f
Reviewed-on: https://review.openstack.org/33910
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Reviewed-by: James E. Blair <corvus@inaugust.com>
Approved: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins
The new elasticsearch server needs to be able to connect back to
logstash over the elasticsearch ports. Also make kibana talk to the new
elasticsearch server.
Change-Id: I88af40c7885b263fcef5ff16210f073cd0a696a5
Reviewed-on: https://review.openstack.org/30354
Reviewed-by: Jeremy Stanley <fungi@yuggoth.org>
Approved: Clark Boylan <clark.boylan@gmail.com>
Reviewed-by: Clark Boylan <clark.boylan@gmail.com>
Tested-by: Jenkins