CentOS下搭建Teuthology Ceph自动化测试平台(一)
CentOS下搭建Teuthology Ceph自动化测试平台(二)
CentOS下搭建Teuthology Ceph自动化测试平台(三)
CentOS下搭建Teuthology Ceph自动化测试平台(四)
CentOS下搭建Teuthology Ceph自动化测试平台(五)
Teuthology节点的部署——Ceph自动化测试平台(六)
Teuthology的使用与Ceph自动化测试用例的编写(一)
Teuthology的使用与Ceph自动化测试用例的编写(二)
这小节只介绍
Paddles的安装以及数据库的部署。相关基础介绍,请参看CentOS下搭建Teuthology Ceph自动化测试平台(一)
选择一台虚拟机(比如叫node-1),这台虚拟机将会安装数据库以及paddles、pulpito、supervisor等。
这李只列出一些必用的,每个人使用的环境不一样,可能还会存在一些包没有安装的,搭建环境过程中,注意看输出的日志信息,缺少什么就安装。
#yum install python-virtualenv postgresql postgresql-contrib git gcc
这一块出错的话,可以自行搜索如何配置posygresql数据库,网上的资料还是比较多的,不像后面搭建Teuthology平台的时候,有些报错只能看代码去改了。
安装postgresql数据库的服务端
#yum install postgresql-server postgresql-devel
初始化数据库
#postgresql-setup initdb
#systemctl start postgresql //启动数据库
#systemctl enable postgresql
数据库安装并初始化和启动完成后,会自动生成一个postgres用户
#su - postgres //进入该用户
-bash-4.2$ psql //进入数据库
postgres=# \password postgres //更改用户postgres的密码
//按照输出的提示输入密码即可
Enter new password: //我这里用的密码是 : password
Enter it again:
给数据库创建一个数据库实例,名字就叫paddles。
postgres=#create database paddles; // 创建名为paddles的数据库
postgres=#\l //查看数据库
postgres=#\q // 退出数据库
-bash-4.2$ exit //退出用户
这台机器node-1不仅要安装paddles还要安装pulpito,这两个最好新建一个用户来安装。上一步退出postgres之后回到了root用户。首先创建一个paddles用户,并克隆paddles项目到本地,然后创建沙盒环境。
#useradd -m paddles -g root -G root //新建用户 paddles
#echo paddles:password | chpasswd // 修改paddles的密码为password
#su - paddles //切换到paddles用户下
$sudo git clone https://github.com/ceph/paddles.git //克隆该项目
$cd paddles
$ virtualenv ./virtualenv //创建python的沙盒环境
$ source ./virtualenv/bin/activate //进入沙盒环境
修改配置文件,paddles中有配置文件的例子,只需要复制一份然后基于其修改即可。接着上一步,现在已经进入paddels目录下,并进入了沙盒环境。
$ cp config.py.in config.py
$ vi config.py
有三个地方需要修改,一个是server配置,一个是job的log地址,一个是数据库地址。本机node-1的IP是192.168.122.34
第一个修改的地方是:
# Server Specific Configurations
server = {
'port': '8080',
'host': '192.168.122.34'
}
.
.
.
.
第二个修改的地方是:
这个地方是job运行之后的log连接到的地址,点击log就会跳转到这个地址,将qa-proxy.ceph.com/teuthology改成 自己对应日志服务器的地址,这里log服务器还没搭建,我们之后回来修改,现在先不改。记住回来!!
job_log_href_templ= 'http://qa-proxy.ceph.com/teuthology/{run_name}/{job_id}/teuthology.log' # noqa
第三个修改的地方是,数据库url
sqlalchemy = {
# You may use SQLite for testing
'url': ' postgresql://postgres:password@localhost/paddles',
# When you set up PostreSQL, it will look more like:
#'url': 'postgresql+psycopg2://USER:PASSWORD@DB_HOST/DB_NAME',
'echo': True,
'echo_pool': True,
'pool_recycle': 3600,
'encoding': 'utf-8'
}
修改完成之后,保存退出。然后安装相关依赖,初始化环境。
$pip install -r requirements.txt //安装相关依赖
$python setup.py develop // 初始化环境
$pecan populate config.py// 在postgresql创建paddles需要的表
这里可能会报错,如果报错Ident authentication failed,那么大多数情况下是你的pg_hba.config 没有配置好。返回root用户下去更改该文件,或者配置sudoer让paddles拥有root权限。
#vi /var/lib/pgsql/data/pg_hba.config
//更改配置为
local all all trust
local all all 127.0.0.1/32 trust
local all all ::1/128 trust
保存退出,并重启postgresql服务
#systemctl restart postgresql
回到paddles用户下,进入paddles目录,进入沙盒环境,配置数据迁移工具
$ cp alembic.ini.in alembic.ini
$ vi alembic.ini
// sqlalchemy.url = postgresql://postgres:password@localhost/paddles
$alembic stamp head//触发迁移工具生效
测试环境以及配置是否正确,是否可用:
$pecan serve config.py
打开浏览器,输入网址 http://192.168.122.34:8080/
或者 在别的终端下直接curl http://192.168.122.34:8080/