2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2024-11-21 09:02:00 +00:00
6 Test Design of rsetboot python version
tingtli edited this page 2018-03-28 16:39:27 +08:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Test Design of rsetboot python version

Introduction

This document provides an overview of test of command rsetboot that is conducted on the IBM Witherspoon Physical Machine. This test plan is intended for the use of xCAT FVT team.

The test is against xCAT version 2.13.11. The build of xCAT will be picked up from the xcat.org

Overview of xCAT FVT

Test Software Requirements

Operating System Red Hat Enterprise Linux Server release 7.4

Other Softwares

xCAT 2.13.11

Test Hardware Requirements

MN: any machines with latest xcat installed
CN: Witherspoon node (p9)

xCAT Test Detail Section

Test environment preparation

  • new OpenBMC python version rpm installation steps:

    • Use yum install gcc and python-devel.ppc64le:
      yum install -y gcc python-devel.ppc64le 
      
    • Install pip refer to https://pip.pypa.io/en/stable/installing/. Use pip to install gevent, greenlet, certifi, chardet, idna, urllib3, requests:
      pip install gevent greenlet certifi chardet idna urllib3 requests
      
    • Download and install xCAT-openbmc-py-2.13.10-snap201801250418.noarch.rpm:
      wget http://xcat.org/files/xcat/xcat-dep/2.x_Linux/beta/xCAT-openbmc-py-2.13.10-snap201801250418.noarch.rpm
      yum localinstall -y xCAT-openbmc-py-2.13.10-snap201801250418.noarch.rpm
      
    • enable OpenBMC python version:
      export XCAT_OPENBMC_PYTHON=YES
      

Test cases

Automation cases

We have some rsetboot automation cases in file cases0 under /opt/xcat/share/xcat/tools/autotest/testcase/rsetboot. After you install xcat-test, you will find the file.

[root@briggs01 rsetboot]# pwd
/opt/xcat/share/xcat/tools/autotest/testcase/rsetboot
[root@briggs01 rsetboot]# ls
cases0

The steps to run automation cases.

  1. Install xcat-test on your testing nodes
  2. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  3. create rsetboot cases bundle file by yourself.
[root@briggs01 bundle]# pwd
/opt/xcat/share/xcat/tools/autotest/bundle
[root@briggs01 bundle]# cat rsetboot.bundle
rsetboot_net_statcheck
rsetboot_cd_statcheck
rsetboot_default_statcheck
rsetboot_h
rsetboot_help
rsetboot_v
rsetboot_node_invalidnode
rsetboot_noderange_net
rsetboot_node_invalidaction
rsetboot_group_net
  1. Run following commands to start your test.
[root@briggs01 testcase]# XCATTEST_CN=mid05tor12cn05 xcattest -b rsetboot.bundle
  1. Check the result under following directory
[root@briggs01 result]# pwd
/opt/xcat/share/xcat/tools/autotest/result
[root@briggs01 result]# vi failedcases.20180201192605

Manually cases

The test cases is given according to the rsetboot' help information for machines managed by openbmc. -u is not realized in python version. Only -p is realized on python version.

Usage: rsetboot [net|hd|cd|floppy|def|stat] [-u] [-p] rsetboot [-h|--help|-v|--version]

Test case 1

Check if rsetboot -h or --help could display help information for openbmc.

  1. Run rsetboot -h or rsetboot --help
  2. Expected output should be help information.

Test case 2

Check if rsetboot -v or --version could display version information for openbmc.

  1. Run rsetboot -v or rsetboot --version
  2. Expected output should be version information.

Test case 3

Check if rsetboot noderange stat could display the current boot setting.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange stat
  3. Expected output should be the node's current boot setting information.

Test case 4

Check if rsetboot noderange def or rsetboot noderange default could boot using the default set in BIOS

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Check the BIOS setting.
  3. Run rsetboot noderange def or rsetboot noderange default
  4. Run rpower noderange boot
  5. Check if the noderange boots from the BIOS setting.

Test case 5

Check if rsetboot noderange hd could boot from hard disk.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange hd
  3. Run rpower noderange boot
  4. Check if the noderange boots from hard disk.

Test case 6

Check if rsetboot noderange net could boot from network.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange net
  3. Run rpower noderange boot
  4. Check if the noderange boots from network.

Test case 7

Check if rsetboot noderange net -p could always boot from network.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange net -p
  3. Run rpower noderange boot for several times.
  4. Check if noderange always boot from network.

Test case 8

Check if rsetboot noderange cd could boot from cd or dvd drive.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange cd
  3. Run rpower noderange boot
  4. Check if the noderange boots from cd or dvd drive.

Test case 9

Check if rsetboot noderange false_value could give warning message.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rsetboot noderange false_value
  3. Check if the warning message is given.