FIX: check IF up state after setting MTU, not before
[csit.git] / docs / report / vpp_performance_tests / documentation / containers.rst
index a617386..f3a90e6 100644 (file)
@@ -1,5 +1,5 @@
 
 
-.. _containter_orchestration_in_csit:
+.. _container_orchestration_in_csit:
 
 Container Orchestration in CSIT
 ===============================
 
 Container Orchestration in CSIT
 ===============================
@@ -140,8 +140,8 @@ a range of virtual networking topologies.
   of functionality is better supported in LXC 2.1 but can be done is current
   version as well.
 
   of functionality is better supported in LXC 2.1 but can be done is current
   version as well.
 
-- CSIT code is currently using cgroup control the range of CPU cores the
-  container must run on. VPP thread pinning defined vpp startup.conf.
+- CSIT code is currently using cgroup to control the range of CPU cores the
+  LXC container runs on. VPP thread pinning is defined vpp startup.conf.
 
 Docker
 ~~~~~~
 
 Docker
 ~~~~~~
@@ -176,10 +176,6 @@ K8s pod definitions including compute resource allocation is provided in
 CSIT uses K8s and its infrastructure components like etcd to control all
 phases of container based virtualized network topologies.
 
 CSIT uses K8s and its infrastructure components like etcd to control all
 phases of container based virtualized network topologies.
 
-**Open Questions**
-
-- Clarify the functions provided by Contiv and Calico in Ligato system?
-
 Ligato
 ~~~~~~
 
 Ligato
 ~~~~~~
 
@@ -189,8 +185,6 @@ using goVPP [govpp]_ and vpp-agent [vpp-agent]_.
 
 **Known Issues**
 
 
 **Known Issues**
 
-**Open Questions**
-
 - Currently using a separate LF Jenkins job for building csit-centric
   prod_vpp_agent docker images vs. dockerhub/ligato ones.
 
 - Currently using a separate LF Jenkins job for building csit-centric
   prod_vpp_agent docker images vs. dockerhub/ligato ones.
 
@@ -364,33 +358,26 @@ Usage example:
   | | [Arguments] | ${technology} | ${image} | ${cpu_count}=${1} | ${count}=${1}
   | | ...
   | | ${group}= | Set Variable | VNF
   | | [Arguments] | ${technology} | ${image} | ${cpu_count}=${1} | ${count}=${1}
   | | ...
   | | ${group}= | Set Variable | VNF
-  | | ${guest_dir}= | Set Variable | /mnt/host
-  | | ${host_dir}= | Set Variable | /tmp
   | | ${skip_cpus}= | Evaluate | ${vpp_cpus}+${system_cpus}
   | | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
   | | ${skip_cpus}= | Evaluate | ${vpp_cpus}+${system_cpus}
   | | Import Library | resources.libraries.python.ContainerUtils.ContainerManager
-  | | ... | engine=${technology} | WITH NAME | ${group}
+  | | ... | engine=${container_engine} | WITH NAME | ${group}
   | | ${duts}= | Get Matches | ${nodes} | DUT*
   | | :FOR | ${dut} | IN | @{duts}
   | | ${duts}= | Get Matches | ${nodes} | DUT*
   | | :FOR | ${dut} | IN | @{duts}
-  | | | {env}= | Create List | LC_ALL="en_US.UTF-8"
-  | | | ... | DEBIAN_FRONTEND=noninteractive | ETCDV3_ENDPOINTS=172.17.0.1:2379
+  | | | ${env}= | Create List | DEBIAN_FRONTEND=noninteractive
+  | | | ${mnt}= | Create List | /tmp:/mnt/host | /dev:/dev
   | | | ${cpu_node}= | Get interfaces numa node | ${nodes['${dut}']}
   | | | ... | ${dut1_if1} | ${dut1_if2}
   | | | Run Keyword | ${group}.Construct containers
   | | | ${cpu_node}= | Get interfaces numa node | ${nodes['${dut}']}
   | | | ... | ${dut1_if1} | ${dut1_if2}
   | | | Run Keyword | ${group}.Construct containers
