Teuthology平台部署手册

本文档详细介绍了Teuthology自动化测试框架的部署步骤,包括Teuthology节点、paddles/pulpito、shaman、chacra的安装配置,以及与test nodes的免密登录设置。涉及软件如Jenkins、postgresql、RabbitMQ、chacra REST API等,通过这些组件实现Ceph测试套件的自动化流程。
摘要由CSDN通过智能技术生成

Teuthology架构

自动化测试框架流程大致如下:


v2-bfdb6248934aabb2c1e18b4c6f3161dd_b.png


软件组成

Teuthology 测试框架所使用到的软件组成如下:

  • Jenkins 持续集成工具
  • teuthology Ceph 测试套件
  • shaman 查询提供软件包的 chacra 节点,水平扩展和调度 chacra 节点
  • chacra 提供不同架构二进制包或文件的管理 REST API 接口

Teuthology部署

部署paddles/pulpito node

安装依赖

yum install git python-dev python-virtualenv postgresql postgresql-contrib postgresql-server-dev-all supervisor gcc epel-release

配置postgresql数据库

初始化数据库

postgresql-setup initdb
systemctl start postgresql //启动数据库
systemctl enable postgresql

postgresql安装并启动后,会自动生成postgres用户

su - postgres //进入该用户
-bash-4.2$ psql //进入数据库
postgres=# \password postgres //更改用户postgres的密码

//按照输出的提示输入密码即可

创建数据库实例paddles、shaman

postgres=#create database paddles; // 创建名为paddles的数据库
postgres=#create database shaman; // 创建名为shaman的数据库
postgres=#create database chacra; // 创建名为chacra的数据库

安装配置paddles

创建paddles用户,并克隆paddles项目

useradd -m paddles -g root -G root //新建用户 paddles
su - paddles //切换到paddles用户下
git clone https://github.com/ceph/paddles.git //克隆该项目
cd paddles
virtualenv ./virtualenv //创建python的沙盒环境
source ./virtualenv/bin/activate //进入沙盒环境

修改配置文件,paddles中有配置文件的例子,只需要复制一份并修改即可。

cp config.py.in config.py

需要修改的内容

job_log_href_templ= 'http://qa-proxy.ceph.com/teuthology/{run_name}/{job_id}/teuthology.log' # 将qa-proxy.ceph.com/teuthology改成自己对应日志服务器的地址
...
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'
}

修改/var/lib/pgsql/data/pg_hba.conf,解决初始化paddles环境时的报错Ident authentication failed。

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 trust

修改完后,保存并退出。然后安装相关依赖,初始化环境。

$pip install -r requirements.txt //安装相关依赖
$python setup.py develop // 初始化环境
$pecan populate config.py// 在postgresql创建paddles需要的表

配置数据迁移工具

$ cp alembic.ini.in alembic.ini
$ vi alembic.ini
    sqlalchemy.url = postgresql://postgres:password@localhost/paddles
$alembic stamp head//触发迁移工具生效

通过supervisord部署paddles服务

#cat /etc/supervisord.d/paddles.ini
[program:paddles]
user=paddles
enviro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值