sync next
This commit is contained in:
commit
f011eb3dd2
@ -3,7 +3,7 @@ destination: hooks/charmhelpers
|
|||||||
include:
|
include:
|
||||||
- core
|
- core
|
||||||
- fetch
|
- fetch
|
||||||
- contrib.openstack
|
- contrib.openstack|inc=*
|
||||||
- contrib.hahelpers
|
- contrib.hahelpers
|
||||||
- contrib.network
|
- contrib.network
|
||||||
- contrib.python.packages
|
- contrib.python.packages
|
||||||
|
@ -116,6 +116,12 @@ options:
|
|||||||
juju-myservice-0
|
juju-myservice-0
|
||||||
If you're running multiple environments with the same services in them
|
If you're running multiple environments with the same services in them
|
||||||
this allows you to differentiate between them.
|
this allows you to differentiate between them.
|
||||||
|
nagios_servicegroups:
|
||||||
|
default: ""
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
A comma-separated list of nagios servicegroups.
|
||||||
|
If left empty, the nagios_context will be used as the servicegroup
|
||||||
bridge-mappings:
|
bridge-mappings:
|
||||||
type: string
|
type: string
|
||||||
default: 'physnet1:br-data'
|
default: 'physnet1:br-data'
|
||||||
|
32
hooks/charmhelpers/contrib/openstack/files/check_haproxy.sh
Executable file
32
hooks/charmhelpers/contrib/openstack/files/check_haproxy.sh
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#--------------------------------------------
|
||||||
|
# This file is managed by Juju
|
||||||
|
#--------------------------------------------
|
||||||
|
#
|
||||||
|
# Copyright 2009,2012 Canonical Ltd.
|
||||||
|
# Author: Tom Haddon
|
||||||
|
|
||||||
|
CRITICAL=0
|
||||||
|
NOTACTIVE=''
|
||||||
|
LOGFILE=/var/log/nagios/check_haproxy.log
|
||||||
|
AUTH=$(grep -r "stats auth" /etc/haproxy | head -1 | awk '{print $4}')
|
||||||
|
|
||||||
|
for appserver in $(grep ' server' /etc/haproxy/haproxy.cfg | awk '{print $2'});
|
||||||
|
do
|
||||||
|
output=$(/usr/lib/nagios/plugins/check_http -a ${AUTH} -I 127.0.0.1 -p 8888 --regex="class=\"(active|backup)(2|3).*${appserver}" -e ' 200 OK')
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
date >> $LOGFILE
|
||||||
|
echo $output >> $LOGFILE
|
||||||
|
/usr/lib/nagios/plugins/check_http -a ${AUTH} -I 127.0.0.1 -p 8888 -v | grep $appserver >> $LOGFILE 2>&1
|
||||||
|
CRITICAL=1
|
||||||
|
NOTACTIVE="${NOTACTIVE} $appserver"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $CRITICAL = 1 ]; then
|
||||||
|
echo "CRITICAL:${NOTACTIVE}"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "OK: All haproxy instances looking good"
|
||||||
|
exit 0
|
30
hooks/charmhelpers/contrib/openstack/files/check_haproxy_queue_depth.sh
Executable file
30
hooks/charmhelpers/contrib/openstack/files/check_haproxy_queue_depth.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#--------------------------------------------
|
||||||
|
# This file is managed by Juju
|
||||||
|
#--------------------------------------------
|
||||||
|
#
|
||||||
|
# Copyright 2009,2012 Canonical Ltd.
|
||||||
|
# Author: Tom Haddon
|
||||||
|
|
||||||
|
# These should be config options at some stage
|
||||||
|
CURRQthrsh=0
|
||||||
|
MAXQthrsh=100
|
||||||
|
|
||||||
|
AUTH=$(grep -r "stats auth" /etc/haproxy | head -1 | awk '{print $4}')
|
||||||
|
|
||||||
|
HAPROXYSTATS=$(/usr/lib/nagios/plugins/check_http -a ${AUTH} -I 127.0.0.1 -p 8888 -u '/;csv' -v)
|
||||||
|
|
||||||
|
for BACKEND in $(echo $HAPROXYSTATS| xargs -n1 | grep BACKEND | awk -F , '{print $1}')
|
||||||
|
do
|
||||||
|
CURRQ=$(echo "$HAPROXYSTATS" | grep $BACKEND | grep BACKEND | cut -d , -f 3)
|
||||||
|
MAXQ=$(echo "$HAPROXYSTATS" | grep $BACKEND | grep BACKEND | cut -d , -f 4)
|
||||||
|
|
||||||
|
if [[ $CURRQ -gt $CURRQthrsh || $MAXQ -gt $MAXQthrsh ]] ; then
|
||||||
|
echo "CRITICAL: queue depth for $BACKEND - CURRENT:$CURRQ MAX:$MAXQ"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "OK: All haproxy queue depths looking good"
|
||||||
|
exit 0
|
||||||
|
|
15
hooks/charmhelpers/contrib/openstack/templates/ceph.conf
Normal file
15
hooks/charmhelpers/contrib/openstack/templates/ceph.conf
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
###############################################################################
|
||||||
|
# [ WARNING ]
|
||||||
|
# cinder configuration file maintained by Juju
|
||||||
|
# local changes may be overwritten.
|
||||||
|
###############################################################################
|
||||||
|
[global]
|
||||||
|
{% if auth -%}
|
||||||
|
auth_supported = {{ auth }}
|
||||||
|
keyring = /etc/ceph/$cluster.$name.keyring
|
||||||
|
mon host = {{ mon_hosts }}
|
||||||
|
{% endif -%}
|
||||||
|
log to syslog = {{ use_syslog }}
|
||||||
|
err to syslog = {{ use_syslog }}
|
||||||
|
clog to syslog = {{ use_syslog }}
|
||||||
|
|
58
hooks/charmhelpers/contrib/openstack/templates/haproxy.cfg
Normal file
58
hooks/charmhelpers/contrib/openstack/templates/haproxy.cfg
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
global
|
||||||
|
log {{ local_host }} local0
|
||||||
|
log {{ local_host }} local1 notice
|
||||||
|
maxconn 20000
|
||||||
|
user haproxy
|
||||||
|
group haproxy
|
||||||
|
spread-checks 0
|
||||||
|
|
||||||
|
defaults
|
||||||
|
log global
|
||||||
|
mode tcp
|
||||||
|
option tcplog
|
||||||
|
option dontlognull
|
||||||
|
retries 3
|
||||||
|
timeout queue 1000
|
||||||
|
timeout connect 1000
|
||||||
|
{% if haproxy_client_timeout -%}
|
||||||
|
timeout client {{ haproxy_client_timeout }}
|
||||||
|
{% else -%}
|
||||||
|
timeout client 30000
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
{% if haproxy_server_timeout -%}
|
||||||
|
timeout server {{ haproxy_server_timeout }}
|
||||||
|
{% else -%}
|
||||||
|
timeout server 30000
|
||||||
|
{% endif -%}
|
||||||
|
|
||||||
|
listen stats {{ stat_port }}
|
||||||
|
mode http
|
||||||
|
stats enable
|
||||||
|
stats hide-version
|
||||||
|
stats realm Haproxy\ Statistics
|
||||||
|
stats uri /
|
||||||
|
stats auth admin:password
|
||||||
|
|
||||||
|
{% if frontends -%}
|
||||||
|
{% for service, ports in service_ports.items() -%}
|
||||||
|
frontend tcp-in_{{ service }}
|
||||||
|
bind *:{{ ports[0] }}
|
||||||
|
{% if ipv6 -%}
|
||||||
|
bind :::{{ ports[0] }}
|
||||||
|
{% endif -%}
|
||||||
|
{% for frontend in frontends -%}
|
||||||
|
acl net_{{ frontend }} dst {{ frontends[frontend]['network'] }}
|
||||||
|
use_backend {{ service }}_{{ frontend }} if net_{{ frontend }}
|
||||||
|
{% endfor -%}
|
||||||
|
default_backend {{ service }}_{{ default_backend }}
|
||||||
|
|
||||||
|
{% for frontend in frontends -%}
|
||||||
|
backend {{ service }}_{{ frontend }}
|
||||||
|
balance leastconn
|
||||||
|
{% for unit, address in frontends[frontend]['backends'].items() -%}
|
||||||
|
server {{ unit }} {{ address }}:{{ ports[1] }} check
|
||||||
|
{% endfor %}
|
||||||
|
{% endfor -%}
|
||||||
|
{% endfor -%}
|
||||||
|
{% endif -%}
|
@ -0,0 +1,24 @@
|
|||||||
|
{% if endpoints -%}
|
||||||
|
{% for ext_port in ext_ports -%}
|
||||||
|
Listen {{ ext_port }}
|
||||||
|
{% endfor -%}
|
||||||
|
{% for address, endpoint, ext, int in endpoints -%}
|
||||||
|
<VirtualHost {{ address }}:{{ ext }}>
|
||||||
|
ServerName {{ endpoint }}
|
||||||
|
SSLEngine on
|
||||||
|
SSLCertificateFile /etc/apache2/ssl/{{ namespace }}/cert_{{ endpoint }}
|
||||||
|
SSLCertificateKeyFile /etc/apache2/ssl/{{ namespace }}/key_{{ endpoint }}
|
||||||
|
ProxyPass / http://localhost:{{ int }}/
|
||||||
|
ProxyPassReverse / http://localhost:{{ int }}/
|
||||||
|
ProxyPreserveHost on
|
||||||
|
</VirtualHost>
|
||||||
|
{% endfor -%}
|
||||||
|
<Proxy *>
|
||||||
|
Order deny,allow
|
||||||
|
Allow from all
|
||||||
|
</Proxy>
|
||||||
|
<Location />
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</Location>
|
||||||
|
{% endif -%}
|
@ -0,0 +1,24 @@
|
|||||||
|
{% if endpoints -%}
|
||||||
|
{% for ext_port in ext_ports -%}
|
||||||
|
Listen {{ ext_port }}
|
||||||
|
{% endfor -%}
|
||||||
|
{% for address, endpoint, ext, int in endpoints -%}
|
||||||
|
<VirtualHost {{ address }}:{{ ext }}>
|
||||||
|
ServerName {{ endpoint }}
|
||||||
|
SSLEngine on
|
||||||
|
SSLCertificateFile /etc/apache2/ssl/{{ namespace }}/cert_{{ endpoint }}
|
||||||
|
SSLCertificateKeyFile /etc/apache2/ssl/{{ namespace }}/key_{{ endpoint }}
|
||||||
|
ProxyPass / http://localhost:{{ int }}/
|
||||||
|
ProxyPassReverse / http://localhost:{{ int }}/
|
||||||
|
ProxyPreserveHost on
|
||||||
|
</VirtualHost>
|
||||||
|
{% endfor -%}
|
||||||
|
<Proxy *>
|
||||||
|
Order deny,allow
|
||||||
|
Allow from all
|
||||||
|
</Proxy>
|
||||||
|
<Location />
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</Location>
|
||||||
|
{% endif -%}
|
14
hooks/charmhelpers/contrib/openstack/templates/zeromq
Normal file
14
hooks/charmhelpers/contrib/openstack/templates/zeromq
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{% if zmq_host -%}
|
||||||
|
# ZeroMQ configuration (restart-nonce: {{ zmq_nonce }})
|
||||||
|
rpc_backend = zmq
|
||||||
|
rpc_zmq_host = {{ zmq_host }}
|
||||||
|
{% if zmq_redis_address -%}
|
||||||
|
rpc_zmq_matchmaker = oslo.messaging._drivers.matchmaker_redis.MatchMakerRedis
|
||||||
|
matchmaker_heartbeat_freq = 15
|
||||||
|
matchmaker_heartbeat_ttl = 30
|
||||||
|
[matchmaker_redis]
|
||||||
|
host = {{ zmq_redis_address }}
|
||||||
|
{% else -%}
|
||||||
|
rpc_zmq_matchmaker = oslo.messaging._drivers.matchmaker_ring.MatchMakerRing
|
||||||
|
{% endif -%}
|
||||||
|
{% endif -%}
|
Loading…
Reference in New Issue
Block a user