好多环境部署时会走默认的region名字 RegionOne 但是有的环境如果多套openstack一起纳管,就会有修改region name的需求
否则多套会因为重名而冲突
修改步骤有一下几步
1.修改数据库
use keystone;
insert into region (id,description,parent_region_id,extra) values('Regiontwo','',NULL,'{}'); #插入一张新名称的region表 此regiontwo为中间过渡的表
update endpoint set region_id='Regiontwo' where region_id='RegionOne'; #把所有regionone的endpoint信息改成新的region two。
update region set id='RegionThree' where id='RegionOne'; #将目标修改的region名称替换RegionThree
update endpoint set region_id='RegionThree' where region_id='Regiontwo';
delete from region where id='Regiontwo'; #更新完成后将中间过渡表删除;
修改完成后再次查询端口会出现如下报错
[root@kvm-cy-06 ~]# openstack endpoint list
admin endpoint for identity service in RegionOne region not found
还要修改admin_openrc.sh环境变量脚本中的region为替换过的name
# vim admin-openrc.sh
# source admin-openrc.sh
第一步大功告成
2.修改所有服务配置文件中的region_name
# sed -i 's/RegionOne/RegionThree/g' /etc/nova/*.conf
# sed -i 's/RegionOne/RegionThree/g' /etc/glance/*.conf
# sed -i 's/RegionOne/RegionThree/g' /etc/neutron/*.conf
#sed -i 's/RegionOne/RegionThree/g' /etc/cinder/*.conf
保守起见再检查一遍
修改完成
3.重启所有修改后的服务
# systemctl |egrep '(nova|glance|neutron|cinder)' |awk '{print $1}' |xargs systemctl restart
至此,整套环境的regionname修改完成