CentOS下搭建Teuthology Ceph自动化测试平台(二)

Paddles及数据库部署

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

安装配置postgresql数据库

这一块出错的话,可以自行搜索如何配置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 //退出用户

安装配置PADDLES

这台机器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/

你可能感兴趣的:(CI/CD,Ceph,Teuthology,Teuthology——,Ceph的自动化测试平台)