X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Fuserguide%2Farchitecture.rst;h=3abb67b7d510b12b803aa56adb00cb99b7ebf843;hb=3cf1c2162d800e4f5a5596bdf54732ba906c95f6;hp=800e82224fa73a0d22165570fabf969e98928488;hpb=90994a67f2899e0fc046992d07671f1890e530ff;p=yardstick.git diff --git a/docs/userguide/architecture.rst b/docs/userguide/architecture.rst index 800e82224..3abb67b7d 100755 --- a/docs/userguide/architecture.rst +++ b/docs/userguide/architecture.rst @@ -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) ==================================