先电OpenStack卸载脚本
时间:2022-07-28
本文章向大家介绍先电OpenStack卸载脚本,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Uninstall OpenStack
#/bin/bash
source /etc/xiandian/openrc.sh
cat <<- EOF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Please confirm whether or not to clear all data in the system !!
!! Please careful operation !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
EOF
printf " 33[35mPlease Confirm : yes or no !n 33[0m"
read ans
while [[ "x"$ans != "xyes" && "x"$ans != "xno" ]]
do
echo "yes or no"
read ans
done
if [ "$ans" = no ]; then
exit 1
fi
printf " 33[35mPlease wait ...n 33[0m"
openstack-service stop >/dev/null 2>&1
source /etc/keystone/admin-openrc.sh >/dev/null 2>&1
for i in `nova list | sed -e '1,3d' -e '$d' |awk '{print $2}'`;do nova delete $i;done >/dev/null 2>&1
for i in `virsh list |grep running |awk '{print $2}'`;do virsh destroy $i;done >/dev/null 2>&1
for i in `virsh list --all | grep -w '-' |awk '{print $2}' `;do virsh undefine $i;done >/dev/null 2>&1
systemctl stop mariadb-server rabbitmq-server openvswitch >/dev/null 2>&1
if [[ `vgs |grep cinder-volumes` != '' ]];then
for i in `lvs |grep volume |awk '{print $1}'`; do
lvremove -f /dev/cinder-volumes/$i
done
vgremove -f cinder-volumes
pvremove -f /dev/$BLOCK_DISK
fi
IfSwifExists=`df -h |grep "/swift/node"`
if [[ "$IfSwifExists" != '' ]];then
umount /swift/node
sed -i '/swift/d' /etc/fstab
fi
yum remove -y openstack-*
python-ceilometerclient python-pecan
python-ceilometermiddleware vsftpd lvm2 targetcli python-keystone httpd mod_wsgi
mariadb mariadb-common mariadb-config mariadb-server python2-PyMySQL expect mongodb-server mongodb rabbitmq-server memcached python-memcached
ebtables ipset openvswitch ebtables xfsprogs rsync
python-swiftclient python-keystoneclient python-keystonemiddleware memcached ntp crudini python2-openstacksdk python2-keystoneauth1-2.4.1-1.el7.noarch httpd-tools
python-qpid-common qemu* libvirt* virt-* vim-common centos-release-virt-common qemu-kvm-common-ev centos-release-storage-common dhcp-common iaas-xiandian
rm -rf /etc/sysconfig/network-scripts/ifcfg-br-ex /etc/xiandian/ >/dev/null 2>&1
rm -rf /etc/keystone/ /etc/nova/ /etc/glance/ /etc/neutron/ /etc/openstack-dashboard/ /etc/cinder/ /etc/swift /etc/heat/ /etc/trove/ /etc/mongod.conf /etc/ntp* /etc/httpd /etc/ceilometer /etc/openvswitch/ >/dev/null 2>&1
rm -rf /var/lib/keystone/ /var/lib/libvirt /var/lib/mongodb /var/lib/rabbitmq/ /etc/aodh/ /var/lib/glance/ /var/lib/nova/ /var/lib/neutron/ /var/lib/cinder/ /var/lib/swift /var/lib/mysql/ /var/lib/trove >/dev/null 2>&1
rm -rf /etc/my.cnf* /root/.ssh/known_hosts >/dev/null 2>&1
service network restart
hostnamectl set-hostname localhost.localdomain
cat <<EOF > /etc/sysctl.conf
# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
EOF
cat <<EOF > /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
EOF
printf " 33[35mPlease wait....nThe system will reboot immediately ! nPlease reconnect after system restart ! n 33[0m"
sleep 3
reboot
- OpenStack Magnum及Liberty新功能简介
- JDK10要来了:下一代 Java 有哪些新特性?
- 是时候忘掉finalize方法了
- 学会一个JVM插件:使用HSDIS反汇编JIT生成的代码
- ONOS 实战分享(一):项目建立、调试到热部署
- 自己动手系列-延迟队列
- OVS中Action源码分析&自定义Action
- 读懂一行Full GC日志(回复JVM内存分配担保机制一文中 Mr/Mrs Xxx 在留言区提出的问题)
- 总结了一些指针易出错的常见问题(四)
- 当你在浏览器中输入Google.com并且按下回车之后发生了什么?
- 总结了一些指针易出错的常见问题(三)
- C++/C头文件 .h和 .c
- 史上最清晰的红黑树讲解(下)
- 网络操作系统VyOS安装与初步使用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SAP Spartacus central configuration - B2cStorefrontModule
- Android自定义控件实现折线图
- 关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性
- SAP Spartacus CmsService.Components数据结构
- Android同时安装Release和Debug版本的方法
- Django 后台带有字典的列表数据与页面js交互实例
- SAP Spartacus CmsService的CmsActions.LoadCmsComponent
- SAP Spartacus OccEndpointsService单元测试的依赖注入
- Python利用PyPDF2库获取PDF文件总页码实例
- TypeScript里get属性的实现
- SAP Spartacus OccEndpointsService单元测试之getBaseEndpoint
- html+css入门基础案例之圣诞那些事
- 建议收藏备查!MySQL 常见错误代码说明
- html+css入门基础案例之页面设计
- Github 星标 8K+ 这款国人开源的 Redis 可视化管理工具,真香...