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',
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',