解决了

不能通过API 3.0克隆虚拟机

  • 2021年1月22日
  • 4回复
  • 258的浏览量

徽章"title= +1

你好,

登录prism后,我打开API参考和登录凭据。

然后进入“VMs——>Clone Section”,通过API克隆虚拟机。

我通过两个方法得到虚拟机uuid,我认为我得到相同的uuid

1)ssh到CVM,并给出“acli vm.list”

2)当控制台url,使用uuid= " string "

两者具有相同的uuid。所以我曾经通过api克隆虚拟机,但我得到错误如下:

给定的输入无效。虚拟机UUID不能指定,使用幂等标识符获取UUID

我也尝试得到现有的和创建新的幂等标识符,但在克隆虚拟机执行它,它给出错误“uuid不存在”。

请建议我,我认为uuid是正确的,但什么导致了错误。

请帮助。

图标

最佳答案AnishWalia202021年1月23日,09:40

hey,\u00a0@Balram<\/user-mention>\u00a0here are more details about the \u201c\/idempotence_identifiers<\/strong>\u201d REST API:\u00a0https:\/\/www.nutanix.dev\/reference\/prism_central\/v3\/api\/idempotence-identifiers\/postidempotenceidentifiers\/<\/a><\/p>

\u00a0<\/p>

Using the above POST method you can get the idempotence identifier<\/strong> of the VM.\u00a0<\/p>

Also as the above documentation suggests\u00a0It is mandatory to provide the count for how many identifiers we need and the lifetime until we can use it in the POST \u201c\/idempotence_identifiers<\/strong>\u201d\u00a0API.\u00a0<\/p>

Below is an example with CURL:
\u00a0<\/p>

anish.singhwalia@C02XF4HA:~$ curl -k -X POST --header \"Content-Type: application\/json\" --header\u00a0<\/p>

