easy kubernetes stuff
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-12-05 13:24:27 +01:00
parent 5e541640c1
commit 6404fccc8f
4 changed files with 35 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env python3
from uuid import UUID,uuid4
from uuid import UUID, uuid4
import datetime
from flask_jwt_extended import create_access_token, jwt_required, get_jwt_identity
@@ -12,6 +12,7 @@ from schemas import UserSchema, UserMetadataSchema, StreamResourceSchema, Ingest
RestreamInputSchema
from config import REGISTER_DISABLED
import listdiffer
from kuberclient import Kubectl
"""
Flask Restful endpoints
@@ -186,6 +187,7 @@ class CreateIngestResource(Resource):
ingest.stream_key = str(uuid4())
try:
db.session.add(ingest)
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).create_resource()
except Exception as e:
current_app.logger.warning(e)
abort(503, "object already exists")
@@ -234,7 +236,8 @@ class CreateRestreamResource(Resource):
restream.parent_id = restreamobj['inputNeighbour']
try:
db.session.add(restream)
db.session.commit()
Kubectl(name=restream.id, resourcetype="restream",
stream_key=restream.stream_key, push_urls=restreamobj['outputURLs']).create_resource()
except Exception as e:
current_app.logger.warning(e)
abort(503, "object already exists")
@@ -289,6 +292,8 @@ class CreateEncodeResource(Resource):
try:
db.session.add(encoder)
Kubectl(name=encoder.id, resourcetype="encoder",
stream_key=encoder.stream_key).create_resource()
except Exception as e:
current_app.logger.warning(e)
abort(503, "object already exists")
@@ -341,6 +346,7 @@ class ManipulateStreamResource(Resource):
try:
db.session.delete(streamreousrce)
Kubectl(name=streamreousrce.id, resourcetype=streamreousrce.resource_type).delete_resource()
except Exception as e:
current_app.logger.exception(e)
abort(503, DB_ERROR_MSG)
@@ -393,6 +399,7 @@ class ModifyIngressResource(Resource):
current_app.logger.warning(e)
abort(503, "could not remove neighbourhood")
else:
Kubectl(name=ingest.id, resourcetype="ingest", stream_key=ingest.stream_key).update_resource()
if currentoutputneighbours:
for currentneighbour in currentoutputneighbours:
try:
@@ -453,6 +460,10 @@ class ModifyRestreamResource(Resource):
current_app.logger.warning(e)
abort(503, "object already exists")
if currentoutputurlurls != restreamobj['outputURLs']:
Kubectl(name=restream.id, resourcetype="restream", stream_key=restream.stream_key,
push_urls=restreamobj['outputURLs']).update_resource()
db.session.commit()
return self.streamresourceschema.dump(restream), 200