2016年10月22日 星期六

To remove a compute host in OpenStack

Environment:
*OpenStack version: mitaka


請先從Horizon上停用該Compute Host

在Compute Host停止及停用以下的服務
systemctl stop openstack-ceilometer*
systemctl stop neutron*
systemctl stop openstack-nova*

systemctl disable openstack-ceilometer*
systemctl disable neutron*
systemctl disable openstack-nova*


使用OpenStack的cmd來刪除Compute Host(請先載入OpenStack admin環境 source keystonerc_admin)

# 列出compute service的id
openstack compute service list | grep 'nova-compute' | grep '{{compute host}}' | awk '{print $2}'

# 刪除compute service
openstack compute service delete {{service id}}

# 列出neutron agent的id
neutron agent-list | grep '{{compute host}}' | awk '{print $2}'

# 刪除neutron agent
neutron agent-delete {{agent id}}

由於資料庫中還殘存著記錄, 這讓本人覺得非常的不舒服, 於是本人又進了資料庫把以下相關的資料都清除掉

# 清除nova資料庫中與Compute Host有關的記錄
set @compute_host = '{{compute host}}';

DELETE FROM `compute_nodes` WHERE `hypervisor_hostname`=@compute_host;
DELETE FROM `service` WHERE `host`=@compute_host;

# 清除neutron資料庫中與Compute Host有關的記錄
set @compute_host = '{{compute host}}';

DELETE FROM `agents` WHERE `host`=@compute_host;
DELETE FROM `ml2_gre_endpoints` WHERE `host`=@compute_host;
DELETE FROM `ml2_port_binding_levels` WHERE `host`=@compute_host;
DELETE FROM `ml2_port_bindings` WHERE `host`=@compute_host;
DELETE FROM `ml2_vxlan_endpoints` WHERE `host`=@compute_host;

最後記得去所有的機器把有關這台Compute Host的iptables policy清除喔

沒有留言:

張貼留言