diff options
Diffstat (limited to 'docs/testing/user/userguide/13-nsb-installation.rst')
-rw-r--r-- | docs/testing/user/userguide/13-nsb-installation.rst | 220 |
1 files changed, 134 insertions, 86 deletions
diff --git a/docs/testing/user/userguide/13-nsb-installation.rst b/docs/testing/user/userguide/13-nsb-installation.rst index 694521d2b..35f67b92f 100644 --- a/docs/testing/user/userguide/13-nsb-installation.rst +++ b/docs/testing/user/userguide/13-nsb-installation.rst @@ -1,7 +1,7 @@ .. This work is licensed under a Creative Commons Attribution 4.0 International .. License. .. http://creativecommons.org/licenses/by/4.0 -.. (c) OPNFV, 2016-2018 Intel Corporation. +.. (c) OPNFV, 2016-2019 Intel Corporation. .. Convention for heading levels in Yardstick documentation: @@ -108,17 +108,19 @@ The ``nsb_setup.sh`` allows to: Firstly, configure the network proxy, either using the environment variables or setting the global environment file. -Set environment:: +Set environment in the file:: http_proxy='http://proxy.company.com:port' https_proxy='http://proxy.company.com:port' +Set environment variables: + .. code-block:: console export http_proxy='http://proxy.company.com:port' export https_proxy='http://proxy.company.com:port' -Download the source code and check out the latest stable branch +Download the source code and check out the latest stable branch: .. code-block:: console @@ -127,7 +129,9 @@ Download the source code and check out the latest stable branch # Switch to latest stable branch git checkout stable/gambia -Modify the Yardstick installation inventory used by Ansible:: +Modify the Yardstick installation inventory used by Ansible: + +.. code-block:: ini cat ./ansible/install-inventory.ini [jumphost] @@ -161,7 +165,7 @@ Modify the Yardstick installation inventory used by Ansible:: .. warning:: Before running ``nsb_setup.sh`` make sure python is installed on servers - added to ``yardstick-standalone`` or ``yardstick-baremetal`` groups. + added to ``yardstick-standalone`` and ``yardstick-baremetal`` groups. .. note:: @@ -239,9 +243,8 @@ execute:: stty size rows 58 cols 234 It will also automatically download all the packages needed for NSB Testing -setup. Refer chapter :doc:`04-installation` for more on Docker. - -**Install Yardstick using Docker (recommended)** +setup. Refer chapter :doc:`04-installation` for more on Docker: +:ref:`Install Yardstick using Docker` Bare Metal context example ^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -329,7 +332,9 @@ container):: vi /etc/yardstick/yardstick.conf Add ``trex_path``, ``trex_client_lib`` and ``bin_path`` to the ``nsb`` -section:: +section: + +.. code-block:: ini [DEFAULT] debug = True @@ -360,9 +365,10 @@ Connect to the Yardstick container:: docker exec -it yardstick /bin/bash If you're running ``heat`` testcases and ``nsb_setup.sh`` was not used:: + source /etc/yardstick/openstack.creds -In addition to the above, you need to se the ``EXTERNAL_NETWORK`` for +In addition to the above, you need to set the ``EXTERNAL_NETWORK`` for OpenStack:: export EXTERNAL_NETWORK="<openstack public network>" @@ -410,7 +416,7 @@ Bare-Metal Config pod.yaml Before executing Yardstick test cases, make sure that ``pod.yaml`` reflects the topology and update all the required fields.:: - cp /etc/yardstick/nodes/pod.yaml.nsb.sample /etc/yardstick/nodes/pod.yaml + cp <yardstick>/etc/yardstick/nodes/pod.yaml.nsb.sample /etc/yardstick/nodes/pod.yaml .. code-block:: YAML @@ -435,7 +441,7 @@ topology and update all the required fields.:: dpdk_port_num: 1 local_ip: "152.16.40.20" netmask: "255.255.255.0" - local_mac: "00:00.00:00:00:02" + local_mac: "00:00:00:00:00:02" - name: vnf @@ -483,6 +489,15 @@ topology and update all the required fields.:: Standalone Virtualization ------------------------- +VM can be deployed manually or by Yardstick. If parameter *vm_deploy* is set +to `True` VM will be deployed by Yardstick. Otherwise VM should be deployed +manually. Test case example, context section:: + + contexts: + ... + vm_deploy: True + + SR-IOV ^^^^^^ @@ -490,7 +505,7 @@ SR-IOV Pre-requisites +++++++++++++++++++++ On Host, where VM is created: - a) Create and configure a bridge named ``br-int`` for VM to connect to + 1. Create and configure a bridge named ``br-int`` for VM to connect to external network. Currently this can be done using VXLAN tunnel. Execute the following on host, where VM is created:: @@ -519,7 +534,7 @@ On Host, where VM is created: .. note:: Host and jump host are different baremetal servers. - b) Modify test case management CIDR. + 2. Modify test case management CIDR. IP addresses IP#1, IP#2 and CIDR must be in the same network. .. code-block:: YAML @@ -530,7 +545,7 @@ On Host, where VM is created: mgmt: cidr: '1.1.1.7/24' - c) Build guest image for VNF to run. + 3. Build guest image for VNF to run. Most of the sample test cases in Yardstick are using a guest image called ``yardstick-nsb-image`` which deviates from an Ubuntu Cloud Server image Yardstick has a tool for building this custom image with SampleVNF. @@ -550,8 +565,6 @@ On Host, where VM is created: For instructions on generating a cloud image using Ansible, refer to :doc:`04-installation`. - for more details refer to chapter :doc:`04-installation` - .. note:: VM should be build with static IP and be accessible from the Yardstick host. @@ -650,7 +663,7 @@ SR-IOV Config pod_trex.yaml dpdk_port_num: 1 local_ip: "152.16.40.20" netmask: "255.255.255.0" - local_mac: "00:00.00:00:00:02" + local_mac: "00:00:00:00:00:02" SR-IOV Config host_sriov.yaml +++++++++++++++++++++++++++++ @@ -712,6 +725,93 @@ Update contexts section gateway_ip: '152.16.100.20' +SRIOV configuration options ++++++++++++++++++++++++++++ + +The only configuration option available for SRIOV is *vpci*. It is used as base +address for VFs that are created during SRIOV test case execution. + + .. code-block:: yaml+jinja + + networks: + uplink_0: + phy_port: "0000:05:00.0" + vpci: "0000:00:07.0" + cidr: '152.16.100.10/24' + gateway_ip: '152.16.100.20' + downlink_0: + phy_port: "0000:05:00.1" + vpci: "0000:00:08.0" + cidr: '152.16.40.10/24' + gateway_ip: '152.16.100.20' + +.. _`VM image properties label`: + +VM image properties +''''''''''''''''''' + +VM image properties example under *flavor* section: + + .. code-block:: console + + flavor: + images: <path> + ram: 8192 + extra_specs: + machine_type: 'pc-i440fx-xenial' + hw:cpu_sockets: 1 + hw:cpu_cores: 6 + hw:cpu_threads: 2 + hw_socket: 0 + cputune: | + <cputune> + <vcpupin vcpu="0" cpuset="7"/> + <vcpupin vcpu="1" cpuset="8"/> + ... + <vcpupin vcpu="11" cpuset="18"/> + <emulatorpin cpuset="11"/> + </cputune> + user: "" + password: "" + +VM image properties description: + + +-------------------------+-------------------------------------------------+ + | Parameters | Detail | + +=========================+=================================================+ + | images || Path to the VM image generated by | + | | ``nsb_setup.sh`` | + | || Default path is ``/var/lib/libvirt/images/`` | + | || Default file name ``yardstick-nsb-image.img`` | + | | or ``yardstick-image.img`` | + +-------------------------+-------------------------------------------------+ + | ram || Amount of RAM to be used for VM | + | || Default is 4096 MB | + +-------------------------+-------------------------------------------------+ + | hw:cpu_sockets || Number of sockets provided to the guest VM | + | || Default is 1 | + +-------------------------+-------------------------------------------------+ + | hw:cpu_cores || Number of cores provided to the guest VM | + | || Default is 2 | + +-------------------------+-------------------------------------------------+ + | hw:cpu_threads || Number of threads provided to the guest VM | + | || Default is 2 | + +-------------------------+-------------------------------------------------+ + | hw_socket || Generate vcpu cpuset from given HW socket | + | || Default is 0 | + +-------------------------+-------------------------------------------------+ + | cputune || Maps virtual cpu with logical cpu | + +-------------------------+-------------------------------------------------+ + | machine_type || Machine type to be emulated in VM | + | || Default is 'pc-i440fx-xenial' | + +-------------------------+-------------------------------------------------+ + | user || User name to access the VM | + | || Default value is 'root' | + +-------------------------+-------------------------------------------------+ + | password || Password to access the VM | + +-------------------------+-------------------------------------------------+ + + OVS-DPDK ^^^^^^^^ @@ -719,7 +819,7 @@ OVS-DPDK Pre-requisites +++++++++++++++++++++++ On Host, where VM is created: - a) Create and configure a bridge named ``br-int`` for VM to connect to + 1. Create and configure a bridge named ``br-int`` for VM to connect to external network. Currently this can be done using VXLAN tunnel. Execute the following on host, where VM is created: @@ -750,7 +850,7 @@ On Host, where VM is created: .. note:: Host and jump host are different baremetal servers. - b) Modify test case management CIDR. + 2. Modify test case management CIDR. IP addresses IP#1, IP#2 and CIDR must be in the same network. .. code-block:: YAML @@ -761,7 +861,7 @@ On Host, where VM is created: mgmt: cidr: '1.1.1.7/24' - c) Build guest image for VNF to run. + 3. Build guest image for VNF to run. Most of the sample test cases in Yardstick are using a guest image called ``yardstick-nsb-image`` which deviates from an Ubuntu Cloud Server image Yardstick has a tool for building this custom image with SampleVNF. @@ -784,11 +884,11 @@ On Host, where VM is created: .. note:: VM should be build with static IP and should be accessible from yardstick host. -3. OVS & DPDK version. - * OVS 2.7 and DPDK 16.11.1 above version is supported +4. OVS & DPDK version: -4. Setup `OVS-DPDK`_ on host. + * OVS 2.7 and DPDK 16.11.1 above version is supported +Refer setup instructions at `OVS-DPDK`_ on host. OVS-DPDK Config pod.yaml describing Topology ++++++++++++++++++++++++++++++++++++++++++++ @@ -887,7 +987,7 @@ OVS-DPDK Config pod_trex.yaml dpdk_port_num: 1 local_ip: "152.16.40.20" netmask: "255.255.255.0" - local_mac: "00:00.00:00:00:02" + local_mac: "00:00:00:00:00:02" OVS-DPDK Config host_ovs.yaml +++++++++++++++++++++++++++++ @@ -1043,59 +1143,7 @@ OVS-DPDK properties description: VM image properties ''''''''''''''''''' -VM image properties example under *flavor* section: - - .. code-block:: console - - flavor: - images: <path> - ram: 8192 - extra_specs: - machine_type: 'pc-i440fx-xenial' - hw:cpu_sockets: 1 - hw:cpu_cores: 6 - hw:cpu_threads: 2 - hw_socket: 0 - cputune: | - <cputune> - <vcpupin vcpu="0" cpuset="7"/> - <vcpupin vcpu="1" cpuset="8"/> - ... - <vcpupin vcpu="11" cpuset="18"/> - <emulatorpin cpuset="11"/> - </cputune> - -VM image properties description: - - +-------------------------+-------------------------------------------------+ - | Parameters | Detail | - +=========================+=================================================+ - | images || Path to the VM image generated by | - | | ``nsb_setup.sh`` | - | || Default path is ``/var/lib/libvirt/images/`` | - | || Default file name ``yardstick-nsb-image.img`` | - | | or ``yardstick-image.img`` | - +-------------------------+-------------------------------------------------+ - | ram || Amount of RAM to be used for VM | - | || Default is 4096 MB | - +-------------------------+-------------------------------------------------+ - | hw:cpu_sockets || Number of sockets provided to the guest VM | - | || Default is 1 | - +-------------------------+-------------------------------------------------+ - | hw:cpu_cores || Number of cores provided to the guest VM | - | || Default is 2 | - +-------------------------+-------------------------------------------------+ - | hw:cpu_threads || Number of threads provided to the guest VM | - | || Default is 2 | - +-------------------------+-------------------------------------------------+ - | hw_socket || Generate vcpu cpuset from given HW socket | - | || Default is 0 | - +-------------------------+-------------------------------------------------+ - | cputune || Maps virtual cpu with logical cpu | - +-------------------------+-------------------------------------------------+ - | machine_type || Machine type to be emulated in VM | - | || Default is 'pc-i440fx-xenial' | - +-------------------------+-------------------------------------------------+ +VM image properties are same as for SRIOV :ref:`VM image properties label`. OpenStack with SR-IOV support @@ -1237,7 +1285,7 @@ DevStack installation If you want to try out NSB, but don't have OpenStack set-up, you can use `Devstack`_ to install OpenStack on a host. Please note, that the ``stable/pike`` branch of devstack repo should be used during the installation. -The required ``local.conf`` configuration file are described below. +The required ``local.conf`` configuration file is described below. DevStack configuration file: @@ -1248,7 +1296,7 @@ DevStack configuration file: commands to get device and vendor id of the virtual function (VF). .. literalinclude:: code/single-devstack-local.conf - :language: console + :language: ini Start the devstack installation on a host. @@ -1265,7 +1313,7 @@ Run the Sample VNF test case There is an example of Sample VNF test case ready to be executed in an OpenStack environment with SR-IOV support: ``samples/vnf_samples/nsut/vfw/ -tc_heat_sriov_external_rfc2544_ipv4_1rule_1flow_64B_trex.yaml``. +tc_heat_sriov_external_rfc2544_ipv4_1rule_1flow_trex.yaml``. Install Yardstick using `Install Yardstick (NSB Testing)`_ steps for OpenStack context. @@ -1278,7 +1326,7 @@ container: command to get the PF PCI address for ``vpci`` field. .. literalinclude:: code/single-yardstick-pod.conf - :language: console + :language: ini Run the Sample vFW RFC2544 SR-IOV TC (``samples/vnf_samples/nsut/vfw/ tc_heat_sriov_external_rfc2544_ipv4_1rule_1flow_64B_trex.yaml``) in the heat @@ -1338,12 +1386,12 @@ devstack repo should be used during the installation. DevStack configuration file for controller host: .. literalinclude:: code/multi-devstack-controller-local.conf - :language: console + :language: ini DevStack configuration file for compute host: .. literalinclude:: code/multi-devstack-compute-local.conf - :language: console + :language: ini Start the devstack installation on the controller and compute hosts. @@ -1391,7 +1439,7 @@ IxLoad Config ``pod_ixia.yaml`` .. literalinclude:: code/pod_ixia.yaml - :language: console + :language: yaml for sriov/ovs_dpdk pod files, please refer to `Standalone Virtualization`_ for ovs-dpdk/sriov configuration @@ -1427,7 +1475,7 @@ installed as part of the requirements of the project. Configure ``pod_ixia.yaml`` .. literalinclude:: code/pod_ixia.yaml - :language: console + :language: yaml for sriov/ovs_dpdk pod files, please refer to above `Standalone Virtualization`_ for ovs-dpdk/sriov configuration |