解决ironic node-delete is associated with instance问题

时间:2020-01-09 10:41:06  来源:igfitidea点击:

尝试删除具有活动实例的ironic节点时,我们可能会收到与实例关联的ironic节点删除错误。
这着overcloud部署已部分完成或者成功完成,但是我们仍然希望删除ironic节点。
如果成功完成了overcloud部署,则删除某人的ironic节点的可能性很小。

但是在任何一种情况下,undercloud都将具有以下信息

$openstack baremetal node list
+--------------------------------------+-------------+--------------------------------------+-------------+--------------------+-------------+
| UUID                                 | Name        | Instance UUID                        | Power State | Provisioning State | Maintenance |
+--------------------------------------+-------------+--------------------------------------+-------------+--------------------+-------------+
| e6486069-4e45-4d0b-ac55-180a00de9641 | controller0 | e7ab5425-8a3b-4c79-8e52-4063471f0743 | power on    | active             | False       |
| 7d48b6ac-5df0-46e2-8f23-9e790ab03770 | compute0    | d3852ccb-684e-4b8b-b7e0-89cecf736767 | power on    | active             | False       |
| 0624b196-53f8-4aac-888b-1e25b5a415a0 | ceph0       | 89911a7c-0de3-48eb-af2f-36867d71f461 | power on    | active             | False       |
+--------------------------------------+-------------+--------------------------------------+-------------+--------------------+-------------+

如何修复" ironic节点删除与实例相关联"?

"ironic node-delete is associated with instance"

要解决此问题,我们有两种选择

  • 在删除ironic节点之前先删除实例

  • 将具有ironic的节点设置为维护状态,然后尝试删除

如何从具有ironic的节点中删除实例?

将ironic节点移至维护模式:

$ironic node-set-maintenance NODE_UUID on

例如:

$ironic node-set-maintenance 0624b196-53f8-4aac-888b-1e25b5a415a0 on

从其中取消分配nova实例:

$ironic node-update NODE_UUID remove instance_uuid

例如:

$ironic node-update 0624b196-53f8-4aac-888b-1e25b5a415a0 remove 89911a7c-0de3-48eb-af2f-36867d71f461

现在,我们可以尝试删除具有ironic的节点

$openstack baremetal node delete 0624b196-53f8-4aac-888b-1e25b5a415a0

如何使具有ironic的节点处于维护状态?

同样如上例所示,我们可以使用以下命令语法将ironic节点设置为维护

$ironic node-set-maintenance NODE_UUID on

例如:

$ironic node-set-maintenance 0624b196-53f8-4aac-888b-1e25b5a415a0 on

或者,我们可以使用以下命令语法:

$openstack baremetal node maintenance set <NODE_UUID>

例如:

$openstack baremetal node maintenance set e6486069-4e45-4d0b-ac55-180a00de9641