中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux測試資源代理的方法有哪些

發布時間:2022-01-05 09:29:40 來源:億速云 閱讀:194 作者:iii 欄目:大數據

這篇文章主要介紹“Linux測試資源代理的方法有哪些”,在日常操作中,相信很多人在Linux測試資源代理的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux測試資源代理的方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

10 測試資源代理

這一章討論資源代理的自動測試。測試是開發的非常關鍵的問題,對開發新的資源代理和修改已經有的資源代理都很重要。

10.1 用ocf_tester測試

資源代理倉庫(包括所有的資源代理包)都有一個應用程序叫ocf_tester.這個腳本可以方便地用來測試你的資源代理。

ocf_tester 通常以root用戶調用,像這樣:

1

ocf-tester -n <name> [-o  <param>=  <value> ... ] <resource agent>

  • 是任意的資源名字

  • 你可以通過 -o 選項設置任何你想設置的參數 =

  • 是你資源代理的完整路徑

調用時,ocf-tester執行所有強制的操作(見第五章資源代理行為)

也可以測試可選的操作。可選操作必須符合其聲明的行為,如果沒有實現,ocf-tester會標一個錯誤標記。

重要:

ocf-tester不支持操作的“干運行”,也不產生任何的資源仿制品。其運行都是和實際的資源代理一樣,不論其是否打開和關閉了數據庫,掛載了文件系統,啟動或停止了虛擬機等等。所以,一定要小心。

比如,你可以運行對foobar資源代理使用ocf-tester,如下:

1

2

3

4

5

6

7

8

# ocf-tester -n foobartest \

            -o  superfrobnicate=true \

            -o  datadir=/tmp \

            /home/johndoe/ra-dev/foobar

Beginning  tests for /home/johndoe/ra-dev/foobar...

* Your agent does not support the notify  action (optional)

* Your agent does not support the reload  action (optional)

/home/johndoe/ra-dev/foobar passed  all tests

10.2 用ocft測試

ocft也是一種資源代理測試工具。和ocf-tester不一樣的是,ocft可以自動生成復雜的測試環境,包括包的安裝和任意的shell腳本。

10.2.1 ocft 組件

ocft包含如下組件:

  • 一個測試用例產生器(/usr/sbin/ocf) --- 從測試用例配置文件產生shell腳本

  • 配置文件(/usr/share/resource-agents/ocft/configs)--- 一個配置文件包含環境變量設置和一個資源代理的配置文件

  • 測試腳本保存在/var/lib/resource-agents/ocft/cases/,但是通常不需要去管它們

10.2.2 定制測試環境

ocft修改資源代理的運行時環境,或則是通過改變環境變量(使用OCF定義的接口)或者運行ad-hoc shell腳本,這種腳本可以改變權限或者卸載一個文件系統。

10.2.3 如何測試

你必須了解你要測試的軟件,畫一個所有感興趣的運行場景的草圖,標出所有期望和不期望的條件和資源代理應該出現的運行結果。然后,你需要將這些條件和期望運行結果編碼成ocft的測試用列。這樣運行ocft就簡單了:

1

2

# ocft make <RA>

# ocft test <RA>

頭一個命令產生測試用例腳本,第二個命令運行產生的腳本并檢查輸出。

10.2.4 ocf配置文件語法

有4個一級選型,每個一級選項下面有一個或多個子選項

CONFIG(一級選項)

這個選項是全局的,而且影響每一個測試用例;

  • AgentRoot (子選項)

1

AgentRoot /usr/lib/ocf/resource.d/xxx

正常情況下,我們假設資源代理腳本存在于heartbeat提供者的目錄。使用AgentRoot來測試代理是否分布于另外的目錄。

  • InstallPackage (子選項)

1

InstallPackage package [package2 [...]]

測試需要用到的包,如果包已經安裝了,則不再安裝。

  • HangTimeout(子選項)

1

HangTimeout secs

運行資源代理操作最大的執行時間,如果超過這個時間,操作視為失效。

SETUP-AGENT(一級選項)

1

2

SETUP-AGENT

 bash commands

如果資源代理在測試前需要初始化,可以在這里放置bash代碼。初始化只完成一次。如果需要再次執行初始化,可以刪除/tmp/.[AGENT_NAME]_set標記文件。

CASE (一級選項)

1

CASE "description"

這是測試套件的主要構建塊。每個測試用列都可以在一個CASE選項中描述。一個用例由跟著RunAgent子選項的若個子選項組成。

  • Var (子選項)

1

Var VARIABLE=value

這是為資源代理設置環境變量。通常顯示為OCF_RESKEY_xxx,注意賦值符號“=”左右都沒有空格。

  • Unvar (子選項)

1

Unvar VARIABLE [VARIABLE2 [...]]

移除一個環境變量

  • Include (子選項)

1

Include macro_name

包含宏 macro_name。參考下文CASE-BLOCK。

  • Bash (子選項)

1

Bash bash_codes

這個選項設置操作系統環境變量,你可以插入BASH代碼來定制系統環境。注意不要導致一些不可恢復的結果。

  • BashAtExit (子選項)

1

BashAtExit bash_codes

這個選項恢復操作系統環境,這樣可以正確運行新的測試用例。當然也可以直接使用Bash選項來恢復。然而,如果進程發生錯誤,腳本講不運行恢復的代碼直接退出,這種情況下,應該使用BashAtExit,可以在退出前恢復系統環境。

  • RunAgent (子選項)

1

RunAgent cmd [ret_value]

這個選項運行資源代理。“cmd” 是資源代理的參數,比如"start,status,stop..."。第二個參數是可選的。可用來比較腳本運行結果的返回值和期望值。如果不同,應該可以找到一些bug。

也可以不是本地執行而是遠程執行。使用的協議是ssh,程序在后臺運行。只需要增加在子選項后面加上@就可以了。如下:

1

Bash@192.168.1.100 date

上面的例子會運行date程序。遠程命令都是在后臺運行的。

NB:這些還需要有多謝說明(這個話是說給編寫者的:譯者注)

CASE-BLOCK (一級選項)

CASE-BLOCK選項定義可以被包含在CASE中的宏。所有CASE的子選項都可以使用。

到此,關于“Linux測試資源代理的方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

封开县| 桂林市| 留坝县| 宁都县| 上杭县| 无锡市| 大兴区| 都江堰市| 乐至县| 东山县| 壶关县| 绵竹市| 彩票| 通山县| 八宿县| 金湖县| 建始县| 当阳市| 广汉市| 叙永县| 拉萨市| 宜兰县| 松江区| 准格尔旗| 龙口市| 桐柏县| 衡南县| 淄博市| 凉城县| 泽州县| 曲松县| 梧州市| 白山市| 富平县| 舞阳县| 旅游| 黎平县| 铜山县| 疏附县| 保靖县| 时尚|