Merge pull request #5009 from wanderboessenkool/rabbit-healthcheck-cpu-usage

Change 'rabbitmqctl status' to a wget | grep to save CPU

Reviewed-by: https://github.com/apps/softwarefactory-project-zuul
This commit is contained in:
softwarefactory-project-zuul[bot]
2019-10-18 16:48:39 +00:00
committed by GitHub

View File

@@ -39,7 +39,7 @@ data:
[rabbitmq_management,rabbitmq_peer_discovery_k8s]. [rabbitmq_management,rabbitmq_peer_discovery_k8s].
rabbitmq_definitions.json: | rabbitmq_definitions.json: |
{ {
"users":[{"name": "{{ rabbitmq_user }}", "password": "{{ rabbitmq_password }}", "tags": ""}], "users":[{"name": "{{ rabbitmq_user }}", "password": "{{ rabbitmq_password }}", "tags": "administrator"}],
"permissions":[ "permissions":[
{"user":"{{ rabbitmq_user }}","vhost":"awx","configure":".*","write":".*","read":".*"} {"user":"{{ rabbitmq_user }}","vhost":"awx","configure":".*","write":".*","read":".*"}
], ],
@@ -269,12 +269,14 @@ spec:
containerPort: 5672 containerPort: 5672
livenessProbe: livenessProbe:
exec: exec:
command: ["rabbitmqctl", "status"] command:
- /usr/local/bin/healthchecks/rabbit_health_node.py
initialDelaySeconds: 30 initialDelaySeconds: 30
timeoutSeconds: 10 timeoutSeconds: 10
readinessProbe: readinessProbe:
exec: exec:
command: ["rabbitmqctl", "status"] command:
- /usr/local/bin/healthchecks/rabbit_health_node.py
initialDelaySeconds: 10 initialDelaySeconds: 10
timeoutSeconds: 10 timeoutSeconds: 10
env: env:
@@ -293,9 +295,18 @@ spec:
key: rabbitmq_erlang_cookie key: rabbitmq_erlang_cookie
- name: K8S_SERVICE_NAME - name: K8S_SERVICE_NAME
value: "rabbitmq" value: "rabbitmq"
- name: RABBITMQ_USER
value: {{ rabbitmq_user }}
- name: RABBITMQ_PASSWORD
valueFrom:
secretKeyRef:
name: "{{ kubernetes_deployment_name }}-secrets"
key: rabbitmq_password
volumeMounts: volumeMounts:
- name: rabbitmq-config - name: rabbitmq-config
mountPath: /etc/rabbitmq mountPath: /etc/rabbitmq
- name: rabbitmq-healthchecks
mountPath: /usr/local/bin/healthchecks
resources: resources:
requests: requests:
memory: "{{ rabbitmq_mem_request }}Gi" memory: "{{ rabbitmq_mem_request }}Gi"
@@ -387,6 +398,41 @@ spec:
path: enabled_plugins path: enabled_plugins
- key: rabbitmq_definitions.json - key: rabbitmq_definitions.json
path: rabbitmq_definitions.json path: rabbitmq_definitions.json
- name: rabbitmq-healthchecks
configMap:
name: {{ kubernetes_deployment_name }}-healthchecks
items:
- key: rabbit_health_node.py
path: rabbit_health_node.py
defaultMode: 0755
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ kubernetes_deployment_name }}-healthchecks
namespace: {{ kubernetes_namespace }}
data:
rabbit_health_node.py: |
#!/usr/bin/env python
try:
from http.client import HTTPConnection
except ImportError:
from httplib import HTTPConnection
import sys
import os
import base64
authsecret = base64.b64encode(os.getenv('RABBITMQ_USER') + ':' + os.getenv('RABBITMQ_PASSWORD'))
conn=HTTPConnection('localhost:15672')
conn.request('GET', '/api/healthchecks/node', headers={'Authorization': 'Basic %s' % authsecret})
r1 = conn.getresponse()
if r1.status != 200:
sys.stderr.write('Received http error %i\n' % (r1.status))
sys.exit(1)
body = r1.read()
if body != '{"status":"ok"}':
sys.stderr.write('Received body: %s' % body)
sys.exit(2)
sys.exit(0)
--- ---
apiVersion: v1 apiVersion: v1
kind: Service kind: Service