python - 当提供 boot_volume 而不是图像时,python openstack 客户端创建服务器失败
问题描述
- Openstack 版本:洛基
- API 版本:3
我可以通过提供图像名称从 python 创建服务器。我可以通过提供不带映像名称的卷名从 CLI 创建服务器。但是从 python 中,我无法仅使用没有图像的 boot_volume 创建服务器。
以下是我的代码和错误:
代码:
def createServer(conn, volume=None):
print "Create Server:"
SERVER_NAME = "TestPython"
IMAGE_NAME = "cirros-040"
FLAVOR_NAME = "t1-basic-1-2"
NETWORK_NAME = "private"
image = conn.compute.find_image(IMAGE_NAME)
flavor = conn.compute.find_flavor(FLAVOR_NAME)
network = conn.network.find_network(NETWORK_NAME)
volume = conn.get_volume(volume)
keypair = find_keypair(conn)
server = conn.compute.create_server(
name = SERVER_NAME,
#image_id = image.id,
flavor_id = flavor.id,
key_name = keypair.name,
networks = [{"uuid": network.id}],
boot_volume = volume.id)
#volumes = [ volume ],
#boot_from_volume = True,
#volume_size = 5)
serv = conn.compute.wait_for_server(server)
return serv
错误:
File "<generated-openstack.compute.v2.server>", line 3, in create
File "/usr/lib/python2.7/site-packages/openstack/proxy.py", line 192, in _create
return res.create(self)
File "/usr/lib/python2.7/site-packages/openstack/resource.py", line 763, in create
self._translate_response(response)
File "/usr/lib/python2.7/site-packages/openstack/resource.py", line 695, in _translate_response
exceptions.raise_from_response(response, error_message=error_message)
File "/usr/lib/python2.7/site-packages/openstack/exceptions.py", line 212, in raise_from_response
http_status=http_status, request_id=request_id
openstack.exceptions.BadRequestException: BadRequestException: 400: Client Error for url: XXXX, {"badRequest": {"message": "Missing imageRef attribute", "code": 400}}
boot_volume
我可以看到 image 是一个可选参数,如果给出则不需要。
这是一个错误还是我错过了什么?
解决方案
推荐阅读
- html - 类似密码文本的屏幕阅读器可访问性
- python - 子选择没有副本的大型numpy数组
- javascript - Intl.DateTimeFormat() 为 UTC 返回不正确的日期
- javascript - 如何在 nodejs 中正确导出函数?
- spring-boot - 如何从现有的 Spring Boot App 生成 OpenApi 3.0 规范?
- haskell - 树遍历 - DFS
- javascript - 使用 create-react-app 通过 JEST 运行测试时不显示 TypeScript 错误
- visual-studio - 无法通过批处理脚本从 Visual Studio 后期构建目标执行 reg 查询
- c# - 带有任务数组 IndexOutOfRangeException 的 C# for 循环
- excel - 我需要在最后一行之后的单元格中插入一个 vlookup,这可能会因周而异