OPNFV_YARDSTICK_TC043_Latency_between_NFVI_nodes_measurements
[yardstick.git] / docs / userguide / architecture.rst
old mode 100644 (file)
new mode 100755 (executable)
index de52bbb..3abb67b
@@ -156,7 +156,40 @@ on OPNFV testing dashboard which use MongoDB as backend.
 
 Logical View
 ============
-TBD(Qiliang)
+Yardstick Logical View describes the most important classes, their
+organization, and the most important use-case realizations.
+
+Main classes:
+
+**TaskCommands** - "yardstick task" subcommand handler.
+
+**HeatContext** - Do test yaml file context section model convert to HOT,
+deploy and undeploy Openstack heat stack.
+
+**Runner** - Logic that determines how a test scenario is run and reported.
+
+**TestScenario** - Type/class of measurement for example Ping, Pktgen, (Iperf,
+LmBench, ...)
+
+**Dispatcher** - Choose user defined way to store test results.
+
+TaskCommands is the "yardstick task" subcommand's main entry. It takes yaml
+file (e.g. test.yaml) as input, and uses HeatContext to convert the yaml
+file's context section to HOT. After Openstacik heat stack is deployed by
+HeatContext with the converted HOT, TaskCommands use Runner to run specified
+TestScenario. During first runner initialization, it will create output
+process. The output process use Dispatcher to push test results. The Runner
+will also create a process to execute TestScenario. And there is a
+multiprocessing queue between each runner process and output process, so the
+runner process can push the real-time test results to the storage media.
+TestScenario is commonly connected with VMs by using ssh. It sets up VMs and
+run test measurement scripts through the ssh tunnel. After all TestScenaio
+is finished, TaskCommands will undeploy the heat stack. Then the whole test is
+finished.
+
+.. image:: images/Logical_view.png
+   :width: 800px
+   :alt: Yardstick Logical View
 
 Process View (Test execution flow)
 ==================================
@@ -187,18 +220,16 @@ undepoyed, the whole test ends.
 
 Deployment View
 ===============
-TBD(Patrick)
-
-
-
-
-
-
-
-
-
-
-
+Yardstick deployment view shows how the yardstick tool can be deployed into the
+underlying platform. Generally, yardstick tool is installed on JumpServer(see
+`03-installation` for detail installation steps), and JumpServer is
+connected with other control/compute servers by networking. Based on this
+deployment, yardstick can run the test cases on these hosts, and get the test
+result for better showing.
+
+.. image:: images/Deployment.png
+   :width: 800px
+   :alt: Yardstick Deployment View
 
 Yardstick Directory structure
 =============================