Merge pull request #291 from FirmlyReality/image_lock
Add users' locks to when operating on images.
This commit is contained in:
commit
dc97b71550
|
@ -333,17 +333,21 @@ def save_cluster(user, beans, form):
|
||||||
description = form.get("description", None)
|
description = form.get("description", None)
|
||||||
containername = form.get("containername", None)
|
containername = form.get("containername", None)
|
||||||
isforce = form.get("isforce", None)
|
isforce = form.get("isforce", None)
|
||||||
|
G_ulockmgr.acquire(user)
|
||||||
if not isforce == "true":
|
if not isforce == "true":
|
||||||
[status,message] = G_vclustermgr.image_check(user,imagename)
|
[status,message] = G_vclustermgr.image_check(user,imagename)
|
||||||
if not status:
|
if not status:
|
||||||
|
G_ulockmgr.release(user)
|
||||||
return json.dumps({'success':'false','reason':'exists', 'message':message})
|
return json.dumps({'success':'false','reason':'exists', 'message':message})
|
||||||
|
|
||||||
user_info = post_to_user("/user/selfQuery/", {'token':form.get("token")})
|
user_info = post_to_user("/user/selfQuery/", {'token':form.get("token")})
|
||||||
[status,message] = G_vclustermgr.create_image(user,clustername,containername,imagename,description,user_info["data"]["groupinfo"]["image"])
|
[status,message] = G_vclustermgr.create_image(user,clustername,containername,imagename,description,user_info["data"]["groupinfo"]["image"])
|
||||||
if status:
|
if status:
|
||||||
|
G_ulockmgr.release(user)
|
||||||
logger.info("image has been saved")
|
logger.info("image has been saved")
|
||||||
return json.dumps({'success':'true', 'action':'save'})
|
return json.dumps({'success':'true', 'action':'save'})
|
||||||
else:
|
else:
|
||||||
|
G_ulockmgr.release(user)
|
||||||
logger.debug(message)
|
logger.debug(message)
|
||||||
return json.dumps({'success':'false', 'reason':'exceed', 'message':message})
|
return json.dumps({'success':'false', 'reason':'exceed', 'message':message})
|
||||||
|
|
||||||
|
@ -379,7 +383,9 @@ def description_image(user, beans, form):
|
||||||
def share_image(user, beans, form):
|
def share_image(user, beans, form):
|
||||||
global G_imagemgr
|
global G_imagemgr
|
||||||
image = form.get('image')
|
image = form.get('image')
|
||||||
|
G_ulockmgr.acquire(user)
|
||||||
G_imagemgr.shareImage(user,image)
|
G_imagemgr.shareImage(user,image)
|
||||||
|
G_ulockmgr.release(user)
|
||||||
return json.dumps({'success':'true', 'action':'share'})
|
return json.dumps({'success':'true', 'action':'share'})
|
||||||
|
|
||||||
@app.route("/image/unshare/", methods=['POST'])
|
@app.route("/image/unshare/", methods=['POST'])
|
||||||
|
@ -387,7 +393,9 @@ def share_image(user, beans, form):
|
||||||
def unshare_image(user, beans, form):
|
def unshare_image(user, beans, form):
|
||||||
global G_imagemgr
|
global G_imagemgr
|
||||||
image = form.get('image', None)
|
image = form.get('image', None)
|
||||||
|
G_ulockmgr.acquire(user)
|
||||||
G_imagemgr.unshareImage(user,image)
|
G_imagemgr.unshareImage(user,image)
|
||||||
|
G_ulockmgr.release(user)
|
||||||
return json.dumps({'success':'true', 'action':'unshare'})
|
return json.dumps({'success':'true', 'action':'unshare'})
|
||||||
|
|
||||||
@app.route("/image/delete/", methods=['POST'])
|
@app.route("/image/delete/", methods=['POST'])
|
||||||
|
@ -395,7 +403,9 @@ def unshare_image(user, beans, form):
|
||||||
def delete_image(user, beans, form):
|
def delete_image(user, beans, form):
|
||||||
global G_imagemgr
|
global G_imagemgr
|
||||||
image = form.get('image', None)
|
image = form.get('image', None)
|
||||||
|
G_ulockmgr.acquire(user)
|
||||||
G_imagemgr.removeImage(user,image)
|
G_imagemgr.removeImage(user,image)
|
||||||
|
G_ulockmgr.release(user)
|
||||||
return json.dumps({'success':'true', 'action':'delete'})
|
return json.dumps({'success':'true', 'action':'delete'})
|
||||||
|
|
||||||
@app.route("/addproxy/", methods=['POST'])
|
@app.route("/addproxy/", methods=['POST'])
|
||||||
|
|
Loading…
Reference in New Issue