This patch is used to update the documents of D-release.
[kvmfornfv.git] / docs / configurationguide / low-latency.feature.configuration.description.rst
index bf2dbdb..6cad4c9 100644 (file)
@@ -1,9 +1,12 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
 
-Introduction
-============
+=============================================
+Low Latency Feature Configuration Description
+=============================================
 
+Introduction
+------------
 In KVM4NFV project, we focus on the KVM hypervisor to enhance it for NFV, by
 looking at the following areas initially
 
@@ -14,7 +17,7 @@ looking at the following areas initially
 * Fast live migration
 
 Configuration of Cyclictest
-===========================
+---------------------------
 
 Cyclictest measures Latency of response to a stimulus. Achieving low latency
 with the KVM4NFV project requires setting up a special test environment.
@@ -26,15 +29,56 @@ parameters and the run-time environment.
   https://wiki.opnfv.org/display/kvm/Nfv-kvm-tuning
 
 Pre-configuration activities
-----------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Intel POD10 is currently used as OPNFV-KVM4NFV test environment. The rpm
+packages from the latest build are downloaded onto Intel-Pod10 jump server
+from artifact repository. Yardstick running in a ubuntu docker container
+on Intel Pod10-jump server will configure the host(intel pod10 node1/node2
+based on job type), the guest and triggers the cyclictest on the guest using
+below sample yaml file.
+
+
+.. code:: bash
+
+    For IDLE-IDLE test,
+
+    host_setup_seqs:
+    - "host-setup0.sh"
+    - "reboot"
+    - "host-setup1.sh"
+    - "host-run-qemu.sh"
+
+    guest_setup_seqs:
+    - "guest-setup0.sh"
+    - "reboot"
+    - "guest-setup1.sh"
 
-Intel POD1 is currently used as OPNFV-KVM4NFV test environment. The latest
-build packages are downloaded onto Intel Pod1-jump server from artifact
-repository. Yardstick running in a ubuntu docker container on Intel Pod1-jump
-server will trigger the cyclictest.
+.. figure:: images/idle-idle-test.png
+   :name: idle-idle-test
+   :width: 100%
+   :align: center
 
-Running cyclictest through Yardstick will Configure the host(Pod1-node1), the
-guest, executes  cyclictest on the guest.
+.. code:: bash
+
+    For [CPU/Memory/IO]Stress-IDLE tests,
+
+    host_setup_seqs:
+    - "host-setup0.sh"
+    - "reboot"
+    - "host-setup1.sh"
+    - "stress_daily.sh" [cpustress/memory/io]
+    - "host-run-qemu.sh"
+
+    guest_setup_seqs:
+    - "guest-setup0.sh"
+    - "reboot"
+    - "guest-setup1.sh"
+
+.. figure:: images/stress-idle-test.png
+   :name: stress-idle-test
+   :width: 100%
+   :align: center
 
 The following scripts are used for configuring host and guest to create a
 special test environment and achieve low latency.
@@ -44,7 +88,7 @@ followed by guest-setup0.sh and guest-setup1.sh scripts on the guest VM.
 
 **host-setup0.sh**: Running this script will install the latest kernel rpm
 on host and will make necessary changes as following to create special test
-environment
+environment.
 
    * Isolates CPUs from the general scheduler
    * Stops timer ticks on isolated CPUs whenever possible
@@ -55,15 +99,28 @@ environment
    * Disables clocksource verification at runtime
 
 **host-setup1.sh**: Running this script will make the following test
-environment changes
+environment changes.
 
    * Disabling watchdogs to reduce overhead
    * Disabling RT throttling
    * Reroute interrupts bound to isolated CPUs to CPU 0
    * Change the iptable so that we can ssh to the guest remotely
 
+**stress_daily.sh**: Scripts gets triggered only for stress-idle tests. Running this script
+make the following environment changes.
+
+   * Triggers stress_script.sh, which runs the stress command with necessary options
+   * CPU,Memory or IO stress can be applied based on the test type
+   * Applying stress only on the Host is handled in D-Release
+   * For Idle-Idle test the stress script is not triggered
+   * Stress is applied only on the free cores to prevent load on qemu process
+
+   **Note:**
+    - On Numa Node 1: 22,23 cores are allocated for QEMU process
+    - 24-43 are used for applying stress
+
 **host-run-qemu.sh**: Running this script will launch a guest vm on the host.
-     Note: download guest disk image from artifactory
+     Note: download guest disk image from artifactory.
 
 **guest-setup0.sh**: Running this scrcipt on the guest vm will install the
 latest build kernel rpm, cyclictest and make the following configuration on
@@ -75,22 +132,22 @@ guest vm.
    * Disables clocksource verification at runtime
 
 **guest-setup1.sh**: Running this script on guest vm will do the following
-configurations
+configurations.
 
    * Disable watchdogs to reduce overhead
    * Routes device interrupts to non-RT CPU
    * Disables RT throttling
 
 Hardware configuration
-----------------------
+~~~~~~~~~~~~~~~~~~~~~~
 
-Currently Intel POD1 is used as test environment for kvmfornfv to execute
-cyclictest. As part of this test environment Intel pod1-jump is configured as
+Currently Intel POD10 is used as test environment for kvmfornfv to execute
+cyclictest. As part of this test environment Intel pod10-jump is configured as
 jenkins slave and all the latest build artifacts are downloaded on to it.
-Intel pod1-node1 is the host on which a guest vm will be launched as a part of
+Intel pod10-node1 is the host on which a guest vm will be launched as a part of
 running cylictest through yardstick.
 
 * For more information regarding hardware configuration, please visit
-  https://wiki.opnfv.org/display/pharos/Intel+Pod1
-  https://build.opnfv.org/ci/computer/intel-pod1/
+  https://wiki.opnfv.org/display/pharos/Intel+Pod10
+  https://build.opnfv.org/ci/computer/intel-pod10/
   http://artifacts.opnfv.org/octopus/brahmaputra/docs/octopus_docs/opnfv-jenkins-slave-connection.html