summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2018-02-10 21:53:23 +0100
committerChristian Pointner <equinox@spreadspace.org>2018-02-10 21:53:23 +0100
commit433d8fbcc6628a1e331388ae0676d0735e46142c (patch)
treef4547433cfc51d13b9528d1d942e1463ec588c61
parentrecording works now (diff)
generate flumotion worker services
-rw-r--r--src/examples/elevate2018.yml1
-rwxr-xr-xsrc/flufigut.py8
-rw-r--r--templates/default/kubernetes/flumotion-worker-deploy.yml.j23
-rw-r--r--templates/default/kubernetes/flumotion-worker-secret.yml.j21
-rw-r--r--templates/default/kubernetes/flumotion-worker-svc.yml.j219
5 files changed, 30 insertions, 2 deletions
diff --git a/src/examples/elevate2018.yml b/src/examples/elevate2018.yml
index daa4abe..4c40a5d 100644
--- a/src/examples/elevate2018.yml
+++ b/src/examples/elevate2018.yml
@@ -92,7 +92,6 @@ streams:
type: http
count: 4
port: 8000
- interface: localhost
max-bw: 290000000
burst-on-connect: 5
hostname: "elevate-live%i.spreadspace.org"
diff --git a/src/flufigut.py b/src/flufigut.py
index d0de644..a20f014 100755
--- a/src/flufigut.py
+++ b/src/flufigut.py
@@ -415,11 +415,12 @@ class Planet:
comp_name = '%s-%s%i-port-%s-%i' % (protocol, stream, idx + 1, interface, port)
addr = '%s:%i' % (interface, port)
+ worker = self.__get_worker(comp_name)
porter = Porter(comp_name, interface, port)
self.atmosphere[porter.name] = {
'type': "porter",
'desc': "%s porter %s%i on %s" % (protocol, stream, idx + 1, addr),
- 'worker': str(self.__get_worker(comp_name)),
+ 'worker': str(worker),
'properties': {
'port': port,
'socket-path': porter.socket_path,
@@ -430,6 +431,7 @@ class Planet:
if interface:
self.atmosphere[porter.name]['properties']['interface'] = interface
+ self.__add_worker_flag(worker, "port", port)
return porter
def __generate_stream_mux_repeater(self, stream, mux, format, profile, feeder):
@@ -651,6 +653,10 @@ class K8sDeployment:
secret['data']['password'] = base64.b64encode(worker['password'].encode('utf-8')).decode('ascii')
v1.create_namespaced_secret(self._namespace, secret)
+ if 'port' in worker['flags']:
+ svc = self.__generate_object(tmpl_env, 'flumotion-worker-svc.yml', worker)
+ v1.create_namespaced_service(self._namespace, svc)
+
deploy = self.__generate_object(tmpl_env, 'flumotion-worker-deploy.yml', worker)
appsV1.create_namespaced_deployment(self._namespace, deploy)
diff --git a/templates/default/kubernetes/flumotion-worker-deploy.yml.j2 b/templates/default/kubernetes/flumotion-worker-deploy.yml.j2
index 49cb6d4..f6dfcfd 100644
--- a/templates/default/kubernetes/flumotion-worker-deploy.yml.j2
+++ b/templates/default/kubernetes/flumotion-worker-deploy.yml.j2
@@ -6,12 +6,14 @@ metadata:
labels:
app: flumotion
type: worker
+ worker: {{ worker.name }}
spec:
replicas: 1
selector:
matchLabels:
app: flumotion
type: worker
+ worker: {{ worker.name }}
strategy:
type: Recreate
revisionHistoryLimit: 5
@@ -20,6 +22,7 @@ spec:
labels:
app: flumotion
type: worker
+ worker: {{ worker.name }}
spec:
nodeName: {{ worker.name }}
securityContext:
diff --git a/templates/default/kubernetes/flumotion-worker-secret.yml.j2 b/templates/default/kubernetes/flumotion-worker-secret.yml.j2
index ec07df7..913b2fb 100644
--- a/templates/default/kubernetes/flumotion-worker-secret.yml.j2
+++ b/templates/default/kubernetes/flumotion-worker-secret.yml.j2
@@ -6,6 +6,7 @@ metadata:
labels:
app: flumotion
type: worker
+ worker: {{ worker.name }}
type: Opaque
data:
password: dGVzdAo=
diff --git a/templates/default/kubernetes/flumotion-worker-svc.yml.j2 b/templates/default/kubernetes/flumotion-worker-svc.yml.j2
new file mode 100644
index 0000000..1179618
--- /dev/null
+++ b/templates/default/kubernetes/flumotion-worker-svc.yml.j2
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Service
+metadata:
+ namespace: {{ namespace }}
+ name: flumotion-worker-{{ worker.name }}
+ labels:
+ app: flumotion
+ type: worker
+ worker: {{ worker.name }}
+spec:
+ selector:
+ app: flumotion
+ type: worker
+ worker: {{ worker.name }}
+ clusterIP: None
+ ports:
+%% for port in worker.flags.port
+ - port: {{ port }}
+%% endfor