def restart_app(request): app_name = request.match_info.get('app_name') is_ok = App_Utils.restart_app(app_name) if(is_ok): return web.Response(status=200,body='OK'.encode('utf-8')) return web.Response(status=200,body='Error!'.encode('utf-8')) return
def deploy_app(request): ''' [POST] Method to deploy app Posted Data Format: {'app_name': 'xxx', 'git_source_code': '', 'programming_base': 'php', 'database': 'mysql', 'tools':[{'name': 'phpMyAdmin', 'version': '1.x'}, {'name': 'yy', 'version': 'zz'}]} :param request: :return: ''' data = yield from request.text() json_data = json.loads(data) result = App_Utils.run_app(json_data) res = '{"message": "error"}' if(result[0]): currentTime = strftime("%Y-%m-%d %H:%M:%S", gmtime()) app = model.Model.App(app_name=json_data['app_name'], docker_file=result[1], git_source_code=json_data['git_source_code'], image_base=json_data['programming_base'], min_instances=0, max_instances=10,state='running',started_time=currentTime) if model.Model.insert(app): res = '{"id": "'+str(app.id)+'", "name": "'+str(app.app_name)+'"}' else: res = '{"error":"duplicate application name: '+json_data['app_name']+'"}' return web.Response(status=200,body=res.encode('utf-8')) return web.Response(status=200,body=res.encode('utf-8'))
def stop_app(request): ''' [DELETE] :param request: :return: ''' app_name = request.match_info.get('app_name') is_ok = App_Utils.stop_app(app_name) if(is_ok): return web.Response(status=200,body='OK'.encode('utf-8')) return web.Response(status=200,body='Error!'.encode('utf-8'))