本發(fā)明涉及測試,特別是涉及一種升降級測試方法、裝置、電子設(shè)備及非易失性存儲介質(zhì)。
背景技術(shù):
1、為確保存儲產(chǎn)品處于最新狀態(tài),需要對存儲系統(tǒng)不斷進行在線升級。在存儲產(chǎn)品在線升級過程中,反復測試升降級是測試版本安裝可靠性的手段。
2、相關(guān)技術(shù)在進行反復升降級測試時,需要測試人員反復地模擬版本升級,同時還需要模擬應(yīng)用構(gòu)建資源,對比升級后所建資源是否完整無異常,過程繁瑣,測試效率低。
3、鑒于此,提高反復升降級測試效率,是本領(lǐng)域技術(shù)人員需要解決的技術(shù)問題。
4、需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強對本技術(shù)的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種升降級測試方法、裝置、電子設(shè)備及非易失性存儲介質(zhì),能夠釋放人力,有效提高反復升降級測試效率。
2、為解決上述技術(shù)問題,本發(fā)明提供以下技術(shù)方案:
3、本發(fā)明一方面提供了一種升降級測試方法,包括:
4、當接收到測試指令,讀取測試配置信息文件;所述測試配置信息文件至少包括存儲系統(tǒng)配置信息及版本升降級信息;所述版本升降級信息包括版本升級次數(shù)和資源構(gòu)建信息;
5、將所述測試配置信息文件的存儲系統(tǒng)配置信息及版本升降級信息對應(yīng)填充至待測設(shè)備的主機公共資源結(jié)構(gòu)體及升降級版本信息結(jié)構(gòu)體;
6、基于所述主機公共資源結(jié)構(gòu)體登錄所述待測設(shè)備,并獲取所述待測設(shè)備的當前主機版本;
7、當未達到所述版本升級次數(shù),通過比較所述當前主機版本、待測升級版本、待測降級版本確定觸發(fā)升級子流程還是降級子流程,并根據(jù)所述升降級版本信息結(jié)構(gòu)體和所述主機公共資源結(jié)構(gòu)體對所述待測設(shè)備執(zhí)行相應(yīng)的子流程。
8、在第一種示例性的實施方式中,所述測試配置信息文件包括多個待測設(shè)備,所述讀取測試配置信息文件之后,還包括:
9、獲取所述測試配置信息文件各行的起始位置;
10、統(tǒng)計起始位置在預(yù)設(shè)位置處的行數(shù),以確定待測設(shè)備總數(shù);
11、基于所述待測設(shè)備總數(shù)創(chuàng)建相應(yīng)數(shù)量的測試進程,以對各待測設(shè)備同時進行反復升降級測試。
12、在第二種示例性的實施方式中,所述將所述測試配置信息文件的存儲系統(tǒng)配置信息及版本升降級信息對應(yīng)填充至待測設(shè)備的主機公共資源結(jié)構(gòu)體及升降級版本信息結(jié)構(gòu)體,包括:
13、將從所述存儲系統(tǒng)配置信息讀取的集群地址、集群密碼、節(jié)點地址、節(jié)點密碼,填充至所述主機公共資源結(jié)構(gòu)體,將從所述版本升降級信息中讀取的文件服務(wù)器登錄信息、安裝包下載地址、版本升級次數(shù)、待測升級版本、待測降級版本填充至所述主機公共資源結(jié)構(gòu)體;
14、將從所述版本升降級信息中讀取的版本文件名、檢查點指令及升級時延值填充至所述升級版本信息結(jié)構(gòu)體;
15、將從所述版本升降級信息中讀取的版本文件名、資源設(shè)置信息及降級時延值填充至所述降級版本信息結(jié)構(gòu)體。
16、在第三種示例性的實施方式中,所述通過比較所述當前主機版本、待測升級版本、待測降級版本確定觸發(fā)升級子流程還是降級子流程,并根據(jù)所述升降級版本信息結(jié)構(gòu)體和所述主機公共資源結(jié)構(gòu)體對所述待測設(shè)備執(zhí)行相應(yīng)的子流程,包括:
17、當所述當前主機版本與待測升級版本一致,或者所述當前主機版本與待測升級版本、待測降級版本均不一致,則觸發(fā)降級子流程;
18、基于所述主機公共資源結(jié)構(gòu)體確定降級安裝包,并灌裝至待測設(shè)備的各節(jié)點;
19、當所述降級安裝包成功安裝至所述待測設(shè)備的各節(jié)點,且所述待測設(shè)備的各節(jié)點的節(jié)點狀態(tài)均為備選狀態(tài),則從各節(jié)點中選擇主節(jié)點,并在所述主節(jié)點上創(chuàng)建集群;
20、當集群創(chuàng)建完畢,則基于所述升降級版本信息結(jié)構(gòu)體的資源設(shè)置信息為所述待測設(shè)備創(chuàng)建相應(yīng)資源。
21、在第四種示例性的實施方式中,所述灌裝至待測設(shè)備的各節(jié)點,包括:
22、將從所述主機公共資源結(jié)構(gòu)體讀取的安裝包下載地址和待測降級版本進行拼接,并根據(jù)拼接結(jié)果查詢是否存在待測降級版本;
23、當存在所述待測降級版本,則拆分集群,根據(jù)所述待測設(shè)備的節(jié)點總數(shù)確定安裝所述待測降級版本的設(shè)備總數(shù),依次對各節(jié)點安裝降級安裝包,直至安裝次數(shù)達到設(shè)備總數(shù);
24、其中,單節(jié)點的降級安裝包的安裝過程為:
25、將所述待測降級版本對應(yīng)的降級安裝包存儲至所述待測設(shè)備的目標節(jié)點的預(yù)設(shè)文件包安裝位置,并將所述降級安裝包安裝至所述目標節(jié)點;
26、對所述目標節(jié)點執(zhí)行因特網(wǎng)包探索器命令,若所述目標節(jié)點的命令執(zhí)行后狀態(tài)為通,則遠程登錄所述目標節(jié)點,并當確定所述當前節(jié)點的版本與所述待測降級版本一致,則對下一個節(jié)點執(zhí)行安裝包安裝流程;
27、若所述目標節(jié)點的命令執(zhí)行后狀態(tài)為不通,則在第一預(yù)設(shè)休眠時間結(jié)束后,再次向所述目標節(jié)點執(zhí)行因特網(wǎng)包探索器命令,在降級時延內(nèi)循環(huán)執(zhí)行直至所述目標節(jié)點的命令執(zhí)行后狀態(tài)為通。
28、在第五種示例性的實施方式中,所述通過比較所述當前主機版本、待測升級版本、待測降級版本確定觸發(fā)升級子流程還是降級子流程,并根據(jù)所述升降級版本信息結(jié)構(gòu)體和所述主機公共資源結(jié)構(gòu)體對所述待測設(shè)備執(zhí)行相應(yīng)的子流程,包括:
29、當所述當前主機版本與待測降級版本一致,則觸發(fā)升級子流程;
30、將從所述主機公共資源結(jié)構(gòu)體讀取的安裝包下載地址和待測升級版本進行拼接,并根據(jù)拼接結(jié)果查詢是否存在待測升級版本;
31、當存在所述待測升級版本,則根據(jù)所述待測設(shè)備的節(jié)點總數(shù)確定安裝所述待測升級版本的設(shè)備總數(shù);
32、啟動安裝次數(shù)計時器,將所述待測升級版本對應(yīng)的升級安裝包從文件服務(wù)器拷貝至所述待測設(shè)備的其中一個當前節(jié)點的預(yù)設(shè)安裝包存儲位置,遠程登錄所述當前節(jié)點,并將所述升級安裝包在線安裝至所述目標節(jié)點,完成對所述當前節(jié)點的升級安裝包的安裝操作,并對所述待測設(shè)備的下一個節(jié)點進行升級安裝包的安裝,循環(huán)執(zhí)行,直至安裝次數(shù)達到所述設(shè)備總數(shù);
33、登錄所述主機公共資源結(jié)構(gòu)體的集群地址,執(zhí)行節(jié)點狀態(tài)查詢指令,同時統(tǒng)計處于有效狀態(tài)的節(jié)點總數(shù);若處于有效狀態(tài)的節(jié)點總數(shù)與所述設(shè)備總數(shù)相同,則完成所述待測設(shè)備的升級安裝包的安裝過程;
34、若處于有效狀態(tài)的節(jié)點總數(shù)小于所述設(shè)備總數(shù),則啟動延遲時間計時,并在第二預(yù)設(shè)休眠時間到達后,再次統(tǒng)計處于有效狀態(tài)的節(jié)點總數(shù),若處于有效狀態(tài)的節(jié)點總數(shù)小于所述設(shè)備總數(shù),且當前延遲時間小于升級時延,則繼續(xù)第二預(yù)設(shè)休眠時間到達后,再次統(tǒng)計處于有效狀態(tài)的節(jié)點總數(shù)時間,在當前延遲時間小于升級時延時,循環(huán)執(zhí)行直至處于有效狀態(tài)的節(jié)點總數(shù)與所述設(shè)備總數(shù)相同。在第六種示例性的實施方式中,所述根據(jù)所述升降級版本信息結(jié)構(gòu)體和所述主機公共資源結(jié)構(gòu)體對所述待測設(shè)備執(zhí)行相應(yīng)的子流程之后,還包括:
35、若傳參參數(shù)類型為升級參數(shù),則更新當前版本升級次數(shù),同時檢查集群信息,按照所述升級版本信息結(jié)構(gòu)體中的檢查點指令檢查所述待測設(shè)備的資源信息是否正常;檢查所述待測設(shè)備的版本信息是否為所述待測升級版本,并檢查日志信息是否包含告警或者錯誤碼等信息;
36、若傳參參數(shù)類型為降級參數(shù),則檢查所述待測設(shè)備的版本信息是否為所述待測降級版本,并檢查日志信息是否包含告警或者錯誤碼等信息。
37、本發(fā)明另一方面提供了一種升降級測試裝置,包括:
38、文件讀取模塊,用于當接收到測試指令,讀取測試配置信息文件;所述測試配置信息文件至少包括存儲系統(tǒng)配置信息及版本升降級信息;所述版本升降級信息包括版本升級次數(shù)及資源構(gòu)建信息;
39、數(shù)據(jù)處理模塊,用于將所述測試配置信息文件的存儲系統(tǒng)配置信息及版本升降級信息對應(yīng)填充至待測設(shè)備的主機公共資源結(jié)構(gòu)體及升降級版本信息結(jié)構(gòu)體;
40、版本獲取模塊,用于基于所述主機公共資源結(jié)構(gòu)體登錄所述待測設(shè)備,并獲取所述待測設(shè)備的當前主機版本;
41、升降級自動測試模塊,用于當未達到所述版本升級次數(shù),通過比較所述當前主機版本、待測升級版本、待測降級版本確定觸發(fā)升級子流程還是降級子流程,并根據(jù)所述升降級版本信息結(jié)構(gòu)體和所述主機公共資源結(jié)構(gòu)體對所述待測設(shè)備執(zhí)行相應(yīng)的子流程。
42、本發(fā)明還提供了一種電子設(shè)備,包括處理器,所述處理器用于執(zhí)行存儲器中存儲的計算機程序時實現(xiàn)如前任一項所述升降級測試方法的步驟。
43、本發(fā)明最后還提供了一種非易失性存儲介質(zhì),所述非易失性存儲介質(zhì)上存儲有計算機程序,所述計算機程序被處理器執(zhí)行時實現(xiàn)如前任一項所述升降級測試方法的步驟。
44、本發(fā)明提供的技術(shù)方案的優(yōu)點在于,將待測設(shè)備連接信息、待升級版本、降級版本,需要構(gòu)建的資源、檢查點以及檢查方式、升降級次數(shù)等信息配置成測試配置信息文件,自動檢測當前版本與待升降版本關(guān)系,并觸發(fā)對非待測升降版本進行自動升級、自動灌裝降級版本后進行升級以及資源的構(gòu)建,實現(xiàn)全自動化的反復升降級測試,釋放人力操作,有效提升反復升降級測試效率。
45、此外,本發(fā)明還針對升降級測試方法提供了相應(yīng)的實現(xiàn)裝置、電子設(shè)備及非易失性存儲介質(zhì),進一步使得所述方法更具有實用性,所述裝置、電子設(shè)備及非易失性存儲介質(zhì)具有相應(yīng)的優(yōu)點。
46、上面已提及的技術(shù)特征、下面將要提及的技術(shù)特征以及單獨地在附圖中顯示的技術(shù)特征可以任意地相互組合,只要被組合的技術(shù)特征不是相互矛盾的。所有的可行的特征組合都是在本文中明確地記載的技術(shù)內(nèi)容。在同一個語句中包含的多個分特征之中的任一個分特征可以獨立地被應(yīng)用,而不必一定與其他分特征一起被應(yīng)用。應(yīng)當理解的是,以上的一般描述和后文的細節(jié)描述僅是示例性的,并不能限制本發(fā)明。