\"Accept: application\/json\" --header \"Authorization: Basic AYWtrr7y23TnV0YW5peC8\" -d \"{
\\\"count\\\": 1,
\\\"valid_duration_in_minutes\\\": 527040
}\" \"https:\/\/10.136.107.69:9440\/api\/nutanix\/v3\/idempotence_identifiers\"
{\"client_identifier\": null, \"count\": 1, \"expiration_time\": \"2020-12-23T07:59:57Z\", \"uuid_list\": [\"a1d6b81b-a76c-495c-9a71-508167f810dd<\/strong>\"]}<\/p>



We can use now the returned idempotence identifier(a1d6b81b-a76c-495c-9a71-508167f810dd<\/strong>) in the \/clone API<\/strong>

anish.singhwalia@C02XF4HA::~$ curl -k -X POST --header \"Content-Type: application\/json\" --header \"Accept: application\/json\" --header \"Authorization: Basic AYWtrr7y23TnV0YW5peC8\" -d \"{
\\\"metadata\\\": {
\\\"uuid\\\": \\\"a1d6b81b-a76c-495c-9a71-508167f810dd<\/strong>\\\"
}
}\" \"
https:\/\/10.136.107.69:9440\/api\/nutanix\/v3\/vms\/9276242d-34r1-69f3-dfe8-5d1cb15569k2\/clone<\/a>\"
{\"task_uuid\": \"9bb26a3e-18cf-4fea-941a-cfe5e542c076<\/strong>\"}<\/p>

\u00a0<\/p>

Now we can check the above task details\u00a0and identify the UUID of the cloned VM:


anish.singhwalia@C02XF4HA:~$ curl -k -X GET --header \"Accept: application\/json\" --header \"Authorization: Basic AYWtrr7y23TnV0YW5peC8\" \"
https:\/\/10.136.10769:9440\/api\/nutanix\/v3\/tasks\/9bb26a3e-18cf-4fea-941a-cfe5e542c076<\/a>\"
{\"status\": \"SUCCEEDED\", \"last_update_time\": \"2019-12-23T08:01:31Z\", \"logical_timestamp\": 2, \"entity_reference_list\": [{\"kind\": \"vm\", \"uuid\": \"a1d6b81b-a76c-495c-9a71-508167f810dd<\/strong>\"}], \"start_time\": \"2019-12-23T08:01:18Z\", \"creation_time\": \"2019-12-23T08:01:18Z\", \"start_time_usecs\": 1577088078927590, \"cluster_reference\": {\"kind\": \"cluster\", \"uuid\": \"r4fd3d69-3df4-5g3d-448e-6b9312655365<\/strong>\"}, \"subtask_reference_list\": [], \"completion_time\": \"2019-12-23T08:01:31Z\", \"creation_time_usecs\": 1577088078874113, \"progress_message\": \"//www.jhbzcj.com/next/prism-for-infra-and-it-ops-26/\", \"operation_type\": \"ProcessVmClone\", \"completion_time_usecs\": 1577088091347015, \"percentage_complete\": 100, \"api_version\": \"3.1\", \"uuid\": \"9bb26a3e-18cf-4fea-941a-cfe5e542c076<\/strong>\"}<\/p>

\u00a0<\/p>

I hope the above clarifies the procedure and helps you\u00a0@Balram<\/user-mention>\u00a0.<\/p>

Let me know if you need anything else.\":sweat_smile:\"<\/p>

\u00a0<\/p>","className":"post__content__best_answer"}">

查看原始

本主题已关闭供评论

4回复

嗨开斋节,

/clone API需要幂等标识符。
为了得到幂等标识符,我们可以使用API的幂等电位标识符。
必须提供我们需要的标识符的数量以及我们可以使用它之前的生存期。

如果可能的话,你能打开一个支持案例,以便对其进行详细研究吗?

嘿, @Balram下面是关于“/”的更多细节idempotence_identifiers“REST API:https://www.nutanix.dev/reference/prism_central/v3/api/idempotence-identifiers/postidempotenceidentifiers/

使用上面的POST方法,你可以得到幂等性标识符VM。

正如上面的文档所建议的,必须提供我们需要多少标识符的计数和生命周期,直到我们可以在POST中使用它。”/ idempotence_identifiers“API。

下面是一个使用CURL的例子:

西班牙。singhwalia@C02XF4HA:~$ curl -k -X POST——header "Content-Type: application/json"——header

"Accept: application/json"——header "Authorization: Basic AYWtrr7y23TnV0YW5peC8" -d "{
\ \“计数”:1、
valid_duration_in_minutes \“\”:527040
} " https://10.136.107.69:9440 / api / nutanix / v3 / idempotence_identifiers”
{"client_identifier": null, "count": 1, "expiration_time": "2020-12-23 t7:59:57 z ", "uuid_list": ["a1d6b81b a76c - 495 c - 9 a71 f810dd——508167")}



我们现在可以使用返回的幂等标识符(a1d6b81b a76c - 495 c - 9 a71 f810dd——508167)/克隆API

西班牙。singhwalia@C02XF4HA::~$ curl -k -X POST——header "Content-Type: application/json"——header "Accept: application/json"——header "Authorization: Basic AYWtrr7y23TnV0YW5peC8" -d "{
\ \“元数据”:{
\“uuid \”,\“a1d6b81b a76c - 495 c - 9 a71 f810dd——508167\"

} "https://10.136.107.69:9440/api/nutanix/v3/vms/9276242d-34r1-69f3-dfe8-5d1cb15569k2/clone
{“task_uuid”:“9 bb26a3e - 18 - cf - 4 -有限元分析- 941 a cfe5e542c076"}

现在我们可以查看上面的任务详情,并确定克隆虚拟机的UUID:


西班牙。singhwalia@C02XF4HA:~$ curl -k -X GET——header "Accept: application/json"——header "Authorization: Basic AYWtrr7y23TnV0YW5peC8" "授权:基本的AYWtrr7y23TnV0YW5peC8"https://10.136.10769:9440/api/nutanix/v3/tasks/9bb26a3e-18cf-4fea-941a-cfe5e542c076
{"status": "SUCCEEDED", "last_update_time": "2019-12-23 t8:01:31 z ", "logical_timestamp": 2, "entity_reference_list": [{"kind": "vm", "uuid": "]a1d6b81b a76c - 495 c - 9 a71 f810dd——508167}], "start_time": "2019-12-23 t8:01:18 z ", "creation_time": "2019-12-23 t8:01:18 z ", "start_time_usecs": 1577088078927590, "cluster_reference": {"kind": "cluster", "uuid": "r4fd3d69 - 3 - df4 - 5 - g3d b9312655365——448 - e - 6}, "subtask_reference_list": [], "completion_time": "2019-12-23 t8:01:31 z ", "creation_time_usecs": 1577088078874113, "progress_message": "", "operation_type": "ProcessVmClone", "completion_time_usecs": 1577088091347015, "percentage_complete": 100, "api_version": "3.1", "uuid": "9 bb26a3e - 18 - cf - 4 -有限元分析- 941 a cfe5e542c076"}

我希望以上内容能让你明白这个程序,并对你有所帮助 @Balram

如果你还需要什么就告诉我。: sweat_smile:"src=

徽章"title= +1

谢谢,我知道了,它也能用

徽章"title= +1

@AnishWalia20

这个API是工作的,但在虚拟机克隆之后。它处于断电状态。

有没有办法通过API 3设置电源状态(在API 2中有,但它是旧的和不支持的)

任何其他方式来创建虚拟机或克隆,以便它将处于开机状态。

Baidu