-  | | | ... | name=${dut}_${group}
-  | | | ... | node=${nodes['${dut}']}
-  | | | ... | host_dir=${host_dir}
-  | | | ... | guest_dir=${guest_dir}
-  | | | ... | image=${image}
-  | | | ... | cpu_count=${cpu_count}
-  | | | ... | cpu_skip=${skip_cpus}
-  | | | ... | smt_used=${False}
-  | | | ... | cpuset_mems=${cpu_node}
-  | | | ... | cpu_shared=${False}
-  | | | ... | env=${env}
+  | | | ... | name=${dut}_${group} | node=${nodes['${dut}']} | mnt=${mnt}
+  | | | ... | image=${container_image} | cpu_count=${container_cpus}
+  | | | ... | cpu_skip=${skip_cpus} | cpuset_mems=${cpu_node}
+  | | | ... | cpu_shared=${False} | env=${env} | count=${container_count}
+  | | | ... | install_dkms=${container_install_dkms}
+  | | Append To List | ${container_groups} | ${group}
 
 Mandatory parameters to create standalone container are: ``node``, ``name``,
 
 Mandatory parameters to create standalone container are: ``node``, ``name``,
-``image`` [image-var]_, ``cpu_count``, ``cpu_skip``, ``smt_used``,
-``cpuset_mems``, ``cpu_shared``.
+``image`` [image-var]_, ``cpu_count``, ``cpu_skip``, ``cpuset_mems``,
+``cpu_shared``.
 
 There is no parameters check functionality. Passing required arguments is in
 coder responsibility. All the above parameters are required to calculate the
 
 There is no parameters check functionality. Passing required arguments is in
 coder responsibility. All the above parameters are required to calculate the
@@ -510,7 +497,7 @@ Listed CSIT container networking test topologies are defined with DUT
 containerized VPP switch forwarding packets between NF containers. Each
 NF container runs their own instance of VPP in L2XC configuration.
 
 containerized VPP switch forwarding packets between NF containers. Each
 NF container runs their own instance of VPP in L2XC configuration.
 
-Following container networking topologies are tested in CSIT |release|:
+Following container networking topologies are tested in |csit-release|:
 
 - LXC topologies:
 
 
 - LXC topologies:
 
@@ -520,17 +507,23 @@ Following container networking topologies are tested in CSIT |release|:
 - Docker topologies:
 
   - eth-l2xcbase-eth-2memif-1docker.
 - Docker topologies:
 
   - eth-l2xcbase-eth-2memif-1docker.
+  - eth-l2xcbase-eth-1memif-1docker
 
 - Kubernetes/Ligato topologies:
 
 
 - Kubernetes/Ligato topologies:
 
-  - eth-1drcl2xcbase-eth-2memif-1drcl2xc.
-  - eth-1drcl2xcbase-eth-4memif-2drcl2xc.
-  - eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc.
-  - eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc.
-
+  - eth-1drcl2bdbasemaclrn-eth-2memif-1drcl2xc-1paral
+  - eth-1drcl2bdbasemaclrn-eth-2memif-2drcl2xc-1horiz
+  - eth-1drcl2bdbasemaclrn-eth-2memif-4drcl2xc-1horiz
+  - eth-1drcl2bdbasemaclrn-eth-4memif-2drcl2xc-1chain
+  - eth-1drcl2bdbasemaclrn-eth-8memif-4drcl2xc-1chain
+  - eth-1drcl2xcbase-eth-2memif-1drcl2xc-1paral
+  - eth-1drcl2xcbase-eth-2memif-2drcl2xc-1horiz
+  - eth-1drcl2xcbase-eth-2memif-4drcl2xc-1horiz
+  - eth-1drcl2xcbase-eth-4memif-2drcl2xc-1chain
+  - eth-1drcl2xcbase-eth-8memif-4drcl2xc-1chain
 
 References
 
 References
-----------
+~~~~~~~~~~
 
 .. [lxc] `Linux Containers <https://linuxcontainers.org/>`_
 .. [lxc-namespace] `Resource management: Linux kernel Namespaces and cgroups <https://www.cs.ucsb.edu/~rich/class/cs293b-cloud/papers/lxc-namespace.pdf>`_.
 
 .. [lxc] `Linux Containers <https://linuxcontainers.org/>`_
 .. [lxc-namespace] `Resource management: Linux kernel Namespaces and cgroups <https://www.cs.ucsb.edu/~rich/class/cs293b-cloud/papers/lxc-namespace.pdf>`_.