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
 
 .. 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
 
 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
 * 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.
 
 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
   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.
 
 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
 
 **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
 
    * 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
    * 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
 
 
    * 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.
 **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
 
 **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
    * 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
 
    * 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.
 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
 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
   http://artifacts.opnfv.org/octopus/brahmaputra/docs/octopus_docs/opnfv-jenkins-slave-connection.html