From 31f43bbda5f4f43a5af75d784e5b421c4a08e32a Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 17 Feb 2018 23:51:23 +0100 Subject: initial test with sfive-proxy --- src/flufigut.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src/flufigut.py') diff --git a/src/flufigut.py b/src/flufigut.py index 6d7eaf3..bf043e2 100755 --- a/src/flufigut.py +++ b/src/flufigut.py @@ -32,6 +32,7 @@ import random import os import sys import yaml +import json import jinja2 import crypt import kubernetes @@ -686,7 +687,7 @@ class K8sDeployment: if 'stream' in worker['flags']: stream_name = worker['flags']['stream'] if 'nginx-muxes' in self._desc.streams[stream_name] and len(self._desc.streams[stream_name]['nginx-muxes']) > 0: - needs_nginx = True + needs_nginx = True if not needs_nginx: return @@ -700,6 +701,22 @@ class K8sDeployment: deploy = self.__generate_object(tmpl_env, 'nginx-streamer-deploy.yml', worker) appsV1.create_namespaced_deployment(self._namespace, deploy) + def _deploy_sfive_worker(self, template_dir, tmpl_env, v1, appsV1, worker): + needs_sfive = False + if 'sfive-proxy' in self._desc.globals['stats'] and 'stream' in worker['flags']: + needs_sfive = True + + if not needs_sfive: + return + + proxy_conf = {'listen': ':8080', 'protocol': 'http', 'connect': 'http://flumotion-worker-' + worker['name'] + ':8000'} + cm = self.__generate_object(tmpl_env, 'sfive-proxy-cm.yml', worker) + cm['data']['proxy.json'] = json.dumps(proxy_conf) + v1.create_namespaced_config_map(self._namespace, cm) + + deploy = self.__generate_object(tmpl_env, 'sfive-proxy-deploy.yml', worker) + appsV1.create_namespaced_deployment(self._namespace, deploy) + def deploy(self, template_dir): v1 = kubernetes.client.CoreV1Api() appsV1 = kubernetes.client.AppsV1Api() @@ -717,6 +734,7 @@ class K8sDeployment: } self._deploy_flumotion_worker(template_dir, tmpl_env, v1, appsV1, worker) self._deploy_nginx_worker(template_dir, tmpl_env, v1, appsV1, worker) + self._deploy_sfive_worker(template_dir, tmpl_env, v1, appsV1, worker) def wipe(self): v1 = kubernetes.client.CoreV1Api() -- cgit v1.2.3