The Design of Label Mechanism of Test Case
The Label of test case is used to filter case conveniently.
The Usage
The labels can be added into test case by below way:
start:test_case_name
description: The description of current case
os:Linux
hcp:openbmc
label:label1,label2,label3,.....
.....
end
Note: The label can not include character +
,-
and |
.
Suppose in future developer/FVT can filter expected case list by below way:
# xcattst -s label1+label2|label3+label4|label5-label6
For reducing complexity, the filter expression just support below kinds of searching.
|
: low priority. Union filter.expression1|expression2
means the case either satisfies expression1 or satisfies expression2. One expression looks likelabel1+label2-label3
.+
: high priority.label1+label2
means the case need include label1 and label2 at same time.-
: high priority.label1-label2
means the case need include label1 but not include label2.
Label Mechanism
There are two primary dimensions of labels, vertical and horizontal Dimension.
Vertical Dimension Labels
Vertical dimension labels decides the running order of cases. As long as follow below order, anyone can finish a whole test against xCAT based on a brand new environment.
level | Label name | case example |
---|---|---|
1 | xcat_install | install_xCAT_on_rhels_sles |
2 | mn_only | lsdef_*,xcatd_restart |
3 | sn_diskful | SN_setup_case |
sn_diskless | SN_diskless_setup_case | |
4 | flat_cn_diskful | reg_linux_diskfull_installation_flat |
flat_cn_diskless | reg_linux_diskless_installation_flat | |
hierarchy_cn_diskful | reg_linux_diskfull_installation_hierarchy | |
hierarchy_cn_diskless | reg_linux_diskless_installation_hierarchy | |
5 | cn_bmc_ready | rpower_* |
cn_os_ready | xdcp_* | |
6 | others | nodeset_cmd |
There are some rules for vertical dimension labels
-
It is mandatory label. That means one cases must have ONE and ONLY ONE label in above table and belong to one specific level.
-
Level 1,3,4 can be treated as part of test environment setup. That means if need not to setup environment in your case, you can skip some levels.
For example:
- If you have set up a MN with expected xcat installed and want to do smoking test, just need to run all cases with
mn_only
label.
# xcattst -s "mn_only"
- If you have a MN with brand new os and be connected to a CN, want to test hardware control against CN, just need to filter cases from level 1 and level 5, skip level 2-4.
# xcattest -s "xcat_install+os=ubuntu|hctrl_general+hctrl_openbmc"
- If you have set up a MN with expected xcat installed and want to do smoking test, just need to run all cases with
-
There are more than one labels in level 3/4/5, these labels in the same level are mutually exclusive. That means when create a kind of whole test against xCAT, only one label in these levels can be chosen.
For example:
- If integrate
sn_diskful
,hierarchy_cn_diskful
andcn_os_ready
together, that means all cases needed a alive CN are run on hierarchy structure and CN is provisioned in diskful mode.
# xcattest -s "sn_diskful|hierarchy_cn_diskful|cn_os_ready"
- If integrate
flat_cn_diskless
andcn_os_ready
together,that means all cases needed a alive CN are run on flat structure and CN is provisioned in diskless mode.
# xcattest -s "flat_cn_diskless|cn_os_ready"
- If integrate
Horizontal Dimension Labels
Horizontal dimension labels decides the category of cases. User can filter some test case against one component out by these labels.
db
,xcatd
,provision
,invoke_provison
,statelite
hctrl_general
,hctrl_hmc
,hctrl_fsp
,hctrl_bmc_ipmi
,hctrl_openpower_ipmi
, hctrl_openbmc
,
dhcp
,dns
,parallel_cmds
,postscripts
,network
,packaging
,updatenode
,file-sync
go-xcat
,console
,discovery
,migration
,go-coserver
,scaling
,security
,virtualization
GPU
,PDU
,IB
,Switch
,cumulus
,firmware
HA
,xcatprobe
,performance
,docker
,restapi
,KIT
,wait_fix
,xcatdebugmode
,sysclone
,sn_pool
, kdump
, ci_test
, image
, hosts
, ntp
For example:
-
If need to test hardware control for p9 physical machine and the test environment has been set up by yourself, filter all related cases out by
hctrl_general
andhctrl_openbmc
.# xcattest -s "hctrl_general|hctrl_openbmc"
-
If need to test hardware control for p9 physical machine and the test environment is brand new, it need leverage test case to set up environment, so labels
xcat_install
,hctrl_general
andhctrl_openbmc
will be involved.# xcattest -s "xcat_install|hctrl_general|hctrl_openbmc"
News
- Apr 22, 2016: xCAT 2.11.1 released.
- Mar 11, 2016: xCAT 2.9.3 (AIX only) released.
- Dec 11, 2015: xCAT 2.11 released.
- Nov 11, 2015: xCAT 2.9.2 (AIX only) released.
- Jul 30, 2015: xCAT 2.10 released.
- Jul 30, 2015: xCAT migrates from sourceforge to github
- Jun 26, 2015: xCAT 2.7.9 released.
- Mar 20, 2015: xCAT 2.9.1 released.
- Dec 12, 2014: xCAT 2.9 released.
- Sep 5, 2014: xCAT 2.8.5 released.
- May 23, 2014: xCAT 2.8.4 released.
- Jan 24, 2014: xCAT 2.7.8 released.
- Nov 15, 2013: xCAT 2.8.3 released.
- Jun 26, 2013: xCAT 2.8.2 released.
- May 17, 2013: xCAT 2.7.7 released.
- May 10, 2013: xCAT 2.8.1 released.
- Feb 28, 2013: xCAT 2.8 released.
- Nov 30, 2012: xCAT 2.7.6 released.
- Oct 29, 2012: xCAT 2.7.5 released.
- Aug 27, 2012: xCAT 2.7.4 released.
- Jun 22, 2012: xCAT 2.7.3 released.
- May 25, 2012: xCAT 2.7.2 released.
- Apr 20, 2012: xCAT 2.7.1 released.
- Mar 19, 2012: xCAT 2.7 released.
- Mar 15, 2012: xCAT 2.6.11 released.
- Jan 23, 2012: xCAT 2.6.10 released.
- Nov 15, 2011: xCAT 2.6.9 released.
- Sep 30, 2011: xCAT 2.6.8 released.
- Aug 26, 2011: xCAT 2.6.6 released.
- May 20, 2011: xCAT 2.6 released.
- Feb 14, 2011: Watson plays on Jeopardy and is managed by xCAT!
- xCAT Release Notes Summary
- xCAT OS And Hw Support Matrix
- xCAT Test Environment Summary
History
- Oct 22, 2010: xCAT 2.5 released.
- Apr 30, 2010: xCAT 2.4 is released.
- Oct 31, 2009: xCAT 2.3 released.
xCAT's 10 year anniversary! - Apr 16, 2009: xCAT 2.2 released.
- Oct 31, 2008: xCAT 2.1 released.
- Sep 12, 2008: Support for xCAT 2
can now be purchased! - June 9, 2008: xCAT breaths life into
(at the time) the fastest
supercomputer on the planet - May 30, 2008: xCAT 2.0 for Linux
officially released! - Oct 31, 2007: IBM open sources
xCAT 2.0 to allow collaboration
among all of the xCAT users. - Oct 31, 1999: xCAT 1.0 is born!
xCAT started out as a project in
IBM developed by Egan Ford. It
was quickly adopted by customers
and IBM manufacturing sites to
rapidly deploy clusters.