示例#1
0
 def __init__(self,
              manager=None,
              user_api=None,
              network_api=None,
              image_api=None,
              group_api=None,
              host_api=None):
     if not manager:
         self.manager = VMManager()
     else:
         self.manager = manager
     if not user_api:
         self.user_api = UserAPI()
     else:
         self.user_api = user_api
     if not network_api:
         self.network_api = NetworkAPI()
     else:
         self.network_api = network_api
     if not image_api:
         self.image_api = ImageAPI()
     else:
         self.image_api = image_api
     if not group_api:
         self.group_api = GroupAPI()
     else:
         self.group_api = group_api
     if not host_api:
         self.host_api = HostAPI()
     else:
         self.host_api = host_api
示例#2
0
def get_list(args):
    '''获取镜像列表'''
    ret_list = []
    storage_api = StorageAPI()
    image_api = ImageAPI()
    cephpool = storage_api.get_pool_by_id(args['ceph_id'])

    if not cephpool.managed_by(args['req_user']):
        return {'res': False, 'err': ERR_AUTH_PERM}
    # if 'enable' in args:
    #     enable = args['enable']
    # else:
    #     enable = None
    # 非得改接口……
    enable = True
    image_list = image_api.get_image_list_by_pool_id(args['ceph_id'], enable)
    for image in image_list:
        ret_list.append({
            'id': image.id,
            'ceph_id': image.cephpool_id,
            'name': image.name,
            'version': image.version,
            'type': image.type_name,
            'order': image.order
        })
    return {'res': True, 'list': ret_list}
示例#3
0
def get(args):
    '''获取镜像信息'''
    info = {}
    image_api = ImageAPI()
    image = image_api.get_image_by_id(args['image_id'])

    if not image.managed_by(args['req_user']):
        return {'res': False, 'err': ERR_AUTH_PERM}

    info = {
        'id': image.id,
        'ceph_id': image.cephpool_id,
        'name': image.name,
        'version': image.version,
        'snap': image.snap,
        'type': image.type_name,
        'desc': image.desc
    }
    return {'res': True, 'info': info}
示例#4
0
def get_type_list(args=None):
    image_api = ImageAPI()
    ret_list = image_api.get_image_type_list()
    return {'res': True, 'list': ret_list}