def state_check(name, st, exist=True): if exist and name not in lxc.ls(): httperr('%s not exist' % name) info = lxc.info(name) if st and info['state'] != st: httperr('%s not %s' % (name, st.lower())) return info
def GET(self): infos = {} for name in lxc.ls(): info = lxc.info(name) if info['state'] == 'RUNNING': info.update(lxc.cgroupinfo(name)) infos[name] = info return infos
def put(self, name): if lxc.exists(name): parser = reqparse.RequestParser() parser.add_argument('state', type=str, required=True) newState = parser.parse_args()['state'] oldState = lxc.info(name)['state:'] if newState == oldState: return Response(status=204) else: if newState == 'RUNNING': if oldState == 'STOPPED': lxc.start(name) elif oldState == 'FROZEN': lxc.start(name) elif newState == 'STOPPED': lxc.stop(name) elif newState == 'FROZEN': lxc.freeze(name) return lxc.info(name) else: abort(404)
def GET(self, name): if not lxc.name_validation(name): return 'invalid name' info = lxc.info(name) if info['state'] == 'RUNNING': info.update(lxc.cgroupinfo(name)) info['ipaddr'] = list(lxc.ipaddr(name)) info['diskusage'] = lxc.df(name) / 1024 try: info['comment'] = lxc.read_comment(name) except IOError: pass return info
def get(self, name): if lxc.exists(name): state = lxc.info(name)['state:'] return state else: abort(404)
def get(self, name): if lxc.exists(name): container = lxc.info(name) return container else: abort(404)