diff options
author | Christian Pointner <equinox@spreadspace.org> | 2018-02-03 03:47:53 +0100 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2018-02-03 03:47:53 +0100 |
commit | 7c4c68b21c0e7d8fc7774d6802f48780a5424197 (patch) | |
tree | a7102fa2f91b4f40b714f16d4ad5d899bc7a7016 /src | |
parent | deploying manager to k8s works now (diff) |
use generated planet.xml for kubernetes deployment
Diffstat (limited to 'src')
-rwxr-xr-x | src/flufigut.py | 28 |
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) |