问题标签 [openstack-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
174 浏览

python - Openstack Python SDK - Glance 不返回图像 MD5

我正在尝试仅使用 Openstack Python SDK 从 Glance 下载 OpenStack 图像,但我只收到此错误:

奇怪的是,如果我使用 IDE(带有远程调试的 PyCharm)或作为脚本(python script.py -i ...)运行代码,我会收到错误消息,但是如果我使用 python 解释器运行每一行( ipython/python) 错误不会发生!不知道为什么。

这是我正在使用的代码:

此代码最终/usr/local/lib/python2.7/dist-packages/openstack/image/v2/image.py使用此方法调用此文件中的 API:

resp.headers 变量没有键“Content-MD5”。这是我为它找到的价值:

但根据 REST API 文档,响应应返回密钥 Content-MD5: http: //developer.openstack.org/api-ref/image/v2/ ?expanded=download-binary-image-data-detail

如果我只是评论 MD5 检查下载是否正常,但这是在 SDK 中,所以我不能/不应该更改它。有人对如何使用 OpenStack Python SDK 实现这一点有任何建议吗?这是 SDK 错误吗?

0 投票
1 回答
556 浏览

openstack - OpenStack SDK - 如何使用内核 id 和 Ramdisk 参数创建映像?

我一直在尝试使用 OpenStack Unified SDK ( https://github.com/openstack/python-openstacksdk ) 创建一个通知内核 ID 和 Ramdisk ID 的 OpenStack 映像,但没有成功。我知道这是可能的,因为 OpenStack CLI 具有此参数,如本页 ( http://docs.openstack.org/cli-reference/glance.html#glance-image-create ) 所示,其中 CLI 具有“--kernel-id”和“--ramdisk-id”参数。我已经在终端中使用了这个参数并确认它们可以工作,但是我需要在 python 中使用它们。

我正在尝试使用 upload_method,如此处所述http://developer.openstack.org/sdks/python/openstacksdk/users/proxies/image.html#image-api-v2但我无法获取 attrs 参数正确的。文档只说它应该是一本字典。这是我正在使用的代码

这是我得到的错误:

已经尝试使用 update_image 方法,但没有成功,将内核 id 和 ramdisk id 作为字符串传递会创建实例,但它不会启动。有谁知道如何解决这个问题?

0 投票
2 回答
653 浏览

openstack - Openstack 允许从 vm 访问 api

我们目前正在使用 Openstack newtown。我们可以从任何计算机使用公共端点上的客户端访问 API,但 vm 无权访问它,他们可以 ping IP 和 dns 名称但无法使用 openstack-client curl 或访问。我们如何允许从 VM 到 API 的连接?

0 投票
1 回答
475 浏览

java - 如何从 v2 和 v3 的 Openstack4j java api 中的令牌中获取正确的 OSClient?

我正在使用 openstack4j java api。我可以访问 2 个 openstack 项目(我可以访问的项目的图像),给定实例 ID,我想关闭该实例。在获取 OSClient 时,我会遍历两个项目的客户端并检查该实例属于哪个项目。

然后使用 OSClient 句柄,我只需调用 Shut down。os.compute().servers().action(instanceId, Action.STOP);现在一个线程继续运行以跟踪当前实例状态,如果当前实例状态达到所需状态,那么我执行一些操作。

我的问题:我正在(ModelEntity) token从 OSClient 句柄创建。

然后我试图在要执行线程的其他类中获得相同的 OSClient 句柄。如果我只是传递相同的 OSClient 句柄,那么我会收到一些无效的会话错误消息。所以,从这个令牌我试图在其他类中获取 OSClient 句柄。在其他课程中,我执行以下操作来获取 OSClient :

我正在获取 OSClient 句柄,但它指向不同的项目(列表中的第一个项目)。我正在从正确的 OSClient 句柄生成令牌,但为什么我没有从同一个令牌中获得正确的 OSClient。关于如何获得正确的 OSClient 句柄的任何建议?

0 投票
1 回答
664 浏览

openstack - Openstack API - Creating instances does not accept user-data =

I am automating instance creation using OpenstackSDK and passing bash script with commands as userdata. But the script does not excute even though the instance is crated. When I do this manually via GUI, the bash scripts executes fine to the newly created instance.

#xA;

Note: Also tried to encode as Base64 file butstill failed with is not JSON serializable.

Code snippet:

#xA;

Can anyone advice on this, please?

Thanks

0 投票
1 回答
129 浏览

cloud - OpenStack:使用“CLI 到 OpenStack API”和组件的单独 API 有什么区别?

有什么区别:

  1. 通过命令“openstack”使用“OpenStack API 的命令行界面”

  1. 使用不同组件的单独 API(例如,直接使用 Neutron API 的命令行界面)?

的优点和缺点?

0 投票
1 回答
185 浏览

java - 从元数据获取 Nova Server

从元数据获取 Nova Server

你好,

我正在使用带有 Java 的 jclouds SDK 来检索 OpenStack Nova 服务器,我可以通过它的id检索服务器,但我没有找到任何其他方式可以获得 Nova 服务器。

我在 OpenStack 文档中看到,我可以使用 API /servers/{server_id}获取服务器,或者我可以列出所有服务器,但假设我有一个案例,我只需要获取指定了某些数据的服务器,比如我需要列出所有被指定为可删除 的服务器,在这种情况下,当我创建服务器时,我可以在元数据中设置这些服务器,有没有办法对服务器的元数据使用某种过滤?

谢谢

0 投票
0 回答
73 浏览

openstack - 来自计算端点上的获取服务器详细信息列表的不完整风味信息

谁能知道为什么从我的 openstack list-servers 的 api 调用返回的风味信息返回不完整的信息?

这是文档:https ://developer.openstack.org/api-ref/compute/#list-servers-detailed

api 调用有 200 个 http 响应代码,所以它是一个有效的调用,只是缺少风味信息。

这与版本无关,因为我将 2.53 用于 nova(计算端点),并且文档说:“从微版本 2.47 开始,它包含用于创建服务器实例的实际风味信息的子集,表示为嵌套字典。”

这是我的电话:

这是预期的结果,取自上面的文档:

0 投票
1 回答
255 浏览

python - Python API 中的“openstack ip 可用性列表/显示”

我想通过 Python API 使用这个 openstack 命令。通过 Neutron 文档,我找到了这个页面

我尝试执行“network_ip_availability.ListIpAvailability(neutron.list_networks())”,但我得到一个“TypeError:__init__() 至少需要 3 个参数(给定 2 个)”。

除了显示其 IP 的网络列表之外,我无法弄清楚它还需要什么。

任何有助于理解如何在 Python API 中使用这些命令的帮助将不胜感激。谢谢你。

0 投票
0 回答
39 浏览

python - 为什么我的 Openstack 身份验证模块不再工作?

我有一个使用 python 对 keystone API 进行身份验证的项目,在过去的几周里,我的身份验证方法已经停止工作,我不明白为什么。

该模块如下所示:

当我keystone.projects.list()使用上面的代码在 ipython 中运行时,我得到一个未经授权的错误,我不明白为什么。如果我使用与 openstack cli 客户端相同的凭据并运行,openstack project list我会得到我期望的项目列表。

环境:

  • python-openstackclient 4.0.0
  • python-keystoneclient 3.19.0

我确定我错过了一些重要的事情。