Пример #1
0

def _get_os_image_kind(os_image):
    # NOTE(ft): for 'get' operation Glance image doesn't have an attribute
    # if it isn't sent by Glance. But Glance doesn't send null-value
    # attributes, and the attributes above are null for volume-backed images.
    if not hasattr(os_image, 'container_format'):
        return 'ami'
    return CONTAINER_TO_KIND.get(os_image.container_format, 'ami')


def _auto_create_image_extension(context, image, os_image):
    image['is_public'] = os_image.is_public


ec2utils.register_auto_create_db_item_extension('ami',
                                                _auto_create_image_extension)
ec2utils.register_auto_create_db_item_extension('ari',
                                                _auto_create_image_extension)
ec2utils.register_auto_create_db_item_extension('aki',
                                                _auto_create_image_extension)

# NOTE(ft): following functions are copied from various parts of Nova

# translate our internal state to states valid by the EC2 API documentation
_s3_image_state_map = {
    'downloading': 'pending',
    'failed_download': 'failed',
    'decrypting': 'pending',
    'failed_decrypt': 'failed',
    'untarring': 'pending',
    'failed_untar': 'failed',
Пример #2
0

def _get_os_image_kind(os_image):
    # NOTE(ft): for 'get' operation Glance image doesn't have an attribute
    # if it isn't sent by Glance. But Glance doesn't send null-value
    # attributes, and the attributes above are null for volume-backed images.
    if not hasattr(os_image, 'container_format'):
        return 'ami'
    return CONTAINER_TO_KIND.get(os_image.container_format, 'ami')


def _auto_create_image_extension(context, image, os_image):
    image['is_public'] = os_image.is_public


ec2utils.register_auto_create_db_item_extension(
        'ami', _auto_create_image_extension)
ec2utils.register_auto_create_db_item_extension(
        'ari', _auto_create_image_extension)
ec2utils.register_auto_create_db_item_extension(
        'aki', _auto_create_image_extension)


# NOTE(ft): following functions are copied from various parts of Nova

# translate our internal state to states valid by the EC2 API documentation
_s3_image_state_map = {'downloading': 'pending',
                       'failed_download': 'failed',
                       'decrypting': 'pending',
                       'failed_decrypt': 'failed',
                       'untarring': 'pending',
                       'failed_untar': 'failed',