def delete(self, id): """ Delete container :param id: :return status code """ populate_containers_table() current_identity = import_user() try: c = Container.query.get(id) print(c) except: api.abort(code=404, message='Container doesn\'t exists') if id in current_identity.containers or current_identity.admin: res = lgw.lxd_api_delete('containers/' + c.name) print(res.text) if res.status_code == 400: api.abort(code=400, message='Container is running') if res.status_code == 404: api.abort(code=404, message='Container not found') if res.status_code == 202: db.session.delete(c) db.session.commit() return {}, 204 else: api.abort(code=404, message='Container not found')
def delete(self, id, name): """ Delete snapshot """ current_identity = import_user() instance = Instance.query.get(id) lxdserver = Server.query.filter_by(name=instance.location).first() if instance.name and (id in current_identity.instances or current_identity.admin): try: resx = lgw.lxd_api_get( lxdserver, 'instances/' + instance.name + '/snapshots/' + name) app.logger.info('User: %s deleting snapshot on container %s', current_identity.username, instance.name) if resx: try: res = lgw.lxd_api_delete( lxdserver, 'instances/' + instance.name + '/snapshots/' + name) return {}, 204 except: api.abort(code=500, message='Error deleting snapshot') except: api.abort(code=404, message='Snapshot doesn\'t exists') api.abort(code=404, message='Instance doesn\'t exists')
def delete(self, server, alias): """ Delete alias """ lxdserver = Server.query.filter_by(name=server).first() app.logger.info('User: %s deleting image alias %s', import_user().username, alias) res = lgw.lxd_api_delete(lxdserver, 'images/aliases/' + alias) return res.json()['metadata']
def delete(self, url, server, name): """ Delete 'universal' """ lxdserver = Server.query.filter_by(name=server).first() app.logger.info('User: %s deleting something on %s', import_user().username, url) res = lgw.lxd_api_delete(lxdserver, url + '/' + name) return res.json()['metadata']
def delete(self, id): """ Delete instance :param id: :return status code """ populate_instances_table() current_identity = import_user() try: c = Instance.query.get(id) lxdserver = Server.query.filter_by(name=c.location).first() # print(c) except: api.abort(code=404, message='Instance doesn\'t exists') if id in current_identity.instances or current_identity.admin: app.logger.info('User: %s deleting container %s', current_identity.username, c.name) res = lgw.lxd_api_delete(lxdserver, 'instances/' + c.name) # print(res.status_code) if res.status_code == 400: api.abort(code=404, message='Instance is running') if res.status_code == 404: api.abort(code=404, message='Instance not found') if res.status_code == 202: db.session.delete(c) db.session.commit() return {}, 204 # Delete redis cache redis_store.delete('server:' + lxdserver.name + ':instance:' + c.name + ':info') redis_store.delete('server:' + lxdserver.name + ':instance:' + c.name + ':state') else: api.abort(code=404, message='Instance not found')