From 8e4e38a49c7fade81ed4b388ef8a03d1f08bb758 Mon Sep 17 00:00:00 2001 From: mrpa Date: Mon, 16 Dec 2019 19:40:47 +0100 Subject: Created the Evalkit 2.2.1 manual. Change-Id: I55d787020fa4e073efb5452cfe0523aa81d7882e --- doc/Makefile | 2 +- .../doc/appendix_1.xml | 25 + .../doc/book.xml | 38 + .../doc/branch_to_branch_connection.xml | 1107 ++++++++++++++++++++ .../doc/eltf_params_template.xml | 151 +++ .../doc/eltf_params_updated.xml | 286 +++++ .../eltf_params_updated_template_how_to_use.txt | 320 ++++++ .../doc/images/br_to_br_conn_overview.png | Bin 0 -> 95022 bytes .../doc/images/br_to_br_conn_setup.png | Bin 0 -> 79858 bytes .../doc/introduction.xml | 72 ++ .../doc/prerequisites.xml | 103 ++ .../doc/run_example_uc_auto_fm.xml | 41 + .../doc/setup_cleanup.xml | 54 + .../doc/validating_setup.xml | 37 + doc/book-enea-nfv-access-evalkit-2.2.1/swcomp.mk | 10 + 15 files changed, 2245 insertions(+), 1 deletion(-) create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/appendix_1.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/book.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/branch_to_branch_connection.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_template.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated.xml create mode 100755 doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated_template_how_to_use.txt create mode 100755 doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_overview.png create mode 100755 doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_setup.png create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/introduction.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/prerequisites.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/run_example_uc_auto_fm.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/setup_cleanup.xml create mode 100644 doc/book-enea-nfv-access-evalkit-2.2.1/doc/validating_setup.xml create mode 100755 doc/book-enea-nfv-access-evalkit-2.2.1/swcomp.mk diff --git a/doc/Makefile b/doc/Makefile index dc5b36b..33ade18 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -50,7 +50,7 @@ DOCBOOK_TO_BOOKDIR ?= yes DOCBOOK_CLEANTMP ?= yes #Components (books) in this subsystem. Now use all books found here -COMPONENTS := book-enea-nfv-access-auto-fw-th-user-guide book-enea-nfv-access-cmc-example-usecases book-enea-nfv-access-example-usecases book-enea-nfv-access-getting-started book-enea-nfv-access-open-source book-enea-nfv-access-release-info book-enea-nfv-access-system-test-specification +COMPONENTS := book-enea-nfv-access-auto-fw-th-user-guide book-enea-nfv-access-cmc-example-usecases book-enea-nfv-access-example-usecases book-enea-nfv-access-getting-started book-enea-nfv-access-open-source book-enea-nfv-access-release-info book-enea-nfv-access-system-test-specification book-enea-nfv-access-evalkit-2.2.1 # COMPONENTS += #book-enea-linux-eclipse-open-source #book-enea-nfv-access-dev-hardening-guide diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/appendix_1.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/appendix_1.xml new file mode 100644 index 0000000..a952493 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/appendix_1.xml @@ -0,0 +1,25 @@ + + + How to create a flexiwan cloud-init iso image (day-0 + configuration) + + Prerequisites: + + + + Development host with Linux shell. + + + + The genisoimage tool installed. + + + + Please unpack the + flexiwan/flexiwan-cloud-init-example.tar.gz and check + the README file for more details:tar -zxf flexiwant-cloud-init-example.tar.gz +cd flexiwan/cloud-init-example/ + + To generate the cloud-init iso image run the following script: + create_cloudinit.sh + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/book.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/book.xml new file mode 100644 index 0000000..cebae0c --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/book.xml @@ -0,0 +1,38 @@ + + +]> + + <trademark class="registered">Enea</trademark> NFV Access EvalKit Manual + + Release Version + + + + + + + + + + + + + + + + + + + diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/branch_to_branch_connection.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/branch_to_branch_connection.xml new file mode 100644 index 0000000..3dec671 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/branch_to_branch_connection.xml @@ -0,0 +1,1107 @@ + + + Branch to Branch Connection + + The setup detailed in this chapter covers the onboarding and + instantiation of two VNFs on a uCPE device and connecting the networks + between themIs this accurate?. The FlexiWAN and pfSense + VNFs are connected through a service chain in this case. + + The FlexiWAN SD-WAN and the pfSense virtual router service chain + connection setup is shown graphically below.
+ Branch to Branch Connection Overview + + + + + + +
This overview contains representations the + following: + + 1 in-band mgmt port for device management. + + + + 1 in-band mgmt port for pfSense. + + + + 1 WAN interface for FlexiWAN. + + + + 1 LAN facing interface for pfSense. + + + + 1 WAN facing interface for pfSense. + + + + 1 service chain (SFC Bridged interface) to sit between the + FlexiWAN and pfSense VNFs. + +
+ +
+ The uCPE Manager + + To begin, a device must be added within the uCPE Manager: + + + + Log into the uCPE manager with the username and password + "admin". + + + + Add a uCPE device into uCPE Manager: Devices -> + Manage -> Add. + + Use the following values to fill the required fields: + + + + + + + + Type + + Enea universal CPE + + + + Release + + 1.0 + + + + Name + + Ucpe1 + + + + IP/DNS Address + + Dynamic IP received by the device from the DHCP server + (E.g.: 172.24.12.74). + + + + Description + + ucpe device site 1 + + + + SSH + + Port 830 + + + + SSH User Name + + root + + + + Password + + + + + + OK + + + + Green status indicates connection with target was + established. + + + + In order to add a device on the map: Right-Click + on the Map -> Place Device -> + ucpe1 + + + + + +
+
+
+
+ +
+ Onboarding the FlexiWAN VNF + + After adding a device in the uCPE Manager, a VNF must be onboarded: + VNF -> Descriptors -> On-board -> VM + Image. + + Use the following values to fill the required fields: + + + + + + VM image file + + + flexiwan.qcow2 + + + + + Image format + + QCOW2 + + + + VNF Type Name + + flexiWAN + + + + Description + + Flexiwan VNF + + + + Version + + 1.0 + + + + Memory in MB + + 4096 - More memory can be allocated if required. + + + + Num of CPUs + + 2. More CPUs can be reserved if required and + available. + + + + Interfaces to add: + + wan and lan + + + + Cloud Init -> Cloud-Init Datasource + + ISO + + + + Cloud Init -> Cloud-Init Disk Type + + cdrom + + + + Onboard + + Wait for the message: "VNF package onboarded successfully" + then close the pop-up. + + + +
+
+ +
+ Onboarding the pfSense VNF + + After onboarding the first VNF, follow the same steps to add the + second: VNF -> Descriptors -> On-board -> VM + Image. + + Use the following values to fill the required fields: + + + + + + VM image file + + + pfSense.qcow2 + + + + + Image format + + QCOW2 + + + + VNF Type Name + + pfSense + + + + Description + + pfSense VNF + + + + Version + + 1.0 + + + + Memory in MB + + 1024 + + + + Num of CPUs + + 1 + + + + Interfaces to add: + + wan, lan and mgmt. + + + + Cloud Init -> Cloud-Init Datasource + + ISO + + + + Cloud Init -> Cloud-Init Disk Type + + cdrom + + + + Properties to add: + + + + + Name: vnfMgmtIpAddress. Value: + 10.0.0.31 + + + + Name: internalMgmtPort. Value: + 4432 + + + + Name: externalMgmtPort. Value: + 600023 + + + + + + + Onboard + + Wait for the message: "VNF package onboarded successfully" + then close the pop-up. + + + +
+ + Please note the following: + + + + 1vnfMgmtIpAddress (10.0.0.3) + represents the IP address of the management interface of the Fortigate + VNF. Changing this value requires an update of the Fortigate + configuration to match with new IP address. + + + + 2HTTPS access (443) can be changed to + another type of access. Please consult the official Fortigate + documentation for more details and make sure the Fortigate VNF is + configured to accept another type of connection before changing the + port number. + + + + 3externalMgmtPort (60002) represents + the external port on which a user can access the VNF management + interface from a web browser. The user can select another port if + needed. There are no other changes required or components affected by + this change. + + +
+ +
+ Configuring the infrastructure for the uCPE device installed on + site1 + + + + Select the ucpe1 device: Configuration -> + OpenVSwitch -> Host Interfaces -> Add. + + Use the following values to fill the required fields: + + + + Source: + enp4s0f1. + This is just an example interface. The user must select + the interface needed for use with the LAN connection. + + + + + Type: dpdk + (standard). + + + + networking-type: + dpdk. + + + + dpdk-type: vfio-pci. + + + + Click Create, and the + enp4s0f1 interface will be ready to use in a bridge + (LAN). + + + + Select the ucpe1 device: Configuration -> + OpenVSwitch -> Bridges -> Add. + + Use the following values to fill the required fields for the + four bridges that need to be created: + + ibm_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + ibm_br. + + + + ovs-bridge-type: + inbandMgmt. + + + + mgmt-address: Provide + the IPv4 address of the uCPE Manager machine (E.g. + 172.24.3.109). + + + + mgmt-port: + 830. + + + + Click Create. + + + + vnf_mgmt_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + vnf_mgmt_br. + + + + ovs-bridge-type: + vnfMgmt. + + + + vnf-mgmt-address: + 10.0.0.1 + + + + Click Create. + + + + sfc_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + sfc_br. + + + + ovs-bridge-type: + dataPlane. + + + + Sub-type: + integration. + + + + Click Create. + + + + lan_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + lan_br. + + + + ovs-bridge-type: + dataPlane. + + + + Sub-type: + communication. Name: enp4s0f1 + + + + Click Create. + + + + + + Instantiate the FlexiWAN VNF by selecting the ucpe1 device, then + the VNF menu -> Instances -> + Add. + + Use the following values to fill the required fields: + + + + Name: + Flexiwan_ucpe1. + + + + VNF Type: + flexiWAN. + + + + VNFD Version: 1.0. + + + + Flavour: Canonical. + + + + uCPE Device: Ucpe1. + + + + Cloud Init File: + flexiWAN1_cloudinit.iso. + + + Example image provided. Please see the Appendix for + details on how to change the configuration and create a new + cloud-init iso image. + + + Click Domain Update Script. + + + + Create the wan Interface: + + ID: + wan. + + Type: + dpdk tap. + + IF Name: Bridge: + ibm_br. + + Click Create. + + + + Create the lan Interface: + + ID: + lan. + + Type: + dpdk tap. + + IF Name: Bridge: + sfc_br. + + Click Create. + + + + + + Instantiate the pfSense VNF by selecting the + me1100 device, then the VNF menu -> + Instances -> Add. + + Use the following values to fill the required fields: + + + + Name: + Pfsense_ucpe1. + + + + VNF Type: + pfSense. + + + + VNFD Version: 1.0. + + + + Flavour: Canonical. + + + + uCPE Device: Ucpe1. + + + + Cloud Init File: + pfsense_192_168_1_1.iso. + + Click Domain Update Script. + + + + Create the wan Interface: + + ID: + wan. + + Type: + dpdk tap. + + IF Name: Bridge: + sfc_br. + + Click Create. + + + + Create the lan Interface: + + ID: + lan. + + Type: + dpdk tap. + + IF Name: Bridge: + lan_br. + + Click Create. + + + + Create the mgmt Interface: + + ID: + mgmt. + + Type: + dpdk tap. + + IF Name: Bridge: + vnf_mgmt_br. + + Click Create. + + + + +
+ +
+ Configuring the infrastructure for the uCPE device installed on + site2 + + + + Select the ucpe2 device: Configuration -> + OpenVSwitch -> Host Interfaces -> Add. + + Use the following values to fill the required fields: + + + + Source: + enp4s0f1. + This is just an example interface. The user must select + the interface needed for use with the LAN connection. + + + + + Type: dpdk + (standard). + + + + networking-type: + dpdk. + + + + dpdk-type: vfio-pci. + + + + Click Create, and the + enp4s0f1 interface will be ready to use in a bridge + (LAN). + + + + Select the ucpe2 device: Configuration -> + OpenVSwitch -> Bridges -> Add. + + Use the following values to fill the required fields for the + four bridges that need to be created: + + ibm_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + ibm_br. + + + + ovs-bridge-type: + inbandMgmt. + + + + mgmt-address: Provide + the IPv4 address of the uCPE Manager machine (E.g. + 172.24.3.109). + + + + mgmt-port: + 830. + + + + Click Create. + + + + vnf_mgmt_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + vnf_mgmt_br. + + + + ovs-bridge-type: + vnfMgmt. + + + + vnf-mgmt-address: + 10.0.0.1 + + + + Click Create. + + + + sfc_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + sfc_br. + + + + ovs-bridge-type: + dataPlane. + + + + Sub-type: + integration. + + + + Click Create. + + + + lan_br: + + + + id: <autogenerated + - do not change>. + + + + Name: + lan_br. + + + + ovs-bridge-type: + dataPlane. + + + + Sub-type: + communication. Name: enp4s0f1 + + + + Click Create. + + + + + + Instantiate the FlexiWAN VNF by selecting the ucpe2 device, then + the VNF menu -> Instances -> + Add. + + Use the following values to fill the required fields: + + + + Name: + Flexiwan_ucpe2. + + + + VNF Type: + flexiWAN. + + + + VNFD Version: 1.0. + + + + Flavour: Canonical. + + + + uCPE Device: Ucpe2. + + + + Cloud Init File: + flexiWAN2_cloudinit.iso. + + + Example image provided. Please see the Appendix for + details on how to change the configuration and create a new + cloud-init iso image. + + + Click Domain Update Script. + + + + Create the wan Interface: + + ID: + wan. + + Type: + dpdk tap. + + IF Name: Bridge: + ibm_br. + + Click Create. + + + + Create the lan Interface: + + ID: + lan. + + Type: + dpdk tap. + + IF Name: Bridge: + sfc_br. + + Click Create. + + + + + + Instantiate the pfSense VNF by selecting the + ucpe2 device, then the VNF menu -> + Instances -> Add. + + Use the following values to fill the required fields: + + + + Name: + Pfsense_ucpe2. + + + + VNF Type: + pfSense. + + + + VNFD Version: 1.0. + + + + Flavour: Canonical. + + + + uCPE Device: Ucpe2. + + + + Cloud Init File: + pfsense_192_168_2_1.iso. + + Click Domain Update Script. + + + + Create the wan Interface: + + ID: + wan. + + Type: + dpdk tap. + + IF Name: Bridge: + sfc_br. + + Click Create. + + + + Create the lan Interface: + + ID: + lan. + + Type: + dpdk tap. + + IF Name: Bridge: + lan_br. + + Click Create. + + + + Create the mgmt Interface: + + ID: + mgmt. + + Type: + dpdk tap. + + IF Name: Bridge: + vnf_mgmt_br. + + Click Create. + + + + + +
+ Overview + + + + + + +
+
+ +
+ Configuring FlexiWAN + + Connect to https://app.flexiwan.com and make + sure you have an account and at least two valid device tokens. + + Proceed to the Investoryis this accurate? menu, + click on Devices, the devices should already be present + and need to be set. + + How to set a device + + + + Select each device and make sure to set the following + values: + + + + + + Target1(ucpe1) + + Target1(ucpe2) + + + + Device Name: target1 + + Device Name: target2 + + + + Description: Set IPv4 for the second interface + (ens3): 10.0.1.1/24. + + Description: Set IPv4 for the second interface + (ens3): 10.0.2.1/24. + + + + Set "Approved". + + Set "Approved". + + + + Click "Update Device". + + Click "Update Device". + + + +
+
+ + + Select the option for each device to be put in the "running" + state. + + + + Wait for each "vRouter" to enter the running state. + + + + Select the main top up checkbox in order to select all devices + and hit "Create Tunnels". At this moment a direct connection should be + available between those two targets. + +
+ + + For the pfSense VNF there is no need for manual configuration. The + configuration provided into the cloud init image is good enough to run + the setup. + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_template.xml new file mode 100644 index 0000000..eaa7ebd --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_template.xml @@ -0,0 +1,151 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + ELTF_PL_HOST_PREREQ + + A programlisting, ID + "eltf-getting-repo-install-command" + + ELTF_PL_GET_REPO + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + ELTF_EL_REL_VER + + ELTF_YOCTO_VER + + ELTF_YOCTO_NAME + + ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL + + ELTF_EL_DOWNLOAD_TXTURL + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + ELTF_PL_CLONE_W_REPO + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the + template.xml and in the updated.xml, set condition hidden on the + <row>, if eclipse is not in the release. + + + + + + Eclipse version ELTF_ECLIPSE_VERSION plus command line + development tools are included in this Enea NFV Access release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Targets with Parameters + + The tables below describes the target(s) supported in this Enea + NFV Access release. + +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + + + + + + + + + + Target official name + + ELTF_T_NAME + + + + Architecture and Description + + ELTF_T_ARC_DESC + + + + Link to target datasheet + + See ELTF_T_DS_TXTURL + + + + Poky version + + ELTF_T_POKY_VER + + + + GCC version + + ELTF_T_GCC_VER + + + + Linux Kernel Version + + ELTF_T_KERN_VER + + + + Supported Drivers + + ELTF_T_DRIVERS + + + + Enea rpm folder for downloading RPM packages for this + target + + ELTF_T_EL_RPM_TXTURL + + + + +
+ + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated.xml new file mode 100644 index 0000000..bb969c6 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated.xml @@ -0,0 +1,286 @@ + + +
+ File with Parameters in the Book Auto-updated by ELFT + + + See the eltf_params_updated_template_howto_use.txt text + file for description of how to create the final eltf_params_updated.xml from this template and for + all REQUIREMENTS. Use the command + "make eltf" to extract a full list of all + ELTF variables, which always begins with ELTF_ and don't only rely on the + howto text file list! The plan is that ELTF will auto-update this when + needed. + + +
+ Common Parameters + + A programlisting, ID + "eltf-prereq-apt-get-commands-host" + + # Host Ubuntu 16.04 LTS 64bit +sudo apt-get -y update +sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + + A programlisting, ID + "eltf-getting-repo-install-command" + + mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + + Several phrase elements, various IDs. Ensure EL_REL_VER is + correct also compared to the "previous" REL VER in pardoc-distro.xml + "prev_baseline". + + 2.2.1 + + 2.1 + + krogoth + + http://www.yoctoproject.org/downloads/core/krogoth/21 + + https://linux.enea.com/6 + + A programlisting, ID "eltf-repo-cloning-enea-linux". Use + $MACHINE/default.xml as parameter, where MACHINE is one of the target + directory names in the manifest. + + mkdir enea-linux +cd enea-linux +repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + + A table with ONE row, only the row with ID + "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set + condition hidden if eclipse is not in the release. Do this both in + template.xml and updated.xml. + + + + + + Eclipse version 4.3 (Mars) plus command line development + tools are included in this Enea NFV Access release. + + + + + + Below is one big section with title "Supported Targets with + Parameters". The entire section is included completely in the book via ID + "eltf-target-tables-section" and shall be LAST in the template. The + template contains ONE target subsection. COPY/APPEND it, if multiple + targets exist in the release and optionally add rows with additional + target parameters in each target subsection table. +
+ +
+ Supported Reference Boards with Parameters + + The table(s) below describes the target(s) supported in this Enea + NFV Access release. + + + MACHINE Information Intel Xeon D + + + + + + + Component + + Description + + + + + + Target official name + + Intel Xeon D + + + + Architecture and Description + + x86-64 + + + + Link to target datasheet + + Intel's + datasheet + + + + Poky version + + Git-commit-id: + 7e7ee662f5dea4d090293045f7498093322802cc + + + + GCC version + + 7.3 + + + + Linux Kernel Version + + 4.14 + + + + Supported Drivers + + Ethernet, RTC, UART + + + +
+ + + MACHINE Information Intel Atom C3000 + + + + + + + Component + + Description + + + + + + Target official name + + Intel Atom C3000 + + + + Architecture and Description + + x86-64 + + + + Link to target datasheet + + Intel's + datasheet + + + + Poky version + + Git-commit-id: + 7e7ee662f5dea4d090293045f7498093322802cc + + + + GCC version + + 7.3 + + + + Linux Kernel Version + + 4.14 + + + + Supported Drivers + + Ethernet, RTC, UART + + + +
+ + + MACHINE Information + + + + + + + Component + + Description + + + + + + Target official name + + OCTEON TX™ cn8304 + + + + Architecture and Description + + arm64 + + + + Link to target datasheet + + OCTEON + TX™ cn8304 datasheet + + + + Poky version + + Git-commit-id: + f01b909a266498853e6b3f10e6b39f2d95148129 + + + + GCC version + + 5.3FIXME + + + + Linux Kernel Version + + 3.12FIXME + + + + Supported Drivers + + Ethernet, RTC, UART + + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated_template_how_to_use.txt new file mode 100755 index 0000000..62e5d02 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/eltf_params_updated_template_how_to_use.txt @@ -0,0 +1,320 @@ +eltf_params_template_updated_howto_use.txt + +This is a way to collect all parameters for an Enea NFV Access release +in one parameter file, easy to automatically update by ELTF regularly. + +NOTE: Both the release info AND the open source books use parameters from + here, but the XML file is inside the release info book directory. + +NOTE: The manifest_conf.mk, or overridden by the environment variable + MANIFESTHASH, contains the full tag (or hashvalue) for downloading + the manifest when the books are built. The list of target + directories are fetched from the manifest into the book. + The eltf_params_updates.xml can all the time contain + the final next complete tag e.g. refs/tags/EL6 or similar + in the ELTF_PL_CLONE_W_REPO parameter command lines. + +The ordinary book XML files use xi:include statements to include elements +from this parameter file. The book XML files can thus be manually edited. +Before editing, you must run "make init". +Any other text in the template or updated.xml file, outside the parts that +are included in the book, are not used but still all must be correct +DocBook XML files. + +ELTF work: + template => ELTF replaces ALL ELTF_xxx variables => updated XML file + => push to git only if changed + + +eltf_params_template.xml (in git) + File used by ELTF to autocreate/update the real parameter + file eltf_params_updated.xml. + +eltf_params_updated.xml (in git) + Real parameter file where ELTF has replaced all ELTF_xx variables with + strings, in several cases with multiline strings. + No spaces or linefeed allowed in beginning or end of the variable values! + + +xi:include: Each parameter is xi:include'ed in various book files, using + the IDs existing in the parameter files. + In most cases the 1:st element inside an element with an ID is included + using a format like eltf-prereq-apt-get-commands-host/1. + In very few cases the element with the ID is included in the book, one + example is the target section which has an ID, but which contains + multiple subsections, one per target. + All IDs in a book must be unique. + +DocBook XML: All XML files must be correct DocBook XML files. + +Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes + not done by ELTF. But it is OK to open the real file in XMLmind to + check that the format is correct. + +ELTF should autocreate a temporary "real" file but only replace + and push the eltf_params_updated.xml if it is changed. + + +make eltf + This lists all ELTF_xxx variables and some rules how to treat them + +DocBook Format: All elements - rules: + Several strict generic XML rules apply for all strings: + 1. No TABs allowed or any other control chr than "linefeed" + 2. Only 7-bit ASCII + 3. Any < > & must be converted to < > and & + Similar for any other non-7-bit-ASCII but avoid those! + 4. No leading spaces or linefeeds when replacing the ELTF_* variable + 5. No trailing spaces or linefeeds when replacing the ELTF_* variable + 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. + +DocBook Format: - rules: ELTF*PL* variables + Several strict rules apply for the multiline string in programlisting + in addition to the general XML rules above: + 7. Max line length < 80 char + 8. Use backslash (\) to break longer lines + 9. Use spaces (e.g. 4) to indent continuation lines in programlistings + 10. No trailing spaces on any line + 11. No spaces or linefeed immediately after leading + 12. No spaces or linefeed before trailing + +DocBook Format: - rules: ELTF_*URL* variables + 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings + 14. Only if the URL is extremely long, the TXTURL can be a separate string + +Each target has one section with target parameters: +
+ MACHINE ELTF_T_MANIFEST_DIR - Information + ..... with many ELTF_ variables .... +
+ + 15. If there is only one target. ELTF just replaces ELTF parameters + + 16. It there are multiple targets. ELTF copies the section and appends the + section the required number of times. + Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR + Each section title will become unique + +Tables with target parameters in each target section: + 17. It is possible for ELTF to append more rows with one parameter each + to these tables, because the entire tables are included in the book + +Special - NOT YET READY DEFINED how to handle the optionally included + Eclipse and its version, but this is a first suggestion: + 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string + with both version number and name, + 19. MANUALLY if Eclipse is NOT included in the release, + the release manager should manually set condition="hidden" on + the entire section in the book XML about Eclipse + + + +BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf +if there are more new variables, missing in this description file. + +_____________________________________________________________________________ +ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands + like sudo apt-get install xxxx or similar. + First line = comment with the complete host name! + It is possible to include multiple hosts by just + adding an empty line, comment with host name, etc. + xi:include eltf-prereq-apt-get-commands-host/1 + This is a ... + Example: +# Host Ubuntu 14.04.5 LTS 64bit +sudo apt-get update +sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ + texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ + make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ + libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ + libxml-parser-perl + +_____________________________________________________________________________ +ELTF_PL_GET_REPO Multiline commands to download the repo tool + xi:include eltf-getting-repo-install-command/1 + This is a ... + Example: +mkdir -p ~/bin +curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo +chmod a+x ~/bin/repo +export PATH=~/bin:$PATH + +_____________________________________________________________________________ +ELTF_EL_REL_VER General parameter string: The version of this Enea + NFV Access release. Major version and optional .Minor + Typically created from MAJOR and MINOR in enea.conf + MINOR in enea.conf is empty or contains a dot+minor + xi_include EneaLinux_REL_VER/1 + This is a X.x used in many places. + Examples: +6 + or +6.1 + +_____________________________________________________________________________ +ELTF_YOCTO_VER General parameter string: Yocto version, created + from DISTRO in poky.ent + xi:include Yocto_VER/1 + This is a X.x used in many places. + Example: +2.1 + +_____________________________________________________________________________ +ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created + from DISTRO_NAME_NO_CAP in poky.ent + xi:include Yocto_NAME/1 + This is a X.x used in many places. + Example: +krogoth + +_____________________________________________________________________________ +ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL +ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string + at the end, typically without "dot". + xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 + This is an ... + Example: +http://www.yoctoproject.org/downloads/core/krogoth/21 + +_____________________________________________________________________________ +ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings +ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where + Enea NFV Access can be downloaded + Often containing same version as in ELTF_EL_REL_VER + xi:include ULINK_ENEA_LINUX_URL/1 + This is an ... + Example: +http://linux.enea.com/6 + +_____________________________________________________________________________ +ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. + Use the variable $MACHINE/default.xml (the text in + the book will list the avaiable values of MACHINE, + taken from the manifest repository) + xi:include eltf-repo-cloning-enea-linux/1 + This is a ... + Example: +mkdir enea-linux +cd enea-linux +repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ + -b refs/tags/EL6 -m $MACHINE/default.xml +repo sync + +_____________________________________________________________________________ +ELTF_ECLIPSE_VERSION Optional general parameter string. + NOT YET READY DEFINED + Just now a release manage must manually set + condition="hidden" on the Eclipse section, + if Eclipse is not included in the release. + ELTF just replaces ELTF_ECLIPSE_VERSION with a full + string with "X.Y (name)" + It includes the ID and can only be ONCE in the book. + xi:include eltf-eclipse-version-row + Example. +4.5 (Mars) + + +_____________________________________________________________________________ +ELTF_T_* All these are in each target (MACHINE) and ELTF + must separately replace them with strings for + each target + NOTE: All (except the MANIFEST_DIR) are in rows + in a table and ELTF can select to append + more parameters by adding more rows + +_____________________________________________________________________________ +ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly +ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same + as the MACHINE names in $MACHINE/default.xml. + In book: a) Part of section ID + b) Part of section title + Examples: +p2041rgb + or +ls1021aiot + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_NAME Target specific: "Target Official Name" + NOT same as the target directory name in most cases. + In book: An element in a row + Examples: +P2041RGB + or +LS1021a-IoT + or +qemuarm + +_____________________________________________________________________________ +ELTF_T_ARC_DESC Target specific: "Architecture and Description" + It can be a short identification string or + it can be a longer descriptive sentence. + In book: An element in a row + Examples: +Power, e500mc + or +ARM Cortex-A7 + +_____________________________________________________________________________ +ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These +ELTF_T_DS_URL two usually are IDENTICAL strings with correct + hyperlink to the target's official datasheet. + In book: an ... + Only if the link is VERY LONG, the text part shall + instead be a descriptive string (see 2:nd example). + NOTE: Also here no spaces or line-feeds! + Examples: +url="http://wiki.qemu.org">http://wiki.qemu.org +or +url="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors/qoriq-ls1021a-iot-gateway-reference-design:LS1021A-IoT">link to NXP's datasheet + +_____________________________________________________________________________ +ELTF_T_POKY_VER Target specific: "Poky version" created either + from POKYVERSION in poky.ent + or using a hashvalue with a leading string, in + which case it may be different per target. + In book: An in a row + Examples: +15.0.0 +or +Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 + +_____________________________________________________________________________ +ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky + but not easy to find among various parameters. + ELTF would extract it from build logs building SDK + and it is possibly different per target. + In book: An in a row + Example: +5.3 + +_____________________________________________________________________________ +ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often + different per target. + In book: An in a row + Example: +3.12 + +_____________________________________________________________________________ +ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a + comma-separated list of driver names. + ELTF should create the list in same order for each + target, e.g. alphabetic migth be OK. + In book: An in a row + Example: +Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC + + +_____________________________________________________________________________ +ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading +ELTF_T_EL_RPM_URL RPM packages for this target". These two are + INDENTICAL strings with hyperlink to the web site + at Enea where the customer can download RPMs + Note: Often the ELFT_EL_REL_VER value and + the ELTF_T_MANIFEST_DIR are used in the link. + In book: an ... + Example: +url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm + +_____________________________________________________________________________ diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_overview.png b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_overview.png new file mode 100755 index 0000000..977de0f Binary files /dev/null and b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_overview.png differ diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_setup.png b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_setup.png new file mode 100755 index 0000000..feb18a3 Binary files /dev/null and b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/images/br_to_br_conn_setup.png differ diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/introduction.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/introduction.xml new file mode 100644 index 0000000..c294a77 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/introduction.xml @@ -0,0 +1,72 @@ + + + Introduction + + Enea NFV Access for the universal Customer Premise Equipment (uCPE) is + a virtualization and management platform, which allows end-users to + introduce, instantiate, and run third-party VNFs onto their systems. + + The solution is comprised of two major components working in close + cooperation: + + + + The Enea NFV Access Run-Time Platform, which acts as the host for + Virtualized Network Functions (VNFs) and provides management over + NETCONF. + + + + The Enea uCPE Manager, a solution that runs on an external server, + providing VNF Management functionality and managing large numbers of + uCPEs. + + + + The current Enea NFV Access solution provides a working and deployable + configuration as an example for branch-to-branch connection setup using the + flexiWAN and pfSense VNFs service chained together on a uCPE device. + + This document will present all information required to replicate the + use cases described therein in the user's environment. The first part of + this manual uses the GUI mode of the uCPE Manager to detail the steps in + order to reproduce the use cases, while the chapters thereafter use the + automation framework. + + + All VNF configurations should be seen as example configurations + working in Enea internal lab and the user must update these files with the + configuration data needed according to his network setup. Particularities + are described in Appendix A. + + This is document assumes the user is familiar with ENFV Access and + has read the Enea NFV Access Getting Started manual before continuing with + the following. + + +
+ Definitions and Acronyms + +
+ uCPE Manager + + The Enea uCPE Manager is an EMS/NMS platform that provides the VNF + Management capabilities for NFV Access devices. The uCPE Manager can be + deployed on a Linux (CentOS) based physical or virtual server. + Co-resident with the uCPE Manager is additional functionality, which + includes the Automation Framework. +
+ +
+ Automation Framework + + The Automation Framework consists of a set of tooling and a + collection of Python based scripts that can be used to automate the + process of onboarding a VNF with all of the required configuration for + day zero deployment at scale. + + This tooling calls the auto generated REST API that's exposed on + the uCPE Manager as a north bound interface. +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/prerequisites.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/prerequisites.xml new file mode 100644 index 0000000..1b348ee --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/prerequisites.xml @@ -0,0 +1,103 @@ + + + Prerequisites + +
+ Prerequisites + + + Required Elements + + + + + + + Prerequisites + + Observations + + + + + + uCPE device + + Processor Xeon-D/atom-C3000 + + + + 2 x network interfaces + + + + SSD storage + + + + 8GB RAM + + + + + + This is an example hardware configuration available in + the Enea Lab. + + + + One of the SFP ports is connected to a network with + DHCP server access (receiving a dynamic IP based on + MAC). + + + + The device has network access to the uCPE + Manager. + + + + NFV Access is installed on the device. Please see the + Enea NFV Access Getting Started Manual, + chapter "Enea NFV Access Installer" for more details. + + + + + + Management machine - Linux based (CentOS) + + + + The uCPE Manager is installed on this host or virtual + machine. Pease see the Enea NFV Access Getting + Started Manual, chapter "Getting Started with + Enea uCPE Manager" for more details. + + + + The uCPE Manager must have access to the me1100 + target. + + + + A web browser will access the management interface of + the VNFs. Management interfaces of the VNF can be accessed + from any machine connected on the same network with the + me1100 target. + + + + + +
+
+ +
+ Release structure + + + + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/run_example_uc_auto_fm.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/run_example_uc_auto_fm.xml new file mode 100644 index 0000000..455ac1f --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/run_example_uc_auto_fm.xml @@ -0,0 +1,41 @@ + + + Running Example Use-cases from the Automation Framework + +
+ Setup on ucpe1 + + How to Deploy fexiwan and pfsense VNFs on + ucpe1 + + > cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> \ +-n ucpe1 -s flexiwan_pfsense_ucpe1.json -d "ucpe1 Deployment" + + Clean-up: + + > python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> \ +-n ucpe1 -s ucpe1Cleanup.json -d "ucpe1 Clean-up" +
+ +
+ Setup on ucpe2 + + How Deploy fexiwan and pfsense VNFs on + ucpe2 + + > cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> \ +-n ucpe2 -s flexiwan_pfsense_ucpe2.json -d "ucpe2 Deployment" + + Clean-up: + + > python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> \ +-n ucpe1 -s ucpe1Cleanup.json -d "ucpe1 Clean-up" + + + Please replace <uCPE_Manager_IP> with IP address of uCPE + Manager machine. + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/setup_cleanup.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/setup_cleanup.xml new file mode 100644 index 0000000..0261844 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/setup_cleanup.xml @@ -0,0 +1,54 @@ + + + Setup Clean-up + + In order to remove the setup created in the previous chapter all + components need to be deleted in reverse order: + + + + Select the ucpe1 target, access the VNF menu + then Instances FlexiWAN and pfSense and press + Delete. + + + + Select the ucpe1 target, access the + Configuration menu, then + OpenVSwitch -> Bridges. Select + all bridges and press Delete. + + + + Select the ucpe1 target, access the + Configuration menu, then + OpenVSwitch -> Host Interfaces. + Select all interfaces and press Delete. + + + + Select the ucpe2 target, access the VNF menu + then Instances FlexiWAN and pfSense and press + Delete. + + + + Select the ucpe2 target, access the + Configuration menu, then + OpenVSwitch -> Bridges. Select + all bridges and press Delete. + + + + Select the ucpe2 target, access the + Configuration menu, then + OpenVSwitch -> Host Interfaces. + Select all interfaces and press Delete. + + + + Access the VNF menu, select + Descriptors. Select all bundles press Delete. + + + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/doc/validating_setup.xml b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/validating_setup.xml new file mode 100644 index 0000000..fa3b07e --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/doc/validating_setup.xml @@ -0,0 +1,37 @@ + + + Validating the Setup + + In order to access the web interfaces of the + pfSense VNF: + + + + Open a browser on a machine connected on the same network with the + WAN port of the uCPE device. + + + + Connect to: https://<publicIP>:60002 with + the username: admin and the password: pfsense. + Please make sure the WAN interface of each device has access + to the internet. + + + + + In order to validate the data + path: + + + + Connect a test machine to the LAN physical port. + + + + Check for a dynamic IP. The pfSense LAN interface is configured + with a DHCP server:> dhclient eth1 +> ping 192.168.2.1 + + + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-evalkit-2.2.1/swcomp.mk b/doc/book-enea-nfv-access-evalkit-2.2.1/swcomp.mk new file mode 100755 index 0000000..70f0766 --- /dev/null +++ b/doc/book-enea-nfv-access-evalkit-2.2.1/swcomp.mk @@ -0,0 +1,10 @@ +# Component build specification + +# Version of THIS book +BOOK_VER ?= $(REL_VER)-dev + +DOCBOOK_SRC := $(COMP)/swcomp.mk $(COMP)/doc/book.xml $(shell find $(COMP)/doc -type f \( -name "*.xml" -o -name "*.svg" -o -name "*.png" \) ! -name "book.xml" -print) + +BOOKPACKAGES := book-enea-nfv-access-evalkit-2.2.1 +BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access $(PROD_VER) for CMC Networks Example Use-cases" +BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) -- cgit v1.2.3-54-g00ecf