Skip to content

Test Design of rflash python version

tingtli edited this page Feb 2, 2018 · 21 revisions

Test Design of rflash python version

Introduction

This document provides an overview of the activities that are planned to be conducted on the IBM Witherspoon Physical Machine Firmware updating support testing. 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 And the build of the latest Firmware of Witherspoon machines are downloaded from following link.

pfd.austin.ibm.com/releasenotes/indexop910.html

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

Here is the automation cases list for rflash.

rflash_option_c_without_specify_noderange
rflash_option_l_without_specify_noderange
rflash_option_a_without_specify_noderange
rflash_option_u_without_specify_noderange
rflash_option_d_without_specify_noderange
rflash_without_option
rflash_unsupport_multiple_option_a_u
rflash_unsupport_multiple_option_a_c
rflash_unsupport_multiple_option_a_l
rflash_unsupport_multiple_option_a_d
rflash_unsupport_multiple_option_c_l
rflash_unsupport_multiple_option_c_u
rflash_unsupport_multiple_option_c_d
rflash_unsupport_multiple_option_l_d
rflash_unsupport_multiple_option_l_u
rflash_unsupport_multiple_option_u_d
rflash_option_c_file_not_exist
rflash_option_c_with_multiple_values
rflash_option_c_against_node
rflash_option_check_with_V_against_node
rflash_option_l_with_value
rflash_option_l
rflash_option_u_file_not_exist
rflash_option_u_with_multiple_values
rflash_option_a_file_not_exist
rflash_option_a_with_multiple_values
rflash_option_a_with_non_existent_id
rflash_option_delete_with_multiple_values
rflash_option_delete_with_non_existent_id
rflash_option_d_with_multiple_values
rflash_option_d_with_non_existent_dir
rflash_usage

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. Run following commands to start your test.

  1. Check the result under following directory

Manually cases

Test case 1

Check if rflash -c/--check could give out the firmware of node

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange -c or rflash noderange --check.
  3. Expected output should be the nodes' firmware level.
  4. Run rflash noderange -c -V or rflash noderange --check -V.
  5. Expected output should be the nodes' firmware level and detailed information.
Test case 2

Check if rflash -l/--list could list out available firmware on the BMC

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange -l or rflash noderange --list.
  3. Expected output should list all available firmwares on the BMC.
Test case 3

Check if rflash noderange tar_file_path -c|--check could give out the tar file's firmware level

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange tar_file_path -c or rflash noderange tar_file_path --check
  3. Expected output should give out the tar file's firmware level
Test case 4

Check if rflash noderange tar_file_path -u|--upload could upload the tar file to the node's bmc

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange tar_file_path -u or rflash noderange tar_file_path --upload
  3. Run rflash noderange -l to check if the upload is successful.
  4. Expected output should give out the tar file's firmware level.
  5. Run rflash noderange tar_file_path -u -V or rflash noderange tar_file_path --upload -V
  6. Expected output should give out the tar file's firmware level and detailed information.
Test case 5

Check if rflash noderange tar_file_path -a|--active could upload the tar file to the node's bmc and active the firmware.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange tar_file_path -a -V or rflash noderange tar_file_path --active -V.
  3. To apply the firmware level, a reboot is required to BMC and HOST
  4. Expected output should upload and active the firmware in a single step. And the detailed information is displayed.
Test case 6

Check if rflash noderange image_id -a|--active could active the firmware on the node/bmc.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange image_id -a or rflash noderange image_id --active.
  3. To apply the firmware level, a reboot is required to BMC and HOST
  4. Expected output should be the image_id firmware is activated on the node/bmc
Test case 7

Check if rflash noderange image_id -d|--delete could delete the image on the node/bmc.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash noderange image_id -d or rflash noderange image_id --delete.
  3. Expected output should be the image is deleted on the node/bmc
Test case 8

Check if rflash help information is correct.

  1. Define node. The node's definition should have bmc's ip. BMC should work correctly.
  2. Run rflash -h or rflash --help
  3. Expected output should be rflash's help information.
Test case 9 (see automation bucket cases)

Check if rflash 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 rflash noderange false_value.
  3. Expected output should be warning message.

News

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.
Clone this wiki locally