summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/examples/elevate2018.yml2
-rwxr-xr-xsrc/flufigut.py26
2 files changed, 21 insertions, 7 deletions
diff --git a/src/examples/elevate2018.yml b/src/examples/elevate2018.yml
index 3cec69f..5e605f0 100644
--- a/src/examples/elevate2018.yml
+++ b/src/examples/elevate2018.yml
@@ -5,7 +5,7 @@ globals:
description: "Live from Elevate Festival 2018"
manager:
machine: dione
- host: 109.73.158.69
+ host: 172.18.200.1
port: 8642
transport: tcp
admin:
diff --git a/src/flufigut.py b/src/flufigut.py
index 31f4ff2..9c95c97 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -518,7 +518,7 @@ class Planet:
def toXML(self, template_dir, output_file):
loader = jinja2.FileSystemLoader(os.path.join(template_dir, self._desc.globals['templates'], 'flumotion'))
env = jinja2.Environment(loader=loader, line_statement_prefix='%%')
- template = env.get_template('planet.xml')
+ template = env.get_template('planet.xml.j2')
planet_xml = template.render(globals=self._desc.globals, atmosphere=self.atmosphere, flow=self.flow)
with open(output_file, 'wb') as f:
@@ -551,15 +551,30 @@ class K8sDeployment:
def __delete_namespace(self, v1):
try:
opts = kubernetes.client.V1DeleteOptions()
- v1.delete_namespace(self._namespace, opts)
+ v1.delete_namespace(self._namespace, opts, grace_period_seconds=0)
except kubernetes.client.rest.ApiException as e:
if e.status == 404:
pass
- def deploy(self):
+ def __gen_object(self, tmpl_env, template_file):
+ tmpl = tmpl_env.get_template(template_file + '.j2')
+ object_yaml = tmpl.render(namespace=self._namespace, desc=self._desc, planet=self._planet)
+ return yaml.load(object_yaml)
+
+ def deploy(self, template_dir):
v1 = kubernetes.client.CoreV1Api()
+ appsV1 = kubernetes.client.AppsV1Api()
self.__create_namespace(v1)
- pass
+
+ loader = jinja2.FileSystemLoader(os.path.join(template_dir, self._desc.globals['templates'], 'kubernetes'))
+ tmpl_env = jinja2.Environment(loader=loader, line_statement_prefix='%%')
+
+ v1.create_namespaced_service(self._namespace, self.__gen_object(tmpl_env, 'flumotion-manager-svc.yml'))
+ # TODO: add planet.xml from self._planet
+ v1.create_namespaced_config_map(self._namespace, self.__gen_object(tmpl_env, 'flumotion-manager-cm.yml'))
+ appsV1.create_namespaced_deployment(self._namespace, self.__gen_object(tmpl_env, 'flumotion-manager-deploy.yml'))
+
+ # TODO: add workers
def wipe(self):
v1 = kubernetes.client.CoreV1Api()
@@ -628,9 +643,8 @@ if __name__ == '__main__':
# print("****************************************************")
k8s = K8sDeployment(d, p)
- k8s.deploy()
- time.sleep(5)
k8s.wipe()
+ k8s.deploy('../templates')
except Exception as e:
print("ERROR: while running app: %s" % e)