https://github.com/openstack/python-novaclient
牵扯的两个project是:nova和python-novaclient;
这个命令从代码分析和实际使用上来看只是将nova数据库里的实例的状态更改;没有对实例做实质的操作。
https://docs.openstack.org/nova/pike/admin/support-compute.html
这个链接举了一个使用的例子:
Reset the state of an instance
问题:实例可能处于一种中间状态,如,deleting(正在删除);如果一直处于这个状态,说明中间哪里出现问题。此时就可以使用这个reset-state命令来将状态修正一下。手动将instance的状态修改为error状态,然后可以执行delete删除实例。
$ nova reset-state c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
$ openstack server delete c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
可以使用–active参数,强制将指令设置回激活状态。
$ nova reset-state --active c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
另外需要administrator的权限才能做这个操作
https://docs.openstack.org/api-ref/compute/?expanded=reset-server-state-os-resetstate-action-detail
Resets the state of a server.
Specify the os-resetState action and the state in the request body.
Policy defaults enable only users with the administrative role to perform this operation. Cloud providers can change these permissions through the policy.json file.