def submit_lifecycle_ignition(request_raw_query):
"""
Lifecycle Ignition
---
tags:
- lifecycle
responses:
200:
description: A JSON of the ignition status
"""
try:
machine_ignition = json.loads(request.get_data())
except ValueError:
app.logger.error("%s have incorrect content" % request.path)
return jsonify({"message": "FlaskValueError"}), 406
req = requests.get("%s/ignition?%s" % (EC.matchbox_uri, request_raw_query))
try:
matchbox_ignition = json.loads(req.content)
req.close()
except ValueError:
app.logger.error("%s have incorrect matchbox return" % request.path)
return jsonify({"message": "MatchboxValueError"}), 406
@smartdb.cockroach_transaction
def op(caller=request.url_rule):
with SMART.new_session() as session:
try:
inject = crud.InjectLifecycle(session, request_raw_query=request_raw_query)
if json.dumps(machine_ignition, sort_keys=True) == json.dumps(matchbox_ignition, sort_keys=True):
inject.refresh_lifecycle_ignition(True)
return jsonify({"message": "Up-to-date"}), 200
else:
inject.refresh_lifecycle_ignition(False)
return jsonify({"message": "Outdated"}), 210
except AttributeError:
return jsonify({"message": "Unknown"}), 406
return op(caller=request.url_rule)
评论列表
文章目录