如何从 OpenStack 中的镜像 ID 找到镜像名称?

如何从 OpenStack 中的镜像 ID 找到镜像名称?

例如,ami-00000073 用作图像 ID。如何找到与其关联的图像名称?

答案1

您的问题有点不清楚。OpenStack 中的每个映像都有:

  • 一个整数 ID(用作数据库键,但通常不可见),
  • 一个 36 个字符的 UUID,例如95e52709-0990-4f52-b192-2ba2c0fa6f7f
  • 显示名称

由于您的示例既不是整数也不是 UUID,因此它必须显示名称。如果您可以提供更多信息(例如,“当我运行此命令时,我看到此输出;我如何将该输出转换为我需要的其他信息”,同时显示您键入的命令的输出),我们可以提供更好的答案。

通常,您可以使用nova image-*与图像交互的命令或glance命令。要使用以下命令查看可用图像列表nova

nova image-list

或者使用glance

glance index

nova image-show您可以使用或获取有关特定图像的详细信息glance show,它将为您提供如下内容:

$ glance show f66ea2c4-21f2-4a5e-ad8f-9af6d5f8b9d1
URI: http://10.1.1.61:9292/v1/images/f66ea2c4-21f2-4a5e-ad8f-9af6d5f8b9d1
Id: f66ea2c4-21f2-4a5e-ad8f-9af6d5f8b9d1
Public: Yes
Protected: No
Name: CentOS 6 x86_64
Status: active
Size: 1073741824
Disk format: raw
Container format: bare
Minimum Ram Required (MB): 0
Minimum Disk Required (GB): 0
Owner: a1af2e48a97549b787959618998a52f7

答案2

您所谈论的是 AMI ID,它与 Glance 图像 ID 是分开的,后者是较新版本的 OpenStack 中的标准格式 UUID。

AMI ID 用于在使用 EC2 兼容层时与 cloud-init 或其他工具兼容。可通过查询从实例内部访问它http://169.154.169.154/latest/meta-data/ami-id或从配置驱动器中提取ami-id属性。metadata.json

nova.api.ec2.ec2utils提供了一种方法image_ec2_id

def image_ec2_id(image_id, image_type='ami'):
    """Returns image ec2_id using id and three letter type."""
    template = image_type + '-%08x'
    try:
        return id_to_ec2_id(image_id, template=template)
    except ValueError:
        #TODO(wwolf): once we have ec2_id -> glance_id mapping
        # in place, this wont be necessary
        return "ami-00000000"

因此,AMI ID 只是 Glance 映像的数字 S3 映像 ID(不是 UUID)的十六进制编码版本。据我所知,此值不会通过任何命令行工具或服务器 API 公开,需要直接通过数据库查询。这些数字映射存储在nova.s3_images

mysql> SELECT s3_images.id, s3_images.uuid, images.name FROM nova.s3_images INNER JOIN glance.images ON s3_images.uuid = images.id WHERE images.id = 'd12a9b68-0194-4a88-b5dd-2de711dec05e';
+----+--------------------------------------+-------------------------+
| id | uuid                                 | name                    |
+----+--------------------------------------+-------------------------+
| 73 | d12a9b68-0194-4a88-b5dd-2de711dec05e | coreos-stable-v20150728 |
+----+--------------------------------------+-------------------------+
1 row in set (0.00 sec)

相关内容