Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 def get(self, name):
   if lxc.exists(name):
     state = lxc.info(name)['state:']
     return state
   else:
     abort(404)
Ejemplo n.º 6
0
 def get(self, name):
   if lxc.exists(name):
     container = lxc.info(name)
     return container
   else:
     abort(404)