1. 程式人生 > >CentOS下搭建Teuthology Ceph自動化測試平臺(一)

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 版權宣告:本文為博主原創文章,轉載請附上博文連結!