summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2018-02-03 03:47:53 +0100
committerChristian Pointner <equinox@spreadspace.org>2018-02-03 03:47:53 +0100
commit7c4c68b21c0e7d8fc7774d6802f48780a5424197 (patch)
treea7102fa2f91b4f40b714f16d4ad5d899bc7a7016 /src
parentdeploying manager to k8s works now (diff)
use generated planet.xml for kubernetes deployment
Diffstat (limited to 'src')
-rwxr-xr-xsrc/flufigut.py28
1 files changed, 8 insertions, 20 deletions
diff --git a/src/flufigut.py b/src/flufigut.py
index 9c95c97..a3a8fd4 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -515,15 +515,12 @@ class Planet:
self._generate_records()
return self._unassigned_components
- def toXML(self, template_dir, output_file):
+ def toXML(self, template_dir):
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.j2')
planet_xml = template.render(globals=self._desc.globals, atmosphere=self.atmosphere, flow=self.flow)
-
- with open(output_file, 'wb') as f:
- f.write(planet_xml.encode("utf8"))
- f.write(b'\n')
+ return planet_xml + "\n"
# kubernetes handling #############################
@@ -570,8 +567,9 @@ class K8sDeployment:
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'))
+ cm = self.__gen_object(tmpl_env, 'flumotion-manager-cm.yml')
+ cm['data']['planet.xml'] = self._planet.toXML(template_dir)
+ v1.create_namespaced_config_map(self._namespace, cm)
appsV1.create_namespaced_deployment(self._namespace, self.__gen_object(tmpl_env, 'flumotion-manager-deploy.yml'))
# TODO: add workers
@@ -590,19 +588,6 @@ class K8sDeployment:
break
time.sleep(1)
- def print_pods(self):
- v1 = kubernetes.client.CoreV1Api()
- ret = v1.list_namespaced_pod(namespace=self._namespace)
- for i in ret.items:
- print("%s\t%s\t%s" % (i.status.pod_ip, i.metadata.namespace, i.metadata.name))
-
- def watch_namespaces(self):
- v1 = kubernetes.client.CoreV1Api()
-
- w = kubernetes.watch.Watch()
- for event in w.stream(v1.list_namespace, _request_timeout=60):
- print("Event: %s %s" % (event['type'], event['object'].metadata.name))
-
# Main ########################################################
#
@@ -643,8 +628,11 @@ if __name__ == '__main__':
# print("****************************************************")
k8s = K8sDeployment(d, p)
+ print("wiping exisiting namespace ...")
k8s.wipe()
+ print("deploying new planet ...")
k8s.deploy('../templates')
+ print("done.")
except Exception as e:
print("ERROR: while running app: %s" % e)