47 lines
1.3 KiB
YAML
47 lines
1.3 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: mariadb-replicas
|
|
data:
|
|
replicas.py: |
|
|
#!/usr/bin/env python
|
|
import json
|
|
import os
|
|
import ssl
|
|
import sys
|
|
import urllib2
|
|
|
|
URL = ('https://kubernetes.default.svc.{{ .Values.network.dns.kubernetes_domain }}/apis/extensions/v1beta1/daemonsets')
|
|
TOKEN_FILE = '/var/run/secrets/kubernetes.io/serviceaccount/token'
|
|
|
|
def create_ctx():
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
return ctx
|
|
|
|
def get_daemonsets():
|
|
url = URL.format()
|
|
try:
|
|
token = file(TOKEN_FILE, 'r').read()
|
|
except KeyError:
|
|
exit("Unable to open a file with token.")
|
|
header = {'Authorization': " Bearer {}".format(token)}
|
|
req = urllib2.Request(url=url, headers=header)
|
|
|
|
ctx = create_ctx()
|
|
response = urllib2.urlopen(req, context=ctx)
|
|
output = json.load(response)
|
|
|
|
return output
|
|
|
|
def main():
|
|
reply = get_daemonsets()
|
|
name = "mariadb"
|
|
namespace = "default" if not os.environ["NAMESPACE"] else os.environ["NAMESPACE"]
|
|
mariadb = filter(lambda d: d["metadata"]["namespace"] == namespace and d["metadata"]["name"] == name, reply["items"])
|
|
print mariadb[0]["status"]['desiredNumberScheduled']
|
|
|
|
if __name__ == "__main__":
|
|
main()
|