summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/flufigut.py28
-rw-r--r--templates/default/flumotion/planet.xml.j29
2 files changed, 12 insertions, 25 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)
diff --git a/templates/default/flumotion/planet.xml.j2 b/templates/default/flumotion/planet.xml.j2
index 2f99c0e..881a5ff 100644
--- a/templates/default/flumotion/planet.xml.j2
+++ b/templates/default/flumotion/planet.xml.j2
@@ -2,11 +2,10 @@
<planet name="{{ globals.name }}">
<manager name="{{ globals.name }}">
-%% for name, value in globals.manager.items()
-%% if name != 'machine'
- <{{ name }}>{{ value }}</{{ name }}>
-%% endif
-%% endfor
+<!-- <host>{{ globals.manager.host }}</host> -->
+ <host>0.0.0.0</host>
+ <port>{{ globals.manager.port }}</port>
+ <transport>{{ globals.manager.transport }}</transport>
<component name="manager-bouncer" type="htpasswdcrypt-bouncer">
<property name="filename">/etc/flumotion/{{ globals.name }}.passwd</property>
</component>