OpenStack (T)部署trove

环境Openstack(T)

          CentOS Linux release 7.9.2009 (Core)

正文:

1.控制节点安装trove软件包

# yum install openstack-trove-guestagent openstack-trove python-troveclient  openstack-trove-ui –y

2.创建数据库,用户,endpint和API端点

#创建数据库
# mysql -u root -p
mysql> CREATE DATABASE trove;
mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'localhost' IDENTIFIED BY 'admin123';     mysql> GRANT ALL PRIVILEGES ON trove.* TO trove@'%' IDENTIFIED BY  'admin123';#创建用户
# openstack user create --domain default --password admin123 trove
# openstack role add --project service --user trove admin
# openstack service create --name trove --description "Database" database#创建endpoint和API端点---tenant_id不用进行改动
# openstack endpoint create --region RegionOne database public http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database internal http:// controller:8779/v1.0/%\(tenant_id\)s
# openstack endpoint create --region RegionOne database admin http:// controller:8779/v1.0/%\(tenant_id\)s

3.去/etc/trove/目录下 编辑如下四个配置文件

[root@controller trove]# cat trove-conductor.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-conductor.log
trove_auth_url = http://controller:5000/v3/ 
notifier_queue_hostname = controller
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_name = admin
rpc_backend = rabbit[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123[database]
connection = mysql://trove:admin123@controller/trove
[root@controller trove]# cat trove.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-api.log
trove_auth_url = http://controller:5000/v3/ 
notifier_queue_hostname = controller
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_name = admin
nova_compute_service_type = compute
cinder_service_type = volumev2
network_driver = trove.network.neutron.NeutronDriver
default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe
auth_strategy = keystone
add_addresses = True
network_label_regex = .*
api_paste_config = api-paste.ini[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123[database]
connection = mysql://trove:admin123@controller/trove[keystone_authtoken]
auth_uri = http://controller:5000/v3/
auth_url = http://controller:5000/v3/
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = trove
password = admin123
[root@controller trove]# cat trove-guestagent.conf
[DEFAULT]
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_user = admin
nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8
trove_auth_url = http://controller:5000/v3/
swift_url = http://controller:8080/v1/AUTH_06d5998c61e64c0d8fbcfd4e961ecee8
os_region_name = RegionOne
swift_service_type = object-store
log_file = trove-guestagent.log
rabbit_password = admin123
rabbit_host = 192.168.222.10
rabbit_userid = openstack
rabbit_port = 5672[oslo_messaging_rabbit]
rabbit_host = 192.168.222.10
rabbit_userid = openstack
rabbit_password = admin123
[root@controller trove]# cat trove-taskmanager.conf
[DEFAULT]
log_dir = /var/log/trove
log_file = trove-taskmanager.log
trove_auth_url = http://controller:5000/v3/
nova_compute_url = http://controller:8774/v2.1
notifier_queue_hostname = controller
rpc_backend = rabbit
nova_proxy_admin_user = admin
nova_proxy_admin_pass = admin123
nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8
taskmanager_manager = trove.taskmanager.manager.Manager
notification_driver = messagingv2
network_driver = trove.network.neutron.NeutronDriver
default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe
network_label_regex = .*
guest_config = /etc/trove/trove-guestagent.conf
guest_info = guest_info.conf
injected_config_location = /etc/trove/conf.d
cloudinit_location = /etc/trove/cloudinit[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = admin123[database]
connection = mysql://trove:admin123@controller/trove 

上述配置文件,host 密码 网络ID project_ID  auth_url 该替换的都要进行替换

下面详细说几个地方:

3.1.管理员项目的租户ID:

nova_proxy_admin_tenant_id = 06d5998c61e64c0d8fbcfd4e961ecee8



3.2.你要使用的网络ID

default_neutron_networks = c44901e1-39a1-4336-8417-9de533a3f0fe

3. 3.获取 Trove 认证 URL 

trove_auth_url = http://controller:5000/v3/

3.4.获取 Swift 服务 URL
swift_url = http://controller:8080/v1/AUTH_06d5998c61e64c0d8fbcfd4e961ecee8

4.同步数据库

# su -s /bin/sh -c "trove-manage db_sync" trove

执行完该命令如果出现错误,Command failed, please check log for more info

查看位于 /var/log/trove/下的日志文件

解决:

这个错误意味着在执行 `trove-manage db_sync` 命令时,Python 缺少 MySQL 数据库驱动程序。通常情况下,Trove 使用 SQLAlchemy 来与数据库进行交互,而 SQLAlchemy 又需要特定的数据库驱动程序来连接到数据库。在这种情况下,错误消息指出缺少名为 `MySQLdb` 的 Python 模块,这是 MySQL 数据库的一个常用驱动程序。要解决这个问题,你需要安装适用于 Python 2.7 的 MySQL 数据库驱动程序。如果你使用的是 Python 2.7,可以尝试使用以下命令来安装 `MySQLdb`:pip install MySQL-python (注意:没有pip 就 yum install )或者,如果你使用的是 Python 3,可以安装 `mysqlclient`:
pip install mysqlclient安装完成后,再次尝试运行 `trove-manage db_sync` 命令,应该就不会再出现缺少 MySQLdb 模块的错误了。

5.启动服务

# service httpd restart
# systemctl enable openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service
# systemctl restart openstack-trove-api.service openstack-trove-taskmanager.service openstack-trove-conductor.service

OK!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++11 设计模式3. 工厂方法模式

简单工厂模式的遗留问题 //从上面的代码可以看到,简单工厂模式确实实现了new 出来具体对象, 和 业务逻辑的分离, //但是不符合 "开闭原则" //"开闭原则"说的是代码扩展性问题——对扩展开放,对修改关…

如何在OceanBase v4.2 中快速生成随机数据

在使用传统数据库如 MySQL 和 Oracle 时,由于缺乏多样化的随机数据生成方案,或者实现成本过高,构造随机数据的开发成本受到了影响。OceanBase在老版本中虽然有相应的解决方案,但语法复杂和性能较差等问题仍然存在。 现在&#xf…

【漏洞复现】润乾报表平台 InputServlet接口处存在任意文件上传漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

车内AR互动娱乐解决方案,打造沉浸式智能座舱体验

美摄科技凭借其卓越的创新能力,为企业带来了革命性的车内AR互动娱乐解决方案。该方案凭借自研的AI检测和渲染引擎,打造出逼真的数字形象,不仅丰富了车机娱乐内容,更提升了乘客与车辆的互动体验,让每一次出行都成为一场…

C语言 循环控制——while和do-while语句

目录 whiel语句 do-while语句 while与do-while的区别 计数控制的循环 ​编辑标记控制的循环 whiel语句 do-while语句 while与do-while的区别 计数控制的循环 标记控制的循环

怎么构建临床知识图谱?

怎么构建临床知识图谱? 构建临床知识图谱传统临床指南的局限性决策的不确定性和个体差异构建真实临床知识图谱构建真实世界的临床事件图谱基于书本抽取的知识来自哪些书本?如何保证这些知识是最新的知识?如何不断融入最新的医学研究进展,从而…

挖掘未来:私有LTE/5G网络驱动智慧矿山的自动化

私有LTE/5G网络为世界上一些最偏远的角落提供无线连接。如果没有无线通信网络,各行业就无法满足增加产量、降低运营成本和减少环境破坏的需求。 在本案例研究中,我们着眼于自动化如何改变无线网络的动态。智慧矿山要求运营商无缝集成多个系统和应用程序…

探索Web3的奇迹:数字时代的新前景

在数字化时代的潮流中,我们不可避免地迎来了一个全新的篇章——Web3时代的到来。在这个时代中,区块链技术作为数字化世界的核心,正在重塑着我们的生活方式、经济模式以及社会结构。在Web3时代,我们将目睹着一个以去中心化、透明化…

32.WEB渗透测试-数据传输与加解密(6)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:31.WEB渗透测试-数据传输与加解密(5) 关于discuz3.5的源码内容和…

小型社区与园区如何选购合适的停车场道闸系统?需注意什么

小型社区和园区停车场通常面临着空间有限、预算有限以及车流量相对较小的挑战。这些特点要求停车场的管理系统既要经济实用,又要能够满足基本的车辆管理需求,如安全性、通行效率和便捷性。针对这些特点,选择合适的停车道闸系统成为提高管理效…

天诚物联网锁亮相福州南京沈阳西安展会,与您见证AIoT行业发展

目光灼灼,步履不辍。自4月1日第七届CCLE中国教育后勤展览会一别,全场景AIoT解决方案服务商——江苏新巢天诚智能技术有限公司(以下简称“天诚”)打造的校园物联网锁软硬一体化解决方案获得了诸多准意向代理商、集成商同仁们的咨询…

2011年认证杯SPSSPRO杯数学建模B题(第二阶段)生物多样性的评估全过程文档及程序

2011年认证杯SPSSPRO杯数学建模 B题 生物多样性的评估 原题再现: 2010 年是联合国大会确定的国际生物多样性年。保护地球上的生物多样性已经越来越被人类社会所关注,相关的大规模科研和考察计划也层出不穷。为了更好地建立国际交流与专家间的合作&…

【网络安全】网络安全,你我同行——网络安全指南请查收~

网络是一把双刃剑,在给我们带来便捷生活的同时,也埋下了种种安全隐患。作为网络的亲身参与者,我们应该主动学习网络安全知识。快让我们一起来看看,本期安全小讲堂带来了哪些网络安全知识吧~ 01 常见网络安全隐患 网络安全问题无…

Docker镜像,什么是Docker镜像,Docker基本常用命令

docker镜像 1.1什么是镜像,镜像基础 1.1.1 镜像的简介 镜像是一种轻量级,可执行的独立软件包,也可以说是一个精简的操作系统。镜像中包含应用软件及应用软件的运行环境,具体来说镜像包含运行某个软件所需的所有内容,…

记一次逻辑漏洞拿下目标站点

开局某平台登录框 可做尝试手法 1、弱口令 2、万能密码 3、复杂密码逻辑绕过 4、登录框逻辑绕过 5、登录框注入 正文 某通用平台,系xxx科技公司开发全套模板通用系统,演示站踩点弱口令,这里主要梳理踩点思路 1、某接口未授权访问读系统用户…

前端Vue自定义勾选协议组件的开发与应用

摘要: 随着前端技术的不断发展,用户体验成为了软件开发中的关键要素。在登录、注册等场景中,勾选协议是常见的需求。本文旨在介绍一款基于 Vue.js 的自定义勾选协议组件的开发与应用,该组件适用于多种场景,并且具备良…

无代理备份ESXi虚拟机

目前,虚拟机主要采用映像级备份方式,因为这样才能保证虚拟机数据的完整性,尤其是对于像VMware ESXi这样的一类虚拟机管理程序上的虚拟机。除此之外,还有一种文件级备份方法,允许颗粒备份和还原。我们区分这两种备份方法…

基于springboot实现课程答疑管理系统项目【项目源码+论文说明】

基于springboot实现课程答疑管理系统演示 摘要 随着信息互联网信息的飞速发展,无纸化作业变成了一种趋势,针对这个问题开发一个专门适应师生交流形式的网站。本文介绍了课程答疑系统的开发全过程。通过分析企业对于课程答疑系统的需求,创建了…

vue控制台报错Duplicate keys detected: ‘xxxxx‘. This may cause an update error.解决方案

截图报错: 错误分析: 1、提示 Duplicate keys detected ,翻译为:检测到重复的密钥 2、检查 v-for 代码,具体如下: 发现问题:v-for中的key是一个相同的值 解决问题 因此处使用的是测试数据&…

论如何在小程序展示超链接在线网页

在工作中遇到一个需求&#xff0c;就是在小程序中展示超链接网页&#xff0c;起初我是直接使用web-view标签 <web-view src"https://www.baidu.com/"/>但是web-view只能在开发阶段手机上展示&#xff0c;一旦小程序发布线上&#xff0c;就会出现下面这种情况“…