我使用jclouds SDK 2.1.0处理OpenStack资源,假设我有一个正在运行的nova服务器并且代码正在其上运行,有没有办法获取已经运行的该实例的ID或详细信息?意味着获取实例详细信息(不是针对所有实例,只针对我使用的实例)
中存在与函数类似的内容由于
修改
我发现在创建启用了meta_data.json的服务器时,有一个名为configuration drive的文件包含服务器ID(UUID),但是如何通过代码实现它?我可以使用jclouds SKD获取该文件吗?
答案 0 :(得分:1)
使用jclouds ComputeSevice
创建服务器时,返回的NodeMetadata
对象具有包含服务器ID的providerId
字段。如果直接使用Nova API,则会获得已具有其ID的Server对象。
答案 1 :(得分:0)
根据metadata APIs,其唯一的问题是发送到URL的HTTP GET请求:http://169.254.169.254/openstack/2012-08-10/meta_data.json
但诀窍是从Nova Server本身发送此请求,所以我打开了一个新手服务器的控制台,我运行命令:curl http://169.254.169.254/openstack/2012-08-10/meta_data.json
这个命令将返回一个包含服务器ID(UUID)的JSON对象,请记住第一个的事情是,在创建Nova实例时应该检查配置驱动器选项
第二,服务器中有多个meta_data.json文件,文件夹 2012-08-10 中包含的文件包含服务器ID(UUID)< / p>