2015-12-01 02:43:10 +03:00
|
|
|
# coding: utf-8
|
|
|
|
|
|
|
|
import json
|
2015-12-14 01:49:38 +03:00
|
|
|
# import uuid
|
|
|
|
# from flask import Response
|
2015-12-01 02:43:10 +03:00
|
|
|
from flask import request
|
|
|
|
from flask import Blueprint
|
|
|
|
from flask import jsonify
|
2015-12-14 01:49:38 +03:00
|
|
|
# from app import models
|
2015-12-01 02:43:10 +03:00
|
|
|
from app.cloud.controllers.tasks.server import ControllerTasksServer
|
|
|
|
# from .controllers import ControllerRulesStatistics
|
|
|
|
|
|
|
|
viewServerAPI = Blueprint('server_api', __name__, url_prefix='/server_api')
|
|
|
|
|
|
|
|
|
|
|
|
@viewServerAPI.route('/tasks', methods=['GET'])
|
|
|
|
def tasks_list():
|
|
|
|
node_id = request.args.get('node_id')
|
|
|
|
node_secret = request.args.get('node_secret')
|
|
|
|
server_api = ControllerTasksServer(node_id, node_secret)
|
|
|
|
|
|
|
|
# auth request
|
|
|
|
if not server_api.auth():
|
|
|
|
# status: 403 - access denied
|
|
|
|
return jsonify({'status': 403})
|
|
|
|
|
|
|
|
result = dict()
|
|
|
|
result['status'] = 0
|
|
|
|
result['results'] = []
|
|
|
|
|
|
|
|
for task in server_api.get():
|
|
|
|
result['results'].append({
|
|
|
|
'id': task.id,
|
|
|
|
'datacenter': task.datacenter.id,
|
|
|
|
'server': task.server.id,
|
|
|
|
'user': task.user.id,
|
|
|
|
'task': task.task,
|
|
|
|
'created': task.created,
|
|
|
|
'status': task.status,
|
|
|
|
'plain': json.loads(task.plain),
|
|
|
|
})
|
|
|
|
return jsonify(result)
|
|
|
|
|
|
|
|
|
|
|
|
@viewServerAPI.route('/task_status_update', methods=['GET'])
|
|
|
|
def task_status_update():
|
|
|
|
node_id = request.args.get('node_id')
|
|
|
|
node_secret = request.args.get('node_secret')
|
|
|
|
server_api = ControllerTasksServer(node_id, node_secret)
|
|
|
|
|
|
|
|
# auth request
|
|
|
|
if not server_api.auth():
|
|
|
|
# status: 403 - access denied
|
|
|
|
return jsonify({'status': 403})
|
|
|
|
|
|
|
|
task_id = request.args.get('task_id')
|
|
|
|
status = int(request.args.get('status'))
|
|
|
|
|
|
|
|
server_api.update(task_id, status)
|
|
|
|
|
|
|
|
return jsonify({'status': 0})
|
2015-12-14 01:49:38 +03:00
|
|
|
|
|
|
|
|
|
|
|
@viewServerAPI.route('/report/container_status', methods=['POST'])
|
|
|
|
def report_container_status():
|
|
|
|
node_id = request.args.get('node_id')
|
|
|
|
node_secret = request.args.get('node_secret')
|
|
|
|
server_api = ControllerTasksServer(node_id, node_secret)
|
|
|
|
# auth request
|
|
|
|
if not server_api.auth():
|
|
|
|
# status: 403 - access denied
|
|
|
|
return jsonify({'status': 403})
|
|
|
|
|
|
|
|
"""
|
|
|
|
{
|
|
|
|
"cpu_use": 644394623336,
|
|
|
|
"memory_use": 614473728,
|
|
|
|
"link": "vethB2RLMU"
|
|
|
|
"tx_bytes": 48337383,
|
|
|
|
"rx_bytes": 1049439046,
|
|
|
|
"total_bytes": 1097776429
|
|
|
|
}
|
|
|
|
"""
|
|
|
|
status = json.loads(request.form['status'])
|
|
|
|
|
|
|
|
return jsonify({})
|