summaryrefslogtreecommitdiffstats
path: root/README.rst
blob: ba27cad67c943e4ad3e314b2c4bf6b195d53ecc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. (c) 2017 Enea AB and others

Armband Fuel@OPNFV
==================

This repository holds build scripts for MCP Fuel OPNFV installer
for AArch64 machines.

Development Workflow
====================

The standard workflow should look as follows:

#. Clone the repository.

#. All the sub-projects are registered as submodules. To initialize them, call:

       .. code-block:: bash

           $ make submodules-init

#. Apply patches from ``patches/<sub-project>/*`` to respective submodules via:

       .. code-block:: bash

           $ make patches-import

   This will result in creation of:

   - a tag called ``${A_OPNFV_TAG}-root`` at submodule remote branch HEAD;
   - a new branch ``opnfv-armband`` which will hold all the armband work.

   Then each patch is applied on this new branch with ``git-am``.

   The new HEAD is tagged with ``${A_OPNFV_TAG}``.

#. Modify sub-projects for whatever you need.

   Commit your changes when you want them taken into account in the build.

   *NOTE*: If you want to re-export patches, make sure to move the tag
   ``${A_OPNFV_TAG}`` to the latest commit that should be included.

#. Re-create patches and add default copyright header via:

       .. code-block:: bash

           $ make patches-export patches-copyright

   Each commit on ``opnfv-armband`` branch of each subproject will be
   exported to ``patches/subproject/`` via ``git format-patch``.

#. Clean workbench branches and tags with:

       .. code-block:: bash

           $ make submodules-clean

Sub-projects
============

If you need to add another subproject, you can do it with ``git submodule``.
Make sure that you specify branch (with ``-b``), short name (with ``--name``)
and point it to ``upstream/*`` directory, i.e.:

   .. code-block:: bash

       $ git submodule -b stable/mitaka add --name fuel-web \
         https://github.com/openstack/fuel-web.git upstream/fuel-web
f; VM image must # ensure traffic forwarding between its interfaces # This configuration option can be overridden by CLI SCALAR option # guest_loopback, e.g. --test-params "guest_loopback=l2fwd" # For 2 VNFs you may use ['testpmd', 'l2fwd'] GUEST_LOOPBACK = ['testpmd', 'testpmd'] # username for guest image GUEST_USERNAME = 'root' # password for guest image GUEST_PASSWORD = 'root' # login username prompt for guest image GUEST_PROMPT_LOGIN = '.* login:' # login password prompt for guest image GUEST_PROMPT_PASSWORD = 'Password: ' # standard prompt for guest image GUEST_PROMPT = 'root.*#' # log file for qemu LOG_FILE_QEMU = 'qemu.log' # log file for all commands executed on guest(s) # multiple guests will result in log files with the guest number appended LOG_FILE_GUEST_CMDS = 'guest-cmds.log' # ############################ # Executables # ############################ QEMU_BIN = os.path.join(QEMU_DIR, 'x86_64-softmmu/qemu-system-x86_64') # For 2 VNFs you may use ['eth0', 'eth2'] GUEST_NIC1_NAME = ['eth0', 'eth0'] GUEST_NIC2_NAME = ['eth1', 'eth1'] # For 2 VNFs you may use ['00:00:00:00:00:01', '00:00:00:00:00:03'] GUEST_NET1_MAC = ['00:00:00:00:00:01', '00:00:00:00:00:03'] GUEST_NET2_MAC = ['00:00:00:00:00:02', '00:00:00:00:00:04'] # For 2 VNFs you may use ['00:04.0', '00:04.0'] GUEST_NET1_PCI_ADDRESS = ['00:04.0', '00:04.0'] GUEST_NET2_PCI_ADDRESS = ['00:05.0', '00:05.0'] GUEST_MEMORY = ['4096', '4096'] # test-pmd requires 2 VM cores GUEST_SMP = ['2', '2'] # Host cores to use to affinitize the SMP cores of a QEMU instance # For 2 VNFs you may use [(4,5), (6, 7)] GUEST_CORE_BINDING = [(6, 7), (9, 10)] GUEST_START_TIMEOUT = 120 GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk' OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share' # IP addresses to use for Vanilla OVS PVP testing # Consider using RFC 2544/3330 recommended IP addresses for benchmark testing. # Network: 198.18.0.0/15 # Netmask: 255.254.0.0 # Broadcast: 198.19.255.255 # First IP: 198.18.0.1 # Last IP: 198.19.255.254 # Hosts: 131070 # # ARP entries for the IXIA ports and the bridge you are using: VANILLA_TGEN_PORT1_IP = '1.1.1.10' VANILLA_TGEN_PORT1_MAC = 'AA:BB:CC:DD:EE:FF' VANILLA_TGEN_PORT2_IP = '1.1.2.10' VANILLA_TGEN_PORT2_MAC = 'AA:BB:CC:DD:EE:F0' VANILLA_BRIDGE_IP = ['1.1.1.5/16', '1.1.1.6/16'] VANILLA_NIC1_IP_CIDR = ['192.168.1.2/24', '192.168.1.4/24'] VANILLA_NIC2_IP_CIDR = ['192.168.1.3/24', '192.168.1.5/24'] VNF_AFFINITIZATION_ON = True