Add test case description and task file for TC025 63/6363/1
authorwym_libra <yimin.wang@huawei.com>
Fri, 18 Dec 2015 08:09:50 +0000 (16:09 +0800)
committerqi liang <liangqi1@huawei.com>
Tue, 12 Jan 2016 14:13:45 +0000 (14:13 +0000)
Add test case description for HA of OpenStack Controll Node abnormally
shutdown (TC025) and the sample  .yaml task file.

** Please note that the SLA value has not yet been determined. **

JIRA: YARDSTICK-135

Change-Id: I70f1afb0c9cfa5446aac08b7b13e543a9ec20898
Signed-off-by: wym_libra <yimin.wang@huawei.com>
(cherry picked from commit 83d895e535b700790497429ac6cbd46fb0fef9e5)

docs/yardstick/opnfv_yardstick_tc025.rst [new file with mode: 0644]
samples/opnfv_yardstick_tc025.yaml [new file with mode: 0644]

diff --git a/docs/yardstick/opnfv_yardstick_tc025.rst b/docs/yardstick/opnfv_yardstick_tc025.rst
new file mode 100644 (file)
index 0000000..f01bd3b
--- /dev/null
@@ -0,0 +1,99 @@
+.. image:: ../../etc/opnfv-logo.png
+  :height: 40
+  :width: 200
+  :alt: OPNFV
+  :align: left
+
+*************************************
+Yardstick Test Case Description TC025
+*************************************
+
++-----------------------------------------------------------------------------+
+|OpenStack Controll Node abnormally shutdown High Availability                |
++==============+==============================================================+
+|test case id  | OPNFV_YARDSTICK_TC025_HA: OpenStack Controll Node abnormally |
+|              | shutdown                                                     |
++--------------+--------------------------------------------------------------+
+|test purpose  | This test case will verify the high availability of control  |
+|              | nodethe. When one of the control node abnormally shutdown,   |
+|              | the service provided by it should be OK.                     |
++--------------+--------------------------------------------------------------+
+|test method   | This test case shutdowns a specified control node with some  |
+|              | fault injection tools, then checks whether all services      |
+|              | provided by the control node are OK with some monitor tools. |
++--------------+--------------------------------------------------------------+
+|attackers     | In this test case, an attacker called "host-shutdown" is     |
+|              | needed. This attacker includes two parameters:               |
+|              | 1) fault_type: which is used for finding the attacker's      |
+|              | scripts. It should be always set to "host-shutdown" in       |
+|              | this test case.                                              |
+|              | 2) host: which is the name of a control node being attacked. |
+|              |                                                              |
+|              | e.g.                                                         |
+|              | -fault_type: "host-shutdown"                                 |
+|              | -host: node1                                                 |
++--------------+--------------------------------------------------------------+
+|monitors      | In this test case, one kind of monitor are needed:           |
+|              | 1. the "openstack-cmd" monitor constantly request a specific |
+|              |    Openstack command, which needs two parameters             |
+|              | 1) monitor_type: which is used for finding the monitor class |
+|              | and related scritps. It should be always set to              |
+|              | "openstack-cmd" for this monitor.                            |
+|              | 2) command_name: which is the command name used for request  |
+|              |                                                              |
+|              | There are four instance of the "openstack-cmd" monitor:      |
+|              | monitor1:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -api_name: "nova image-list"                                 |
+|              | monitor2:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -api_name: "neutron router-list"                             |
+|              | monitor3:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -api_name: "heat stack-list"                                 |
+|              | monitor4:                                                    |
+|              | -monitor_type: "openstack-cmd"                               |
+|              | -api_name: "cinder list"                                     |
++--------------+--------------------------------------------------------------+
+|metrics       | In this test case, there is one metric:                      |
+|              | 1)service_outage_time: which indicates the maximum outage    |
+|              | time (seconds) of the specified Openstack command request.   |
++--------------+--------------------------------------------------------------+
+|test tool     | None. Self-developed.                                        |
++--------------+--------------------------------------------------------------+
+|references    | ETSI NFV REL001                                              |
++--------------+--------------------------------------------------------------+
+|configuration | This test case needs two configuration files:                |
+|              | 1) test case file: opnfv_yardstick_tc019.yaml                |
+|              | -Attackers: see above "attackers" discription                |
+|              | -waiting_time: which is the time (seconds) from the process  |
+|              | being killed to stoping monitors the monitors                |
+|              | -Monitors: see above "monitors" discription                  |
+|              | -SLA: see above "metrics" discription                        |
+|              |                                                              |
+|              | 2)POD file: pod.yaml                                         |
+|              | The POD configuration should record on pod.yaml first.       |
+|              | the "host" item in this test case will use the node name in  |
+|              | the pod.yaml.                                                |
++--------------+------+----------------------------------+--------------------+
+|test sequence | step | description                      | result             |
+|              +------+----------------------------------+--------------------+
+|              |  1   | start monitors: each monitor will| The monitor info   |
+|              |      | run with independently process   | will be collected. |
+|              +------+----------------------------------+--------------------+
+|              |  2   | do attacker: connect the host    | the host will be   |
+|              |      | through SSH, and then execute    | shutdown.          |
+|              |      | shutdown script on the host      |                    |
+|              +------+----------------------------------+--------------------+
+|              |  3   | stop monitors after a period of  | All monitor result |
+|              |      | time specified by "waiting_time" | will be aggregated.|
+|              +------+----------------------------------+--------------------+
+|              |  4   | verify the SLA                   | The test case is   |
+|              |      |                                  | passed or not.     |
++--------------+------+----------------------------------+--------------------+
+|post-action   | It is the action when the test cases exist. It restarts the  |
+|              | specified control node if it is not restarted.               |
++--------------+------+----------------------------------+--------------------+
+|test verdict  | Fails only if SLA is not passed, or if there is a test case  |
+|              | execution problem.                                           |
++--------------+--------------------------------------------------------------+
diff --git a/samples/opnfv_yardstick_tc025.yaml b/samples/opnfv_yardstick_tc025.yaml
new file mode 100644 (file)
index 0000000..b083f6f
--- /dev/null
@@ -0,0 +1,43 @@
+---
+# Sample test case for the HA of OpenStack Controll Node abnormally shutdown
+
+schema: "yardstick:task:0.1"
+
+scenarios:
+-
+  type: ServiceHA
+  options:
+    attackers:
+    - fault_type: "host-shutdown"
+      host: node1
+
+    monitors:
+    - monitor_type: "openstack-cmd"
+      command_name: "nova image-list"
+      monitor_time: 10
+    - monitor_type: "openstack-cmd"
+      command_name: "neutron router-list"
+      monitor_time: 10
+    - monitor_type: "openstack-cmd"
+      command_name: "heat stack-list"
+      monitor_time: 10
+    - monitor_type: "openstack-cmd"
+      command_name: "cinder list"
+      monitor_time: 10
+
+  nodes:
+    node1: node1.LF
+
+  runner:
+    type: Iteration
+    iterations: 1
+
+  sla:
+    outage_time: 5
+    action: monitor
+
+
+context:
+  type: Node
+  name: LF
+  file: /root/yardstick/etc/yardstick/nodes/fuel_virtual/pod.yaml