CentOS下搭建Teuthology Ceph自動化測試平臺(一)
Paddles及資料庫部署
安裝相關軟體
這李只列出一些必用的,每個人使用的環境不一樣,可能還會存在一些包沒有安裝的,搭建環境過程中,注意看輸出的日誌資訊,缺少什麼就安裝。
#yum install python-virtualenv postgresql postgresql-contrib git gcc
- 1
安裝配置postgresql資料庫
這一塊出錯的話,可以自行搜尋如何配置posygresql資料庫,網上的資料還是比較多的,不像後面搭建Teuthology平臺的時候,有些報錯只能看程式碼去改了。
安裝postgresql資料庫的服務端
#yum install postgresql-server postgresql-devel
- 1
初始化資料庫
#postgresql-setup initdb
#systemctl start postgresql //啟動資料庫
#systemctl enable postgresql
- 1
- 2
- 3
資料庫安裝並初始化和啟動完成後,會自動生成一個postgres使用者
#su - postgres //進入該使用者 -bash-4.2$ psql //進入資料庫 postgres=# \password postgres //更改使用者postgres的密碼 //按照輸出的提示輸入密碼即可 Enter new password: //我這裡用的密碼是 : password Enter it again:
- 1
- 2
- 3
- 4
- 5
- 6
給資料庫建立一個數據庫例項,名字就叫paddles。
postgres=#create database paddles; // 建立名為paddles的資料庫
postgres=#\l //檢視資料庫
postgres=#\q // 退出資料庫
-bash-4.2$ exit //退出使用者
- 1
- 2
- 3
- 4
安裝配置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 //進入沙盒環境
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
修改配置檔案,paddles中有配置檔案的例子,只需要複製一份然後基於其修改即可。接著上一步,現在已經進入paddels目錄下,並進入了沙盒環境。
$ cp config.py.in config.py
$ vi config.py
- 1
- 2
- 3
有三個地方需要修改,一個是server配置,一個是job的log地址,一個是資料庫地址。本機node-1的IP是192.168.122.34
第一個修改的地方是:
# Server Specific Configurations
server = {
'port': '8080',
'host': '192.168.122.34'
}
.
.
.
.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
第二個修改的地方是: 這個地方是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
- 1
- 2
第三個修改的地方是,資料庫url
sqlalchemy = {
# You may use SQLite for testing
'url': ' postgresql://postgres:[email protected]/paddles',
# When you set up PostreSQL, it will look more like:
#'url': 'postgresql+psycopg2://USER:[email protected]_HOST/DB_NAME',
'echo': True,
'echo_pool': True,
'pool_recycle': 3600,
'encoding': 'utf-8'
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
修改完成之後,儲存退出。然後安裝相關依賴,初始化環境。
$pip install -r requirements.txt //安裝相關依賴
$python setup.py develop // 初始化環境
$pecan populate config.py// 在postgresql建立paddles需要的表
- 1
- 2
- 3
- 4
錯誤解決
這裡可能會報錯,如果報錯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
- 1
- 2
- 3
- 4
- 5
- 6
儲存退出,並重啟postgresql服務
#systemctl restart postgresql
- 1
回到paddles使用者下,進入paddles目錄,進入沙盒環境,配置資料遷移工具
$ cp alembic.ini.in alembic.ini
$ vi alembic.ini
// sqlalchemy.url = postgresql://postgres:[email protected]/paddles
$alembic stamp head//觸發遷移工具生效
- 1
- 2
- 3
- 4
- 5
測試環境以及配置是否正確,是否可用:
$pecan serve config.py
- 1
--------------------- 作者:SEU_PAN 來源:CSDN 原文:https://blog.csdn.net/CSND_PAN/article/details/81061911?utm_source=copy 版權宣告:本文為博主原創文章,轉載請附上博文連結!