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.rhkb.cn/news/309597.html

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

相关文章

【Go语言快速上手(一)】 初识Go语言

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:Go语言专栏⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多Go语言知识   🔝🔝 Go快速上手 1. 前言2. Go语言简介(为…

[Spring Cloud] (3)gateway令牌token拦截器

文章目录 集成redisNacos配置增加 redis配置配置pomredis配置RedisConfigredis序列化工具FastJson2JsonRedisSerializer测试 令牌校验拦截器nacos配置拦截器代码微服务登录接口实现 最终效果-登录接口与数据接口 本文gateway与微服务已开源到gitee 杉极简/gateway网关阶段学习 …

陪玩小程序开发 运营级别陪玩成品搭建 支持二开源码交付 游戏陪玩系统,游戏陪玩源码,游戏陪玩语音社交源码

陪玩系统是一种新兴的服务模式,主要通过线上预约和线下社交、陪伴、助娱、分享、指导等方式为用户提供服务。这种服务模式适用于多种场景,包括家庭陪护、吃饭陪聊、景点伴游、网游陪练、健身指导、线下桌游、酒吧K歌、逛街观影、剧本密室、聚会轰趴、美食…

三年了,期待下一个三年

第一个三年 时间好快,距离我发布我第一篇文章都已经三个年头了。 转眼也从大一新生变成了大四打工人。 在平台上发布博客,分享自己的项目、学习思路、解决的bug都带给我很多收获。 平台上的粉丝,阅读量等,也让我的简历更加出彩。…

绝地求生:杜卡迪来了,这些摩托车技巧不学一下吗?

摩托车在远古版本和现在完全不一样,虽然容易翻车造就了一批玩家“摩托杀手”的外号,但是速度可比今天快多了。 后来在蓝洞的削弱了其加速度,虽然资料上写着最高时速155km/h,但是平时游戏中一般只能拉到110~120km/h。这里写一点摩托…

最新版守约者二级域名分发系统

主要功能 二级域名管理: 我们的系统提供全面的二级域名管理服务,让您轻松管理和配置二级域名。 域名分发:利用我们先进的域名分发技术,您可以自动化地分配和管理域名,确保每个用户或客户都能及时获得所需的域名资源。…

Ceph [OSDI‘06]论文阅读笔记

原论文:Ceph: A Scalable, High-Performance Distributed File System (OSDI’06) Ceph简介及关键技术要点 Ceph是一个高性能、可扩展的分布式文件系统,旨在提供出色的性能、可靠性和可扩展性。为了最大化数据和元数据管理的分离,它使用了一…

网络篇06 | 应用层 自定义协议

网络篇06 | 应用层 自定义协议 01 固定协议设计(简化版)1)总体设计2)值设计 02 可变协议设计(进阶版)1)固定头(Fixed Header)2)可变头(Variable H…

5、LMDeploy 量化部署 LLMVLM实战(homework)

基础作业(结营必做) 完成以下任务,并将实现过程记录截图: 配置lmdeploy运行环境 由于环境依赖项存在torch,下载过程可能比较缓慢。InternStudio上提供了快速创建conda环境的方法。打开命令行终端,创建一…

简单认识Git(dirsearch、githack下载),git泄露(ctfhub)

目录 dirsearch下载地址: githack下载(一次不成功可多试几次) 一、什么是Git 1.git结构 2.git常用命令及示例 3.Git泄露原理 二、Git泄露 1.Log 2.Stash 3.Index 工具准备:dirsearch、githack dirsearch下载地址: GitHub - mauroso…

数字乡村创新实践探索农业现代化与乡村振兴新路径:科技赋能农村全面振兴与农民幸福新篇章

随着信息技术的飞速发展,数字乡村成为推动农业现代化与乡村振兴的重要战略举措。科技赋能下的数字乡村创新实践,不仅提升了农业生产的智能化水平,也为乡村治理和农民生活带来了翻天覆地的变化。本文旨在探讨数字乡村创新实践在农业现代化与乡…

OpenCV的查找命中或未命中

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV4.9更多形态转换 下一篇:OpenCV系列文章目录(持续更新中......) 目标 在本教程中,您将学习如何使用 Hit-or-Miss 转换(也称为 Hit-and-Miss 转…

JavaScript知识点 --javaweb学习笔记

什么是Javascript? JavaScript(简称:JS)是一门跨平台、面向对象的脚本语言。是用来控制网页行为的,它能使网页可交互JavaScript 和Java 是完全不同的语言,不论是概念还是设计。但是基础语法类似JavaScript在1995 年由 Brendan Eich 发明,并…

护眼台灯什么品牌好?推荐目前比较好用的护眼台灯

现在孩子的近视率很高,尤其是儿童青少年居多,上了小学作业都变多了,很多孩子经常需要学习到很晚,不过家长们在重视教育质量的同时,有注意到孩子学习时的光线适合学习吗?用眼过度和光线不合适都容易导致近视…

Java快速入门系列-9(Spring框架与Spring Boot —— 深度探索及实践指南)

第九章:Spring框架与Spring Boot —— 深度探索及实践指南 9.1 Spring框架概述9.2 Spring IoC容器9.3 Spring AOP9.4 Spring MVC9.5 Spring Data JPA/Hibernate9.6 Spring Boot快速入门与核心特性9.7 Spring Boot的自动配置与启动流程详解9.8 创建RESTful服务与数据库交互实践…

OpenHarmony南向开发案例:【智能垃圾桶】

样例简介 智能垃圾桶可以通过数字管家应用来监测垃圾桶当前可用容量,提醒主人及时处理垃圾;通过日程管家可以实现和其他智能设备联动。 核心组件位置功能距离传感器置于垃圾桶盖内侧感应垃圾量红外传感器置于垃圾桶前端感应是否有人靠近光敏电阻开发板…

0.25W 3KVDC 隔离单、双输出 DC/DC SMD 型电源模块 ——TPVT-W2 系列

TPVT-W2系列是一款标准的表面贴装电源模块,完全实现采用全自动贴片机来组装和满足回流焊工艺,大大提高产能和降低人工费用。此系列产品小,效率高,低输出纹波及提供3000V以上的直流电压隔离,SMD封装。

第一节:什么是操作系统

什么是操作系统 一、一台计算机的组成部分1、计算机能干啥2、谈谈计算机硬件 二、什么是操作系统三、学习操作系统的层次 一、一台计算机的组成部分 如下图所示: 这就是就是构成一台计算机的组成部分 1、计算机能干啥 ∙ \bullet ∙计算机是我们专业吃饭的家伙&a…

微信小程序公共组件封装使用

1.在components目录下创建公共组件,以navbar为例 2.完成组件功能 3.调用,如果很多地方都会用到,建议放全局,如果不是则放在需要引用的文件中 3.1全局引用,在app.json做全局引用配置 3.2局部引用,在需要引入…

密码学与密码安全:理论与实践

title: 密码学与密码安全:理论与实践 date: 2024/4/10 21:22:31 updated: 2024/4/10 21:22:31 tags: 密码学加密算法安全协议密码分析密码安全实际应用未来发展 第一章:密码学基础 1.1 密码学概述 密码学是研究如何保护信息安全的学科,旨在…