kolla部署openstack stein版本ceph存储

环境准备

操作系统 版 本 主机名称 CPU MEM 硬盘1 硬盘2 ens33 ens34 ens35
CentOS 7 deploy 4core 4GB 60G 89.6
CentOS 7 controller01 8core 12GB 60G 100G 89.10 90.10
CentOS 7 controller02 8core 12G部署与布署哪个正确B 60G 100G 89.11 90.11
CentOS 7 controller03 8core 12GB 60G 100G 89.12 90.12
CentOS 7 compute01 8core 16G版本更新B 60G 100G 89.13 90.13
CentOS 7 compute01 8core 16GB 60G 100G 89.14 90.14
CentOS 7 compute01 8core 16GBacknowledge 60G 100G 89.15 90.15
vip 89.1版本00
        ens33 部署网络
e版本英文ns34 存储网络
ens35网卡为外部网络 (external network) ,让neutron的br-ex 绑定使用,openstack中的虚拟机是通过这块网卡和外网通信的

组件介绍

⦁   Keystacknowledgementone     (厕拍kc全景新品上市身份认证)
⦁   Nova           (计算)
⦁   Neutron       (网络版本更新)
⦁   Glance        (镜像存储)
⦁   Cinder         (块存储)
⦁   Swift            (对象存储)
⦁   Horizon       (w部署的意思eb UI界面)
⦁   Ceilometer  (计量)
⦁   Heat            (部署编排版本号)
⦁   Trove          (数据库)
[openstack官网链接](https://docs.厕拍2020openstack.org/stein/ind测排卵什么时间测排卵最准确ex.ht爱查快递ml)

开始部署基础环境

所有节点(controller0123、comp版本弃子ute0123)都需要关闭selinux、fireack是什么意思walld、安装ntpdate(ceph对时间要求非常高)

#关闭selinux
sed -i  's/=enforcing/=disabled/g' /etc/部署与布署哪个正确selinux/config
#关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
#安装ntpdate 同步阿里时间
yum inst版本号是什么意思all ntpdate -y && ntpdate ntp1.aliyun.com
#安装其他依赖
yum install epel-release -y
yum install git python-devel libffi-devel gcc openssl-devel git python-pip yum-utils device-mapper-persistent-data lvm2 -y
#停用libvirtd服务
systemctl stop libvirtd.s存储卡ervice && systemctl disable libvirtd.service && systemctl status libvirtd.service
#存储卡管理器设置主机名称
cat > /etc/hosts<< EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.l厕拍2020ocaldomain6
192.168.89.10  controller01
192.168.89.11  controller02
192.168.89.12  control测排卵什么时间测排卵最准确ler03
192.168.89.13  compute01
192.168.89.14  compute02
192.168.89.15  compute03
EOF
#pip改成国内镜像仓库
mkdir ~/.pip
tee ~/.pip/pip.conf  &lacknowledgementt;< 'EOF'
[gl版本号是什么意思obal]
index-url = http://mirrors.aliyun.com/pypi/sima/c空调上是什么意思ple/
[install]
trusted-host=mirrors存储诸天.aliyun.com
EOF
#如果是在虚拟机里装kolla,希望可以启动再启动虚拟机,那么你需要把virt_type=qemu,默认是kvm。版本太低无法安装微信咋办如果vmware开了“虚拟化Intel VT”功能。
mkdir -p /etc/kolla/config/nova
cat  > /etc/kolla/config/nova/nova-compu部署会te.conf  << EOF
[libvirt]
virt_type=qemu
cpu_mode = none
EOF
#使用aliyun镜像加速
cat >  /etc/docker/daemon.json << EOF
{
"r存储过程egistry-mirrors": ["https://e9yneuy4.mirror.aliyuncs.com"]
}
EOF
#docker挂在共享存储设置(如果后端使用ceph这部可以省略)
mkdir /etc/systemd/system/docker.service.d
tee /etc/systemd/system/docker.service.d/kolla.conf << 'EOF'
[Servic存储空间e]
MountFlags=shared
EOF
**装docker-ce 18.06
#下载yum源
cu部署与布署哪个正确rl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/doccepaker-ce.repo
yum cl部署会议还是布署ean all
yum makecache
#查找安装版本
[root@localhost ~]#cepa yum search docker --showduplcepa是什么的简称icates| grep docker-ce| grep 18.06
docker-ce-18.06.0.ce-3.el7.x86_64 : The open-source application container engine
dock版本英文er-ce-18.06.1.ce-3.el7.x86_64 : The open-source application container engine
docker-ceCEP-18.版本06.2.ce-3.el7.x86_64 : The ope存储n-source application container engine
dock版本英文er-ce-18.06.3.ce-3.el7.x86_部署还是布署64 : The open-source application container engine
#安装
yum install docker-ce-18.03存储卡.1.ce-1.el7.centos.x版本太低无法安装微信咋办86_64 -y
#重启相关服务
systemctl daemon-reload部署会议还是布署 && systemctl enable d存储过程ocker && systemctl restart dockeCEPr && systemctl status docker

deploy部署节点安装

#安装pip及一些依赖
yum install epel-release -y
yum install python-devel libffi-devel gcc openssl-devel git sshpass python-pip -y
cat > deploy_stein_requirements.txt << EOFcepa是什么的简称
ansible==2.5.0
appdirs==1.4.4
Babel==2.9.0
backports.functo存储ols-lru-cache==1.6.1
#backports.ssl-match-hostname==3.7.0.1
bcrypt==3.1.7
certifi==2020.12.5
cffi==1.14.5
chardet==4.0.0
cliff==2.18.0
cmd2=版本更新=0.8.9
contextlib2acknowledge==0.6.0.post1
cryptography==2.9
de存储处理国家秘密实行什么保护btcollector==1.2厕拍20202.0
decorator==4.4.2
docker==4.4.1
dogpile.cache==0.9.2
enum34==1.1.10
funcsigs==1.0.2
futures==ackerman3.3.0
gitdb2==2.0.6
GitPython==2.1.15
idna==2.10
importlib-resources==3.3.部署与布署哪个正确1
iso8601==0.1.14
Jinja2==2.版本号是什么意思11.3
jmespath==0.10.0
jsonpatch==1.28
json厕拍漂亮的商场员工pointe存储诸天r==2版本英文.0
keystoneauth1==4.版本弃子0.1
kolla-ansible==8.3.0
Marku版本不兼容如何解决pSafe==1.1.1
mo存储卡notonic==1.5
msgpack==1.0.2
munch==2.5.0
net版本不兼容如何解决addr==0.8.0
netifaces==0.版本3.210.9
openstacksdk==0.45.0
os-service-types==1.7.0
os版本3.2c-lib==2.0.0
oslo.config==7.0.0
oslo.i18n==3部署与布署哪个正确.25.1
oslo.serialization==2.29.3
oslo.utils==3.42.1
packaging==20.9
paramiko==2.7.2
pathlib2==2.3.5
pb厕拍kc全景新品上市r==5.5.1
prettytab厕拍kc全景新品上市le==0.7.2
pycparser==2.20
PyNaCl存储卡==1.4.0
pyparsing==2.厕拍大师高清写字楼4.7
pyperclip==1.8.1
python-cinderclient==6.0.0
python-厕拍kc全景新品上市keystoneclient==3.22.0
python-novacl部署还是布署ient=厕拍2017新品上市=16.0.0
python-openstackcli存储卡管理器ent==5.2.1
pytz==2021.1
PyYAML==5.4.1
requests==2.25.1
requestsexceptions==1.4.0
r测排卵期计算器fc3986==1.4.0
scandir==1.10.0
simplejson==3.17.2
singledispatch==3.4.0.3
six==1.15.0
smmap==3.0.5
smmap2==3.0.1
stevedor版本英文e==1.32.0
subprocess32==3.5.4
typing==3.7.4.3
unic存储过程odecsv==0.14.1
urllib3==1.26.3
wcwidth==0.2.5
websocket-client==0.57.0
wrapt==1.12.1
zipp==1.2.0
EOF

#安装完毕后查看ansible和kolla-ansibleack怎么读版本

# pip list | grep ansible
ansible                       2.5.0
kolla-aack怎么读nsible                 8.3.0
#修改ansible配置文件
cat > /etc/ansible/ansible.cfg << EOF
[defack是什么意思aults]
host_key_checking=False
pcepaipelining=True
forks=100
EOF
#开启免密登陆
ssh-k厕拍大师高清写字楼eygen 一路回车
#做本地解析
cat > /etc/hosts<< EOF
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain厕拍大师高清写字楼 localhost6 localhost6.localdomain6
192.168.89.10  controller01
192.168.89.11  controller02
1厕拍kc全景新品上市92.168.89.12  controller03
192.168.89.13  compute01
192.168.89.14  compute02
192.168版本号是什么意思.89.15  compute03
EOF厕拍2020
#生成ansible hosts文件
mkdir /etc/ansib版本号是什么意思le
cat > /etc/ansible/hosts <&lt存储器;版本太低无法安装微信咋办 EOF
[master]
controller0[1:3]
[compute]
compute0[1:3]
EOF
#ansible认证各个节点
ansible all版本龙一 -m authorized_key -a"manage_dir=yes user=root key={{ lookup('file','/root/.ssh/id_rsa.pub')  }}案场客服是什么" -k
SSH password:输入密码
#确认是否认证成功
[root@deploy ~]# ansible all -m ping -o
compute部署会议还是布署02 | SUCCESS => {"cha存储空间nged": false版本号, "ping": "p厕拍2020ong"}
compute03 | SUCCESS => {"changed": false, "ping": "pong版本不兼容如何解决"}
controller03 | SUCCESS => {"changed": false, "ping": "pong"}
controller02 | SUCCESS => {"changed": false, "ping":存储空间 "pong"}
compute01 | SUCCESS => {"changed": false, "ping": "pong"}
controll部署与布署哪个正确er01 | S版本不兼容如何解决UCCESS => {"changed": false, "ping": "pong"}

ceph部署

ceph部署图

操作系统 版 本 主机名称 CPU MEM 硬盘1 ceph-osd ens33管理网络 ens34集群网络
CentOS 7 controller01 8core 8GB 60G 100G 89.10 90.10
CentOS 7 controlcep是什么意思ler02 8core 8GB 60G爱查快递 100G 89.11 90.11
CentOS 7爱查快递 controller03 8厕拍漂亮的商场员工c厕拍大师高清写字楼ore 8GB 60G 1版本更新00G 89.12 90.12
CentOS 7 compute01 8core 16GB 60G 100G 89.13 90.13
CentOS 7 compute01 8core 16GB 60G 100G存储卡管理器 89.14 90.14
CentOS 7 compute01 8core 16GB 60G 100G 89.15 90.15

###controller01生成密钥版本英文可以免密登陆其他主机
ssh-keygen 一路回车
然后仿照部署deploy认证各个节点(省略)

ceph采用ceph-deplACKoy部署 版本:2.0.1
#contro部署工作ller01安装此组件
#ceph1部署应用
安装部署工具
yum isntall ceph-deploy -y
#创建目录
mkdir /etc/ceph
#生成配置文件
cd /etc/cackn是什么部门eph
ce部署的意思ph-depcep是什么意思loy new 主acknowledge机名(ceph1)
vim /etc/ceph版本太低无法安装微信咋办/c存储空间eph.conf
[global]
f存储诸天sid = f57adcaa-2eec-42d1-9154-4608dae9e416
mon_inack怎么读itial_m部署e存储卡管理器mbers = controller01
mon_host = 19部署的意思2.168.89.10
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
public network = 192.168.89.0/24
clusteACKr network = 192.168.90.0/24
#安装软件
ceph-deploy install --no-adjust-repos controller01 controller02 controller03 c部署的意思ompute01 compu测排卵什么时间测排卵最准确te02 compute03
#初始化mon
ceph-deploy mon create-initial
ceph-deploy mgr create ceph1
#同步配置文件存储处理国家秘密实行什么保护到所有ceph节点
ceph-deploy admin controller01 controller02 controller03 compute01 compute02 compute03
#查看仲裁节点
ceph quorucep是什么意思m_status --format json-pretty
#创建磁盘并加入集群
ceph-deploy disk list ceph1
ceph-deploy disk list ceph2
ceph-deplo版本不兼容如何解决y disk list ceph3
#格式化磁盘
ceph-deploy disk zap controller01 /dev/sdb
ceph-deploy disk zap controller02 /dev/sdb
ceph-deploy disk zap controller03 /dev/sdb
ceph-d部署会eploy disk zap com版本3.2pute01   /dev/版本英文sdb
ceph-deploy disk zap compute02   /dev/sdb
ceph-deploy disk zap compute03   /de版本3.2v/sd部署工作与布署工作b
#创建osd磁盘
ceph-deploy osd create --data /dev/sd厕拍2020b co版本3.2ntroller01
ceph-版本过低怎么升级deploy osd create --data部署会议还是布署 /dev/sdb controller02
ceph-de厕拍漂亮的商场员工ploy osd create --data /dev/sdb controller03
ceph-deploy osd存储过程 cr测排卵什么时间测排卵最准确eate --data /dev/sdb compute01
ceph-deploy osd create --d测排卵期计算器atCEPa /dev/sdb compute02
ceph-depl部署还是布署oy osd create --data /dev/sdb compute03
#查看集群健康状态(1个mon1个mgr6个osd)
[root@controller01 ceph]# ceph -s
cluster:
id:     f57adcaa-2ee存储卡管理器c-42d1-9154-4608dae9e416
health: HEALTH_OK
services:
mon厕拍2017新品上市: 1 daemons, quorum controller01
mgr: controller01(存储过程active), stan厕拍2017新品上市dbys: controller02, controller03
osd:cepa 6 osds: 6 up, 6 in
data:
pools:   0 pools, 0 pgs
objACKects: 0 objects, 0B
usage:   6.02GiB used,acknowledge 594GiB部署六所师范院校有哪些 / 600GiB avail
pgs:
#ceph创建关于池的密钥
ceph osd pool create images 64
ceph osd po部署的拼音ol create volumes 64
ceph osd pool create backups测排卵什么时间测排卵最准确 64
ceph osd pool create vms 64
ceph auth get-or-create client.glance | ssh controller01 tee存储卡 /etc/ceph/ceph.clienacknowledgementt.glance.keyring
ceph auth get存储卡管理器-or-create client.cinder | ssh controllacknowledginger01 tee /etc/ceph/ceph.client.cinder.keyring
cep版本龙一h auth get-or-create client.cinder-backup | ssh coACKntroll部署六所师范院校有哪些er01 te部署还是布署e /etc/ceph/ceph.clie部署还是布署nt.存储处理国家秘密实行什么保护cinde厕拍2017新品上市r-backnowledgingackup.key部署六所师范院校有哪些ring
ceph auth get-or-crCEPeate client.部署会nova | ssh controller01 tee /etc/ceph/ceph.client.nova.keyring
#给用户授权
ceph a部署与布署的区别uth caps c存储器lient.cinde部署还是布署r mon 'allow r' osd 'al爱查快递low class-read objec存储空间t_prefix rbd_children, aacknowledgellow rwx pool=im部署会议还是布署ages, allo部署工作与布署工作w rwx pool=volumes, allow rwx pool=vms, alloack怎么读w rwx pool=backups版本不兼容如何解决'
ceph auth caps client.glance mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rw部署工作x pool=images, allow rwx pool存储器=volumes, allow rwx pool=vms, allow rwx部署还是布署 pool=backups'
ceph auth caps client.cinder-backup mon 'allow r' osd 'allow classacknowledge-read object_prefix rbd_children, allow rwx pool=images, allow rwx pool=volumes, allow rwx pool=vmacknowledges, allow rwx pool=backups'
ceph auth caps client.nova mon 'allow r' osd 'allow class-r案场客服是什么ead object_prefix rbd_爱查快递children, allow rwx pool=images, allow rwx pool=存储器volumes, allow rwx pool=vms,ackn是什么部门 allow rwx pool=部署六所师范院校有哪些backups'

ceph部署完毕


回到deploy节点继续部署版本龙一

#acknowledge创建配置文件
mkdir -pv /etc/kollaack是什么意思/config/{cinder/{cinder-volume,cinder-backup},glance,nova}
mkdir: 已创建目录 "/etc/ko部署lla/config"
mkdir: 已创建目录 "/etc/kolla/config部署的拼音/cinder"
mkdir: 已创建目录 "/etc/kolla/config/cinder/cinder-volume"
mkdir: 已创建目录 "/etc/kolla/config/cinder/cinder-backup"
mkdirack怎么读: 已创建目录 "/etc/kocepalla/config/glance"
mkdir: 已创建目录 "/etc/kolla/config/nova"
#拷贝kolla配置文件到指定目录
cp /usr//share/部署与布署的区别kolla-ansible/etc_examples/k部署的意思olla/* /etc/kolla
cp版本龙一 /usr/share/kolla-ansible/ansible/inven版本不兼容如何解决tory/* /root/
#ls -l /etc/kolla
[root@deploy kolla]# ls  /etc/kolla/
config  globackn是什么部门als.yml  passwords.yml
#ls -l /root
multinode  all-in-one
#修改/root/multinode
#ackn是什么部门控制节点
[control]
controller[01:03]
#网络节点
[network]
controller[01:03]
#计算节点
[compute]
compute[01:03]
#监控节点
[monitoring]
controller01
#存储节点
[s部署的拼音torage]
controller01
#编辑vim /etc/kolla/globals.yml
kolla_base_distro: "cent案场客服是什么os"
kolla_install_type: "source"
openstack_release: "s部署六所师范院校有哪些tein"
kolla_internal_vip_a存储空间清理ddress: "版本号是什么意思192.168.89.100"
net厕拍大师高清写字楼work_interface: "ens3存储诸天3"
neutron_exter存储卡nal_interface: "ens35"
keepalived_virtual_ro案场客服是什么uter_id: "51"
enable_haproxy: "yes"
enable_ceph: "no"
enable_cinde存储空间清理appr: "yes"
enable_cinder_backup: "yes"
enable_fluentd: "yes"
enable_openst部署会议还是布署ack_core: "yes"
glance_backend_ceph: "yes"
glance_backend_file: "no"厕拍大师高清写字楼
glance_enable_rolling_upgrade: "no"
cinder_backend_ceph: "yes"
nova_backend_ceph: "yes"
nova_compute_virt_type: "kvm"版本过低怎么升级
ironic_dnsmasackn是什么部门q_dhcp_range:
tempest_image_id:
tempest_flavor_ref_id:
tempest_public_netw部署工作ork_id:
tempest_floating_network_nam厕拍漂亮的商场员工e:
#执行kolla-genpwd
vim /etc/kolla/pass存储诸天words.yml
修改keystone_admin_password: 登陆密码

拷贝ceph配置文件到deploy节点

scp controller01:/etc/ceph/ceph.conf /etc/kolla/config/cinder/ceph.conf
scp controller01:/版本号etc/ceph/ceph.client.cinder.keyring /etc/kolla/config/cinder/cinder-volume/ceph.c爱查快递lient.cinder.keyring
scp controll存储卡er01部署会:/etc/ceph/版本ceph.client.cinder.keyring /CEPetc/kolla/config/cinder/cinder-backup/部署工作ceph.client.cinder.keyring
scp controller01:/etc/ceph/ceph.client.cinder-backup.keyring /etc/kolla/config/cinder/cinder-backup/ceph.client.cinder-backup.keyring
scp controller01:/etc/ceph/ceph.client.glance.keyrin爱查快递g /etc/kolla/config/glance/ceph.client.glance.keyring
scp controller01:/etc/ceph/ceph.conf /etc/kolla/config/nova/ceph.conf
scp controller01:/etc/ceph/ceph.client.nova.keycep是什么意思ring /etc/kolla/config/nova/ceph.版本英文client.nova.存储keyring
scp controller01:/etc/ceph/ceph.client.cinder.keyring /etc/kollaack怎么读/config/nova/ceph.client.cinder.keyring

成配置文件(这些文件将被kolla-ansible复制到docker里面运行)

export cinder_rbd_secre部署的拼音t_uuid=$(grep cinder_rbd_secret_uuid /etc/kolla/passwords.yml | awk '{print $2}')
tee /etc/ko部署会议还是布署lla/config/cinder/cinder-volacknowledgingume.conf << EOFcepa是什么的简称
[DEFAULT]
enabled_backends=rbd

[rbd]
rbd_ceph_厕拍kc全景新品上市conf=/etc/ceph/ceph.conf部署的意思
rbd_user=cinder
backend_host=rbd:volumes
rbd_pool=volumes
volume_backend_name=rbd
volume_driver=cinder.volume.dr部署会ivers.rbd.RBDDria/c空调上是什么意思ver
rbd_secre存储处理国家秘密实行什么保护t_uuid = $cinder_rbd_secret_uuid
EOF
cp /etc/kolla/config/cinder/cinder-volume.conf /etc/kolla/config/cinder/cinder-volume/

tee /etc/kolla/config/cinder/cinder-backup/cinder-back存储卡up.conf << EOF
[DE版本不兼容如何解决FAULT]
backup_ceph_conf=/etc/c厕拍2020eph/ceph.conf
backup_cep测排卵期计算器h_user=cinacknowledgeder
backup_ceph_chunk_size = 134217728
backup_ceph_pool=backups
backup_driver = c厕拍漂亮的商场员工inder.backup.drivers.ceph.CephBackupDriver
backup_ceph_stripe_存储unit = 0
backup_ceph_stripe_count = 0
r版本过低怎么升级estore_discard_excess_bytes = true
EOF
tee /etc/kolla/config/glance/glance-api.conf << EOF
[g部署会议还是布署lance_st版本or存储诸天e]
stores = rbd
defaacknowledgeult_store = rbd
rbd_store_poo版本不兼容如何解决l = images
rbd_store_user = glance
rbd_store_ceph_conf = /etc/ceph/ceph.conf
rbd_store_chunk_size = 8
EOF
cp /etc/kolla/cp config/cinder/ceph.conf /etc/kolla/cackn是什么部门ocep是什么意思nfig/glance/

tee /etc/kolla/config存储诸天/nova/nova-compute.conf << EOF
[DEFAULT]
compute_driverackn是什么部门=libvirt.LibvirtDrive版本号是什么意思r
[libvirt]
images_rbd_pool版本太低无法安装微信咋办=vms
iack怎么读mages_type=rbd
images_rbd_ceph存储卡管理器_conf=/etc/ceph/ceph.conf
rbd_user=nova
disk_cachem存储诸天odes="network=writ部署eback"
inject_password = false
libvirt_inject_partition = -2
inject_key = false
live_migration_flag="VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_部署DEST,VIR_MIGRATE_TUNNELLE部署工作D"
EOF

回到部署还是布署/root目录测试部署

```cd /root
#用下面命令
kolla-ansible -i /root/multinode bootstrap-servers
#测试部署
kolla-ansible -i /root/multinode prechecks
#拉取镜像(注意:拉取镜像失败换dns多试几遍即可拉去成功DNS1=223.6.6.6)
kolla-ansible -i /root/multinode pull
#正式部署
kolla-ans版本过低怎么升级ible -i /root/multinode deploy
#生成admin-openrc.sh
kolla-a测排卵什么时间测排卵最准确nsible -i /root/multinode post-deploy


## 置网络
#拉去下载镜像,配置网络分配地址(浮动ip)
vim /usr/share/kolla-ansible/init-runonce
19ack是什么意思 EXT_NET_CIDR部署的拼音='192.168.89.0/24'
20 EXT_NET_RANGE='stacknowledgingart=192.168.89.180,end=1版本号是什么意思92.168.89.198'
21 EXT_NET_GATEWAY='192.168.89.2'
#然后执行
/usr/share/kolla-ansible/init-ru部署nonce
#报错queue没有这个模块
编辑
vim /usr/lib/python2.7/s部署会议还是布署ite-packages/opens版本英文tack/util部署的拼音s.py
vim /usr/lib/pythonACK2.7/site-pACKackages/厕拍2020openstack/cloud/openstackcloud.py
添加下面的头部西南西
import sys
if sys.version > '3':
import queue
else:
import Queue as queu版本弃子e存储
#报错:已经安装 PyYAML 3.10,但是我们需要PyYAML Found existing installation: PyYAML 3.10 Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. #注:找到现有安装:PyYAML 3.10 无法卸载'PyYAML'。 这版本龙一是一个distutils安装的项目,因此我们无法准确确定哪些文件属于它,这 将导致仅部分卸载。
pip install PyYAML --ignore-installed PyYA存储空间ML  #忽略安装的 PyYAML,迚行安装
pip install python-openstackclient
如果有错误的还请大家指正,我们一起探讨,一起进步。