From 720f0b844023252faec537bcde47d5df2d64608b Mon Sep 17 00:00:00 2001 From: Miruna Paun Date: Thu, 29 Aug 2019 18:17:44 +0200 Subject: Created xml conversion of CMC UC manual, proofed and edited. Change-Id: Ibae3c7401e4b7ddacfe4d4af1bdc677ab2f9cbde --- doc/Makefile | 2 +- .../doc/128t_vnf_router.xml | 710 +++++++++++++ .../doc/appendix_1.xml | 63 ++ .../doc/appendix_2.xml | 326 ++++++ .../doc/appendix_3.xml | 7 + .../doc/appendix_4.xml | 52 + .../doc/appendix_5.xml | 213 ++++ .../doc/book.xml | 47 + .../doc/eltf_params_template.xml | 151 +++ .../doc/eltf_params_updated.xml | 286 ++++++ .../eltf_params_updated_template_how_to_use.txt | 320 ++++++ .../doc/enea_vnf_examples.xml | 289 ++++++ .../doc/general_env_prerequisites.xml | 163 +++ .../doc/images/kontron_me1100.png | Bin 0 -> 88944 bytes .../doc/images/kontron_me1100_servicechain.png | Bin 0 -> 41444 bytes .../doc/introduction.xml | 152 +++ .../doc/service_chaining_128t_fortigate.xml | 1059 ++++++++++++++++++++ .../doc/usecases_autoframe.xml | 41 + .../swcomp.mk | 10 + 19 files changed, 3890 insertions(+), 1 deletion(-) create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/128t_vnf_router.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_1.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_2.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_3.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_4.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_5.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/book.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_template.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_updated.xml create mode 100755 doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_updated_template_how_to_use.txt create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/enea_vnf_examples.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/general_env_prerequisites.xml create mode 100755 doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100.png create mode 100755 doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100_servicechain.png create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/introduction.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/service_chaining_128t_fortigate.xml create mode 100644 doc/book-enea-nfv-access-cmc-example-usecases/doc/usecases_autoframe.xml create mode 100755 doc/book-enea-nfv-access-cmc-example-usecases/swcomp.mk (limited to 'doc') diff --git a/doc/Makefile b/doc/Makefile index b9e7bac..11505e2 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-example-usecases book-enea-nfv-access-getting-started book-enea-nfv-access-open-source book-enea-nfv-access-release-info book-enea-nfv-access-vnf-onboarding-guide book-enea-nfv-access-reference-guide-intel book-enea-nfv-access-auto-fw-th-user-guide book-enea-nfv-access-system-test-specification +COMPONENTS := 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-vnf-onboarding-guide book-enea-nfv-access-reference-guide-intel book-enea-nfv-access-auto-fw-th-user-guide book-enea-nfv-access-system-test-specification book-enea-nfv-access-cmc-example-usecases # COMPONENTS += #book-enea-linux-eclipse-open-source #book-enea-nfv-access-dev-hardening-guide diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/128t_vnf_router.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/128t_vnf_router.xml new file mode 100644 index 0000000..0a6a38a --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/128t_vnf_router.xml @@ -0,0 +1,710 @@ + + + 128T VNF Router Example Use-case + + The 128T Networking Platform (128T) natively provides network-based + security, control, and insight across data centers, wide-area networks + (WAN), and edge locations for enterprises, service providers, and cloud + companies alike. + +
+ Prerequisites + + The following are needed for this example use case: + + + + 1 in band management port for device management. + + + + 1 in band management port for 128T VNF. + + + + 1 WAN interface for 128T. + + + + 1 LAN interface for 128T. + + +
+ +
+ 128T VNF Router + +
+ 128T VNF Router Setup Overview + + + + + + +
+ +
+ Use-case Setup + + Configuring Network Interfaces on uCPE + devices: + + Log into the uCPE Manager with both username and password + values: admin. + + + + Add the Kontron me1100 uCPE device into the uCPE Manager: + Devices -> Manage -> Add. + + Fill in the required fields with the following data: + + + Device Details + + + + + + + + + + + Field + + Value + + + + + + Type + + Enea universal CPE + + + + Release + + 1.0 + + + + Name + + me1100 + + + + IP/DNS Address + + Dynamic IP received by device from DHCP server + (E.g.: 172.24.12.74). + + + + Description + + Kontron Target 1 + + + + SSH Port + + 830 + + + + SSH User Name + + root + + + + Password + + null + + + + OK + + Green status indicates connection with uCPE device + was established. + + + +
+
+ + + In order to add the device on the map: Right-Click on + Map -> Place Device -> me1100. + + + + Configure the virtualization infrastructure for 128T VNF by + creating three OVS bridges and a host interface. + + Select the me1100 device then: Configuration -> + OpenVSwitch -> Bridges -> Add. Fill in the + required fields for each bridge with the following data from each + table: + + + ibm_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + ibm_br + + + + ovs-bridge-type + + dpdkWan + + + + mgmt-address + + Provide the IP address of the uCPE Manager machine + (E.g. 172.24.3.109). + + + + mgmt-port + + 830 + + + + Create + + The system will automatically select the + physical interface that has access to the uCPE + Manager. + + + +
+ + + vnf_mgmt_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + vnf_mgmt_br + + + + ovs-bridge-type + + vnfMgmt + + + + vnf-mgmt-address + + 10.0.0.1 + + + + Create + + + + + +
+ + + lan_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + lan_br + + + + ovs-bridge-type + + canonical + + + + + + + Name: enp4s0f1 OK + + + + Create + + + + + +
+ + Add the Host Interface by selecting the me1100 device, then + Configuration -> OpenVSwitch -> Host Interfaces + -> Add. + + + + Fill in the required fields with the following data: + + + Host Interface Details + + + + + + + + + + + Field + + Value + + + + + + Source + + enp4s0f1. The only interface + available for LAN connection. + + + + type + + dpdk + + + + networking-type + + dpdk + + + + dpdk-type + + vfio-pci + + + + Create + + <interface enp4s0f1 ready to be used in a LAN + bridge.> + + + +
+
+
+ + Onboarding the VNFs: + + Onboard the VM Image through VNF -> Descriptors -> + On-board -> VM Image, and fill in the required fields with + the following values: + + + VM Image Details + + + + + + + + + + + Field + + Value + + + + + + VM image file + + centos_128t_with_ci.qcow2 + + + + Image format + + QCOW2 + + + + VNF Type Name + + 128T + + + + Description + + 128T Router + + + + Version + + 1.0 + + + + Memory in MB + + 8192. More memory can be allocated if required + (<28672). + + + + Num. of CPUs + + 2. More CPUs can be reserved if required + (<15). + + + + Interfaces -> + + + Name: mgmt + + + + Interfaces -> + + + Name: wan + + + + Interfaces -> + + + Name: lan + + + + Cloud Init -> Cloud-Init Datasource + + ISO + + + + Cloud Init -> Cloud-Init Disk Type + + cdrom + + + + Properties -> + + + Name: vnfMgmtIpAddress. Value: 10.0.0.2 + + + + Properties -> + + + Name: internalMgmtPort. Value: 443 + + + + Properties -> + + + Name: externalMgmtPort. Value: 60001 + + + + Onboard + + <Wait for message: VNF package onboarded + successfully> + + + + Close + + + + + +
+ + + + + HTTPS access (443) can be changed with another type of + access. Please consult official 128T documentation and make sure + the 128T VNF is configured to accept another type of connection + before changing the port number. + + + + externalMgmtPort (60001) represents the + external port on which the user can access the VNF management + interface via HTTPS. Another port can be selected if needed. There + are no other changes required or components affected by this + change. + + + + vnfMgmtIpAddress (10.0.0.2) represents + the IP address of the management interface of the 128T VNF. + Changing this value requires an update to the 128T configuration + to match the new IP address. + + + + + Instantiating the VNFs: + + Instantiate the 128T VNF by selecting the me1100 device, then + VNF -> Instances -> Add. + + Fill in the required fields with the following values: + + + 128T VNF Instantiation + + + + + + + + + + + Field + + Value + + + + + + Name + + 128T_me1100_1 + + + + VNF Type + + 128T + + + + VNFD Version + + 1.0 + + + + Flavour + + Canonical + + + + uCPE Device + + me1100 + + + + Cloud Init File + + centos_128t_internet_ci.iso + + + + Domain Update Script + + + + + + Interfaces + + + + + + ID + + IF Name + + + + mgmt (dpdk) + + Bridge: vnf_mgmt_br + + + + wan (dpdk) + + Bridge: ibm_br + + + + lan (dpdk) + + Bridge: lan_br + + + + Create + + + + + +
+
+ +
+ Testing the Use-case + + In order to access the web interface of the 128T VNF, open a + browser from a machine connected on the same network with the WAN port + of the me1100 uCPE device and browse to: + https://<public_me1100_WAN_IP>:60001. Log in + using the following credentials: + + + + Username: admin + + + + Password: 128Tadmin + + + + In order to validate the data path, connect a test machine to the + LAN physical port, assign the static IP and a route:> ifconfig eth3 192.168.64.2 netmask 255.255.255.0 +> ip route add default via 192.168.64.1 dev eth3 +> ping 8.8.8.8For data path validation, it may be required + to generate a new cloud-init image to match your network configuration. + Please check Appendix A: How to create 128T cloud-init iso image (day-0 + configuration), for more details. +
+ +
+ Use-case Clean-up + + In order to remove the setup created previously all components + need to be deleted in reverse order: + + + + Select the me1100 uCPE device -> VNF -> Instances -> + 128T -> Delete. + + + + Select the me1100 uCPE device -> Configuration -> + OpenVSwitch -> Bridges. Select all bridges -> Delete. + + + + Select the me1100 uCPE device -> Configuration -> + OpenVSwitch -> Host Interfaces. Select all interfaces -> + Delete. + + + + VNF -> Descriptors, select all bundles -> + Offboard. + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_1.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_1.xml new file mode 100644 index 0000000..023f798 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_1.xml @@ -0,0 +1,63 @@ + + + How to create a 128T cloud-init iso image (day-0 + configuration) + + Prerequisites: + + Development host with Linux shell. + + + + genisoimage tool installed. + + + + Unpack the 128T/128t-cloud-init-example.tar.gz + archive and check the README file for more details: + + >tar -zxf 128t-cloud-init-example.tar.gz +>cd 128T/cloud-init-example/ +>ls ./ +README +user-data +meta-data +t128-running.xml + + To generate the cloud-init iso image: + + >genisoimage -output centos_128t_ci.iso -volid cidata -joliet \ +-rock user-data meta-data t128-running.xml + + Notes: + + user-data and meta-data + files must be kept unchanged. + + + + To update the 128T configuration change the + t128-runing.xml file. + + + + XML is the same file downloaded from 128T web access: + configuration -> Import and Export Configuration -> + Export Configuration -> Download Configuration. The + configuration can be updated from a web interface, downloaded onto the + development host and used in generating a new cloud-init iso + image. + + + + By default, t128-running.xml is configured to pass + all traffic from the LAN to the WAN interface. There is only one change + required for the 128T VNF to work on the user's network: + + <rt:next-hop>172.24.15.254</rt:next-hop> + + Please change <172.24.15.254> with the IP address of your + Gateway in the t128-running.xml file and generate a new + iso image as described above. For more details about configuring the 128T + VNF please contact 128 Technologies. + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_2.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_2.xml new file mode 100644 index 0000000..e3da67f --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_2.xml @@ -0,0 +1,326 @@ + + + How to create the 128T image for NFV Access + + The following steps were used by Enea to generate the 128T qcow2 image + used as the VNF image on NFV Access. + + + Follow the 128tISO-Install.pdf document and + keep in mind a Virtual Machine was used instead of a physical host. + + + Prerequisites: + + 128T-3.2.7-1.el7.centos.x86_64.iso provided + by 128 Technologies. + + + + A Linux development host with internet access. + + + + A least one of the TAP interfaces connected to a bridge with + Internet access. + + How to create the 128T image for NFV + Access: + + >qemu-img create -f qcow2 128t.qcow2 128G +>qemu-system-x86_64 -enable-kvm -m 8G -cpu host -smp cores=3,sockets=1 \ +-M q35 -nographic bios /usr/share/qemu/bios.bin -boot order=d,menu=on \ +cdrom 128T-3.2.7-1.el7.centos.x86_64.iso \ +hdb 128t.qcow2 \ +device e1000,netdev=net1,mac=52:52:01:02:03:01 \ +netdev tap,id=net1,ifname=tap1,script=no,downscript=no + + + + Press the <ENTER> key to begin the installation + process. + + + + Wait for the distribution and the 128T to install: + + ------------------------------ +128T Packages Installed + +Please Remove Install Media, + +then enter <Yes> to reboot and +continue install process + + <Yes> <No> +------------------------------ + + Press Yes. + + + + Wait to reboot and press CTR+ a+c to enter + the qemu monitor: + + (qemu) quit + + + + Start qemu only with the qcow2 image attached, no installer + image required: + + >qemu-system-x86_64 -enable-kvm -m 8G -cpu host -smp cores=3,sockets=1 \ +-M q35 -nographic bios /usr/share/qemu/bios.bin \ +-boot order=c,menu=on \ +-hda 128t.qcow2 \ +-device e1000,netdev=net1,mac=52:52:01:02:03:01 \ +-netdev tap,id=net1,ifname=tap1,script=no,downscript=no + +------------------------------------------------------------------------------ +Booting from Hard Disk... +. + + * CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core) + CentOS Linux (0-rescue-4e73a369e89e466a888c9c77655a1d65) 7 (Core) + + + Use the ^ and v keys to change the selection. + Press 'e' to edit the selected item, or 'c' for a command prompt. +------------------------------------------------------------------------------ + + Select the first option. + + + + |-------------------128T Installer-------------------| +| | +| Configure Linux Networking | +| | +| Before 128T SetUp? | +| | +| | +| < Yes > < No > | +|----------------------------------------------------| + + Select NO. + + + + |----------------------------------------------------| +| Please select a role for this node: | +| |----------------------------------------------| | +| | (*) Router | | +| | ( ) Conductor | | +| |----------------------------------------------| | +| | +|----------------------------------------------------| +| < OK > < Back > | +|----------------------------------------------------|Select + Router and OK. + + + + |-------------------Conductor Info-------------------| +| | +| |----------------------------------------------| | +| |1st Conductor Address | | +| |Conductor Address | | +| |----------------------------------------------| | +| | +|----------------------------------------------------| +| < OK > < Skip > < Back > < Help > | +|----------------------------------------------------| + + Select SKIP. + + + + |----------------------HA Setup----------------------| +| What kind of Router node is this? | +| |----------------------------------------------| | +| |(*) Standalone No HA peer | | +| |( ) 1st HA Node HA peer is not set up | | +| |( ) 2nd HA Node HA peer is already set up | | +| |----------------------------------------------| | +| | +| | +|----------------------------------------------------| +| < OK > < Back > | +|----------------------------------------------------|Select + Standalone and OK. + + + + |---------------------Node Info----------------------| +| |----------------------------------------------| | +| | Node Role Router | | +| | Node Name 128tNode | | +| | Router Name 128tRouter | | +| |----------------------------------------------| | +| | +|----------------------------------------------------| +| < OK > < Advanced > < Back > < Help > | +|----------------------------------------------------| + + Enter a name for the router and node, press OK. + + + + |-------------------Password Setup-------------------| +| Enter the new password for the 128T 'admin' | +| user: | +| |----------------------------------------------| | +| | 128Tadmin | | +| |----------------------------------------------| | +| | | +|----------------------------------------------------| +| < OK > < Back > | +|----------------------------------------------------| + + Enter the password for web access: 128Tadmin + and confirm the password. + + + + |--------------------------Anonymous Data Collection--------------------------| +| The 128T Networking Platform comes packaged with a software process | +|("Roadrunner") that is used to proactively monitor the health and liveliness | +|of the 128T Router and associated components. This watchdog process collects | +|anonymous information from the router and sends it to 128 Technology for | +|storage and analysis. This information helps inform 128 Technology about | +|software usage, to aid in the support and improvement of the 128 Technology | +|Networking Platform. | +| | +|Disabling this feature will prevent the sending of anonymous usage data to | +|128 Technology. | +| | +| | +| < Accept > < Back > < Disable > | +|-----------------------------------------------------------------------------| + + Select Accept. + + + + |-----128T Statistics Table Creator-----| +| Created table for metric 760/827 | +| Created table for metric 770/827 | +| Created table for metric 780/827 | +| Created table for metric 790/827 | +| Created table for metric 800/827 | +| Created table for metric 810/827 | +| Created table for metric 820/827 | +| Finished pre-creating stats tables | +| Creating tables for audit events | +| Finished creating audit event tables | +| Completed in 27.001386642456055 s | +| Shutting down local Cassandra node | +|---------------------------------------| +| < OK > | +|---------------------------------------| + + Select OK. + + + + |--------128T Installer Status----------| +| | +| Install SUCCESS | +| | +| Start 128T Router | +| before proceeding to | +| login prompt? | +|---------------------------------------| +| < Yes > < No > | +|---------------------------------------| + + Select: Yes + + + + localhost login: root +Password: + + The following user accounts and passwords are created during the + ISO installation process: + + + Accounts Created + + + + + + + User + + Password + + + + + + root + + 128tRoutes + + + + t128 + + 128tRoutes + + + +
+
+ + + GUI login via HTTPS is enabled by default on port 443 + + [root@localhost ~]# dhclient enp0s2 +[root@localhost ~]# echo "nameserver 8.8.8.8" >>/etc/resolv.conf +[root@localhost ~]# yum -y install cloud-init +[root@localhost ~]# reboot + + + + Wait to reboot and press CTR+ a+c to enter in qemu + monitor. + + (qemu) quit +> qemu-img info 128t.qcow2 +image: 128t.qcow2 +file format: qcow2 +virtual size: 128G (137438953472 bytes) +disk size: 5.4G +cluster_size: 65536 +Format specific information: + compat: 1.1 + lazy refcounts: false + refcount bits: 16 + corrupt: false + + + + Compress the generated 128t.qcow2 image to + decrease the size of VNF image: + + qemu-img convert -O qcow2 -c 128t.qcow2 centos_128t_compressed.qcow2 + +> qemu-img info centos_128t_compressed.qcow2 +image: centos_128t_compressed.qcow2 +file format: qcow2 +virtual size: 128G (137438953472 bytes) +disk size: 1.2G +cluster_size: 65536 +Format specific information: + compat: 1.1 + lazy refcounts: false + refcount bits: 16 + corrupt: false + +centos_128t_compressed.qcow2 - Resulted image can be used in NFV Access. + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_3.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_3.xml new file mode 100644 index 0000000..827e8cd --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_3.xml @@ -0,0 +1,7 @@ + + + How to configure Fortigate VNF (day-0 configuration) + + Please check the README file from Fortigate folder for more + details. + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_4.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_4.xml new file mode 100644 index 0000000..9641f7c --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_4.xml @@ -0,0 +1,52 @@ + + + Running Enea Automation Framework tests + + The most relevant information from the Automation Framework and Test + Harness structure: + + |---automation_framework +| |---unittestSuite +| | |---128tCleanup.json - Use case 1 - clean up - test. +| | |---128tDeploy.json - Use case 1 - test. +| | |---128t_FG_SFCCleanup.json - Use case 2 - clean up - test. +| | |---128t_FG_SFCDeploy.json - Use case 2 - test. +| | |---config +| | | |---cmc + - Folder containing the configuration files used by tests. +| | |---unittestLoader.py +| | |---unittestSuite.py +|---lab_config +| |---me1100-1 +| | |---enp4s0f0_0000_04_00_0.json +| | |---enp4s0f1_0000_04_00_1.json +| | |---ibm_br.json - In-band management definition. +| | |---lan_br_enp4s0f1.json - Lan bridge definition. +| | |---me1100-1.json + - Target definition - make sure to update the "address". +| | |---sfc_br.json - Service chain bridge definition. +| | |---vnf_mgmt_br.json - VNF management bridge definition. +|---vnf_config +| |---128t +| | |---128tInstance.json - 128T instantiation - used in use case 1. +| | |---128t.json - 128T onboarding. +| | |---128tSFCInstance.json - 128T instantiation - used in use case 2. +| | |---centos_128t_internet_ci.iso - 128T cloud init (day-0) iso image. +| |---fortigate +| | |---fg_basic_fw.conf - Fortigate day-0 configuration. +| | |---fortigateInstance.json - Fortigate instantiantion. +| | |---fortigate.json - Fortigate onboarding. +| | |---fortigateLicense.lic + - Fortigate license - replace it with a valid License file. +|---vnf_image +| |---centos_128t_with_ci.qcow2 - 128T qcow2 image. +| |---fortios.qcow2 - Fortigate qcow2 image. + + Make sure to update the relevant configuration file for your setup. + The essential files to consider are the target configuration + (me1100-1.json), the license for the Fortigate VNF, and + the 128T cloud-init iso image matching your network. + + To run a test:> cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H 172.24.3.109 -n me1100-1 -s + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_5.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_5.xml new file mode 100644 index 0000000..7c8c042 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/appendix_5.xml @@ -0,0 +1,213 @@ + + + Example Tests Results using the Automation Framework + + Test Host: +Use Case1 - 128T +> cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H 172.24.3.109 -n me1100-1 \ +-s 128tDeploy.json -d "128T Deployment" + +Running 128T Deployment... + +test 001: Add VCPE Agent from me1100-1 device (__main__.UnittestSuite) ... +2019-08-13 12:49:58,091 - INFO: Add uCPE device +2019-08-13 12:49:58,342 - INFO: Done +ok +test 002: Wait VCPE Agent device be up (__main__.UnittestSuite) ... +2019-08-13 12:49:58,358 - INFO: Wait uCPE device +2019-08-13 12:50:03,470 - INFO: Done +ok +test 003: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ... +2019-08-13 12:50:03,486 - INFO: Bind NIC +2019-08-13 12:50:03,901 - INFO: Done +ok +test 004: Creating ibm bridge (__main__.UnittestSuite) ... +2019-08-13 12:50:03,920 - INFO: New OVS network bridge +2019-08-13 12:50:17,465 - INFO: Done +ok +test 005: Creating VNF Management bridge (__main__.UnittestSuite) ... +2019-08-13 12:50:17,481 - INFO: New OVS network bridge +2019-08-13 12:50:17,626 - INFO: Done +ok +test 006: Creating LAN bridge and attaching enp4s0f1 interface to the bridge \ + (__main__.UnittestSuite) ... +2019-08-13 12:50:17,643 - INFO: New OVS network bridge +2019-08-13 12:50:18,313 - INFO: Done +ok +test 007: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ... +2019-08-13 12:50:18,332 - INFO: Onboard wizard +2019-08-13 12:52:52,909 - INFO: Done +ok +test 008: Instantiate 128T VNF (__main__.UnittestSuite) ... +2019-08-13 12:52:52,924 - INFO: Instantiate VNF +2019-08-13 12:54:06,219 - INFO: Done +ok + +---------------------------------------------------------------------- +Ran 8 tests in 248.144s + +OK + + +Clean-up use-case1 +> python unittestSuite.py -u admin -p admin -H 172.24.3.109 -n me1100-1 \ +-s 128tCleanup.json -d "128T Clean-up" + +Running 128T Clean-up... + +test 001: Destroying 128T VNF (__main__.UnittestSuite) ... +2019-08-13 13:03:02,704 - INFO: Destroy VNF +2019-08-13 13:03:03,619 - INFO: Done +ok +test 002: Deleting network bridge LAN (__main__.UnittestSuite) ... +2019-08-13 13:03:03,635 - INFO: Delete OVS network bridge +2019-08-13 13:03:13,857 - INFO: Done +ok +test 003: Deleting VNF management bridge (__main__.UnittestSuite) ... +2019-08-13 13:03:13,877 - INFO: Delete OVS network bridge +2019-08-13 13:03:24,027 - INFO: Done +ok +test 004: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ... +2019-08-13 13:03:24,049 - INFO: Delete OVS network bridge +2019-08-13 13:03:48,815 - INFO: Done +ok +test 005: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ... +2019-08-13 13:03:48,835 - INFO: Unbind NIC +2019-08-13 13:03:50,274 - INFO: Done +ok +test 006: Offboarding 128t VNF (__main__.UnittestSuite) ... +2019-08-13 13:03:50,294 - INFO: Offboard VNF +2019-08-13 13:03:50,844 - INFO: Done +ok +test 007: Remove VCPE Agent me1100-1 device (__main__.UnittestSuite) ... +2019-08-13 13:03:50,858 - INFO: Remove uCPE device +2019-08-13 13:03:50,998 - INFO: Done +ok + +---------------------------------------------------------------------- +Ran 7 tests in 48.308s + +OK + + +Use-case2 +> python unittestSuite.py -u admin -p admin -H 172.24.3.109 -n me1100-1 \ +-s 128t_FG_SFCDeploy.json -d "128T - Fortigate SFC Deployment" +Running 128T - Fortigate SFC Deployment... + +test 001: Add VCPE Agent from me1100-1 device (__main__.UnittestSuite) ... +2019-08-13 13:09:16,146 - INFO: Add uCPE device +2019-08-13 13:09:16,272 - INFO: Done +ok +test 002: Wait VCPE Agent device be up (__main__.UnittestSuite) ... +2019-08-13 13:09:16,287 - INFO: Wait uCPE device +2019-08-13 13:09:23,421 - INFO: Done +ok +test 003: Bind NIC to DPDK for LAN connection (__main__.UnittestSuite) ... +2019-08-13 13:09:23,445 - INFO: Bind NIC +2019-08-13 13:09:24,226 - INFO: Done +ok +test 004: Creating ibm bridge (__main__.UnittestSuite) ... +2019-08-13 13:09:24,245 - INFO: New OVS network bridge +2019-08-13 13:09:34,720 - INFO: Done +ok +test 005: Creating VNF Management bridge (__main__.UnittestSuite) ... +2019-08-13 13:09:34,741 - INFO: New OVS network bridge +2019-08-13 13:09:34,885 - INFO: Done +ok +test 006: Creating LAN bridge and attaching enp4s0f1 interface to the bridge \ +(__main__.UnittestSuite) ... +2019-08-13 13:09:34,903 - INFO: New OVS network bridge +2019-08-13 13:09:35,566 - INFO: Done +ok +test 007: Creating SFC(service function chaining) bridge (__main__.UnittestSuite) ... +2019-08-13 13:09:35,587 - INFO: New OVS network bridge +2019-08-13 13:09:35,667 - INFO: Done +ok +test 008: Onboarding 128T VNF (wizard API) (__main__.UnittestSuite) ... +2019-08-13 13:09:35,684 - INFO: Onboard wizard +2019-08-13 13:12:11,845 - INFO: Done +ok +test 009: Onboarding Fortigate VNF (wizard API) (__main__.UnittestSuite) ... +2019-08-13 13:12:11,861 - INFO: Onboard wizard +2019-08-13 13:12:16,157 - INFO: Done +ok +test 010: Instantiate 128T VNF (__main__.UnittestSuite) ... +2019-08-13 13:12:16,175 - INFO: Instantiate VNF +2019-08-13 13:13:31,681 - INFO: Done +ok +test 011: Instantiate Fortigate VNF (__main__.UnittestSuite) ... +2019-08-13 13:13:31,738 - INFO: Instantiate VNF +2019-08-13 13:13:35,985 - INFO: Done +ok + +---------------------------------------------------------------------- +Ran 11 tests in 259.854s + +OK + +# Access 128T management interface +https://172.24.12.154:60001 +user: admin +password: 128Tadmin + +# Access Fortigate management interface +https://172.24.12.154:60002 +user: admin +password: + + + +Use case2 clean-up +> python unittestSuite.py -u admin -p admin -H 172.24.3.109 -n me1100-1 \ +-s 128t_FG_SFCCleanup.json -d "128T - Fortigate SFC CleanUp" + +Running 128T - Fortigate SFC CleanUp... + +test 001: Destroying Fortigate VNF (__main__.UnittestSuite) ... +2019-08-13 13:51:30,204 - INFO: Destroy VNF +2019-08-13 13:51:31,781 - INFO: Done +ok +test 002: Destroying 128T VNF (__main__.UnittestSuite) ... +2019-08-13 13:51:31,822 - INFO: Destroy VNF +2019-08-13 13:51:32,729 - INFO: Done +ok +test 003: Deleting network bridge SFC (__main__.UnittestSuite) ... +2019-08-13 13:51:32,756 - INFO: Delete OVS network bridge +2019-08-13 13:51:42,863 - INFO: Done +ok +test 004: Deleting network bridge LAN (__main__.UnittestSuite) ... +2019-08-13 13:51:42,878 - INFO: Delete OVS network bridge +2019-08-13 13:51:53,087 - INFO: Done +ok +test 005: Deleting VNF management bridge (__main__.UnittestSuite) ... +2019-08-13 13:51:53,103 - INFO: Delete OVS network bridge +2019-08-13 13:52:03,251 - INFO: Done +ok +test 006: Deleting ibm(In Band Management) bridge (__main__.UnittestSuite) ... +2019-08-13 13:52:03,269 - INFO: Delete OVS network bridge +2019-08-13 13:52:29,868 - INFO: Done +ok +test 007: Unbind LAN NIC from DPDK target (__main__.UnittestSuite) ... +2019-08-13 13:52:29,885 - INFO: Unbind NIC +2019-08-13 13:52:31,415 - INFO: Done +ok +test 008: Offboarding 128t VNF (__main__.UnittestSuite) ... +2019-08-13 13:52:31,435 - INFO: Offboard VNF +2019-08-13 13:52:32,009 - INFO: Done +ok +test 009: Offboarding Fortigate VNF (__main__.UnittestSuite) ... +2019-08-13 13:52:32,023 - INFO: Offboard VNF +2019-08-13 13:52:32,157 - INFO: Done +ok +test 010: Remove VCPE Agent me1100-1 device (__main__.UnittestSuite) ... +2019-08-13 13:52:32,170 - INFO: Remove uCPE device +2019-08-13 13:52:32,294 - INFO: Done +ok + +---------------------------------------------------------------------- +Ran 10 tests in 62.104s + +OK + \ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/book.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/book.xml new file mode 100644 index 0000000..7dadd65 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/book.xml @@ -0,0 +1,47 @@ + + +]> + + <trademark class="registered">Enea</trademark> NFV Access CMC Networks Example Use-cases + + Release Version + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_template.xml new file mode 100644 index 0000000..eaa7ebd --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/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-cmc-example-usecases/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_updated.xml new file mode 100644 index 0000000..bb969c6 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/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-cmc-example-usecases/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-cmc-example-usecases/doc/eltf_params_updated_template_how_to_use.txt new file mode 100755 index 0000000..62e5d02 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/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-cmc-example-usecases/doc/enea_vnf_examples.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/enea_vnf_examples.xml new file mode 100644 index 0000000..8f11107 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/enea_vnf_examples.xml @@ -0,0 +1,289 @@ + + + Enea VNF Example Use-cases + + Enea NFV Access is a complete NFV Infrastructure (NFVI) platform + designed for deployment on white box uCPEs at the customer premise, and + optimized for common Virtual Customer Premises Equipment (vCPE) and SD-WAN + use cases. + +
+ Prerequisites + + The following file(s) are needed for this example use-case: + enea-nfv-access-vnf-qemux86-64.qcow2. This image is + provided with your release. +
+ +
+ TestPMD VNF + + In this use-case, uCPE device 1 will run pktgen + (the DPDK application) and uCPE device 2 will onboard + and instantiate two VNFs. One VNF will run testpmd_fwd, + forwarding traffic, and the other will run testpmd_term + which will terminate traffic. + +
+ Enea TestPMD VNF Overview + + + + + + +
+ +
+ Use-case Setup + + Configuring Network Interfaces on uCPE + devices: + + + + Bind the host interfaces to the DPDK by selecting + uCPE device 1 first, then accessing + Configuration -> + OpenVSwitch -> Host + Interfaces -> Add. + + + + Select the network interface that will be used to connect to + the second uCPE device and configure it for the DPDK. + + + + Select the Create button to send the + configuration to uCPE device 1. + + + + Repeat these same steps on uCPE device + 2. + + + + Click the Add button from the Bridges + tab. + + + + Create an Open vSwitch bridge (ovsbr0) on + uCPE device 1 that uses one DPDK interface, by + selecting uCPE device 1, then: + Configuration ->OpenVSwitch + ->Bridges. + + + + Onboarding the VNF: + + + + Select VNF + ->Descriptor -> + On-board. + + + + Select the VM Image radio button. + + + + Provide the path to the qcow image by selecting + Browse from the VM image file + option. + + + + Fill the required fields below and press + Onboard: + + + + Memory in MB: 1024 + + + + Nr. of CPUs: 1 + + + + Storage in GB: 10 + + + + + + Instantiating two VNFs on uCPE device + 2: + + + + Select uCPE device 2, then access VNF -> + Instances -> Add. + + + + Fill-in the required fields and click + Create. + + + + Configure VNF 1 to forward traffic. + + + + Configure VNF 2 to terminate traffic. + + + + Add Open vSwitch flows to control this traffic: + +
+ Configuring the FWD flow + + + + + + +
+ +
+ Configuring the TERM flow + + + + + + +
+
+ + + Start pktgen on uCPE device 1. Connect to the device by + selecting it first, then access SSH -> + user (root) and perform the following: + + cd /usr/share/apps/pktgen/ +./pktgen -c 0x7 -n 4 --proc-type auto --socket-mem 256 -w 0000:05:00.3 -- \ +-P -m "[1:2].0" +Pktgen:/> start 0 + + + The PCI address <0000:05:00.3> used in this example + varies depending on the uCPE device. To determine the exact PCI + address used, look in the uCPE device specific Network + configuration. + + +
+
+ +
+ Testing the Use-case + + Connect to the forwarder VNF in order to check the traffic + statistics, by selecting the uCPE device first, then accessing + SSH -> user (root): + + Virsh list +Virsh console 1 +# Qemux86-64 login: root +tail -f /var/log/testpmd-out + +
+ Traffic Statistics + + + + + + +
+
+ +
+ TestPMD VNF using PCI passthrough + + In this use case, uCPE device 1 will run the Pktgen and uCPE + device 2 will run the TestPMD VNF. Both will be using PCI + passthrough: + +
+ TestPMD VNF using PCI passthrough Overview + + + + + + +
+ + + + Make sure that neither uCPE device 1 nor uCPE device 2 have + any configured host interfaces by selcting uCPE device : + Configuration -> + OpenVSwitch -> Host + Interfaces. + + + + On uCPE device 1 start the Pktgen VNF. Select + PciPassthrough as the Interface type. + + From the drop-down list, select the PCI interface + corresponding to the NIC which is connected to uCPE device 2: + +
+ Selecting the Pktgen VNF Interface + + + + + + +
+
+ + + On uCPE device 2, start the TestPmdForwarder VNF. Select + "PciPassthrough" as the Interface type. From the drop-down list, + select the PCI interface corresponding to the NIC which is connected + to uCPE device 1: + +
+ Selecting the TestPmdForwarder VNF Interface + + + + + + +
+
+ + + To check that traffic is being forwarded from uCPE device 2, + SSH to the uCPE device and connect to the VNFs console: + + Right click on uCPE device 2 and select SSH. +Run: virsh list +Run: virsh console [VM NAME] +Run: tail -f /opt/testpmd-out + +
+
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/general_env_prerequisites.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/general_env_prerequisites.xml new file mode 100644 index 0000000..c0df438 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/general_env_prerequisites.xml @@ -0,0 +1,163 @@ + + + General Environment Setup + +
+ Prerequisites + + + General Prerequisites + + + + + + + + + + + Prerequisites + + Observations + + + + + + Kontron me1100 target + + Processor Xeon-D + + + + 2 x 10G SFP/SFP+ + + + + SSD storage + + + + 32 GB RAM + + + + + + This is an example hardware configuration available in + the Enea internal lab. + + + + One of the SFP ports is connected to a network with + DHCP server access (receiving a dynamic IP based on + MAC). + + + + The target has network access to the uCPE + Manager. + + + + Enea NFV Access must be installed on the target. For + details on how to install Enea NFV Access, please see How to install Enea NFV Access + in . + + + + + + Management machine - Linux based + (CentOS) + + + + The uCPE Manager must be installed on this host or + virtual machine. For installation details see, How to Install the uCPE + Manager in . + + + + The uCPE Manager must have access to the me1100 + target. + + + + A web browser must be installed to access the + management interface of the VNFs. The management interface + of any VNF can be accessed from any machine connected on the + same network with the me1100 target. + + + + + + Development machine - Linux based + + + + The Automation Framework and Test Harness must be + installed. Please see the Enea NFV Access Automation + Framework and Test Harness User Guide for more info. + + + + This is a host or virtual machine with network access + to the uCPE Manager and the me1100 target. + + + + It can be used for the 128T VNF installation. Please + see Appendix B for more details. + + + + + +
+
+ +
+ Release structure + + |---ENEA_NFV_Access +| |---doc +| | |---book-enea-nfv-access-auto-fw-th-user-guide.pdf +| | |---book-enea-nfv-access-cmc-example-usecases +| | |---book-enea-nfv-access-example-usecases.pdf +| | |---book-enea-nfv-access-getting-started.pdf +| | |---book-enea-nfv-access-open-source.pdf +| | |---book-enea-nfv-access-release-info.pdf +| | |---book-enea-nfv-access-vnf-onboarding-guide.pdf +| | |---book-enea-ucpe-manager-open-source.pdf +| | |---book-enea-nfv-access-auto-fw-th-user-guide.pdf +| | |---book-enea-nfv-access-system-test-specification.pdf +| |---enea-nfv-access-edgelink-netconf-xeon-d-20190812201510.hddimg \ + - NFV Access USB installer image +|---automation_and_systemtest.tar.gz - Automation framework and tests +|---book-enea-nfv-access-cmc-example-usecases.pdf +|---128T +| |---128t-cloud-init-example.tar.gz +| |---centos_128t_internet_ci.iso +| |---centos_128t_with_ci.qcow2 +|---Fortigate +| |---fg_basic_fw_example.conf +| |---README +|---uCPE_Manager +| |---ucpeManager_1.0_b10-CentOS.tar.gz +| |---ucpeManager_1.0_b10-CentOS-VM.ova +| |---ucpeManager_1.0_b10-Windows.zip +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100.png b/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100.png new file mode 100755 index 0000000..9ed0203 Binary files /dev/null and b/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100.png differ diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100_servicechain.png b/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100_servicechain.png new file mode 100755 index 0000000..e568824 Binary files /dev/null and b/doc/book-enea-nfv-access-cmc-example-usecases/doc/images/kontron_me1100_servicechain.png differ diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/introduction.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/introduction.xml new file mode 100644 index 0000000..ea4f612 --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/introduction.xml @@ -0,0 +1,152 @@ + + + Introduction + + Enea NFV Access for 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 operating 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. + + + + Enea NFV Access for CMC Networks is tailored around the two use cases + agreed upon during initial discussions. The current version of Enea NFV + Access provides a working and deployable configuration example for the 128T + router and the Fortinet Firewall service chained together on a Kontron + ME-1100 Xeon-D based platform. + + This document describes all steps required to replicate the use cases + in the customer environment. The information provided will guide the user in + reproducing the setup using either the uCPE Manager GUI or the Automation + Framework and Test Harness. + + + + + All VNF configurations should be seen as example configurations + made while working in the Enea internal lab. The customer will update + these configurations according to his local network setup. + Particularities are described in the Appendix chapters. + + + + It is assumed that the user is familiar with Enea NFV Access and + has studied the official documentation, namely the "Enea NFV Access + Getting Started" manual before proceeding with this document. + + + + +
+ Revision History + + + Revisions + + + + + + + Revision + + Author + + Date + + Purpose of Revision + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ References + + [1]What does this refer to and what should be listed + here. +
+ +
+ Definitions and Acronyms + + + Definitions and Acronyms + + + + + + + + + + + Component + + Definition + + + + + + 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. Coresident with the uCPE Manager is additional + functionality, which includes the Automation Framework. + + + + Automation Framework + + The Automation Framework consists of a set of tools 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 is exposed on the uCPE Manager as + a north bound interface. + + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/service_chaining_128t_fortigate.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/service_chaining_128t_fortigate.xml new file mode 100644 index 0000000..856f7ee --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/service_chaining_128t_fortigate.xml @@ -0,0 +1,1059 @@ + + + Service Chaining 128T - Fortigate Example Use-case + + The term service chaining or service function chaining (SFC) is used + to describe the definition and instantiation of an ordered list of instances + of such service functions and the subsequent "steering" of traffic flows + through those service functions. The set of enabled service function chains + reflects operator service offerings and is designed in conjunction with + application delivery and service and network policy. + + The Network Service Header (NSH - RFC 8300) is a service-chaining + protocol that is added to network traffic, in the packet header, to describe + a sequence of service nodes (PNFs or VNFs) that the packet must be routed to + prior to reaching its destination address, thus creating a service + chain. + +
+ Prerequisites + + The 128T router and the Fortinet firewall in a service chain require + the following prequisites for this example use case: + + + + 1 in band management port for device management. + + + + 1 in band management port for the 128T router. + + + + 1 in band management port for Fortinet. + + + + 1 WAN interface for Fortinet. + + + + 1 LAN facing interface for Fortinet. + + + + 1 WAN facing interface for the 128T router. + + + + 1 service chain (SFC Bridged interface) to sit between the + Firewall and vRouter. + + +
+ +
+ Service Chaining 128T - Fortigate + +
+ Service Chaining 128T - Fortigate Setup Overview + + + + + + +
+ +
+ Use-case Setup + + Configuring Network Interfaces on uCPE + devices: + + Log into the uCPE Manager with both username and password + values: admin. + + + + Add the Kontron me1100 uCPE device into the uCPE Manager: + Devices -> Manage -> Add. + + Fill in the required fields with the following data: + + + Device Details + + + + + + + + + + + Field + + Value + + + + + + Type + + Enea universal CPE + + + + Release + + 1.0 + + + + Name + + me1100 + + + + IP/DNS Address + + Dynamic IP received by device from DHCP server + (E.g.: 172.24.12.74). + + + + Description + + Kontron Target 1 + + + + SSH Port + + 830 + + + + SSH User Name + + root + + + + Password + + null + + + + OK + + Green status indicates connection with uCPE device + was established. + + + +
+
+ + + In order to add the device on the map: Right-Click on + Map -> Place Device -> me1100. + + + + Configure the infrastructure for the 128T and Fortigate VNFs + in the service chain by creating four OVS bridges and a host + interface. + + Add the Host Interface by selecting the me1100 device, then + Configuration -> OpenVSwitch -> Host Interfaces + -> Add. + + Fill in the required fields with the following data: + + + Host Interface Details + + + + + + + + + + + Field + + Value + + + + + + Source + + enp4s0f1. The only interface + available for LAN connection. + + + + type + + dpdk + + + + networking-type + + dpdk + + + + dpdk-type + + vfio-pci + + + + Create + + <interface enp4s0f1 ready to be used in a LAN + bridge.> + + + +
+ + Add the OVS bridges by selecting the me1100 device then: + Configuration -> OpenVSwitch -> Bridges -> + Add. + + Fill in the required fields for each bridge with the + following data from each table: + + + ibm_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + ibm_br + + + + ovs-bridge-type + + dpdkWan + + + + mgmt-address + + Provide the IP address of the uCPE Manager machine + (E.g. 172.24.3.109). + + + + mgmt-port + + 830 + + + + Create + + + + + +
+ + + vnf_mgmt_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + vnf_mgmt_br + + + + ovs-bridge-type + + vnfMgmt + + + + vnf-mgmt-address + + 10.0.0.1 + + + + Create + + + + + +
+ + + lan_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + lan_br + + + + ovs-bridge-type + + canonical + + + + + + + Name: enp4s0f1 OK + + + + Create + + + + + +
+ + + sfc_br Bridge Details + + + + + + + + + + + Field + + Value + + + + + + id + + <autogenerated - do not change> + + + + Name + + sfc_br + + + + ovs-bridge-type + + canonical + + + + Create + + + + + +
+
+
+ + Onboarding the VNFs: + + Onboard the 128T VNF VM Image through VNF -> + Descriptors -> On-board -> VM Image, and fill in the + required fields with the following values: + + + 128T VM Image Details + + + + + + + + + + + Field + + Value + + + + + + VM image file + + centos_128t_with_ci.qcow2 + + + + Image format + + QCOW2 + + + + VNF Type Name + + 128T + + + + Description + + 128T Router + + + + Version + + 1.0 + + + + Memory in MB + + 8192. More memory can be allocated if required + (<28672). + + + + Num. of CPUs + + 2. More CPUs can be reserved if required + (<15). + + + + Interfaces -> + + + Name: mgmt + + + + Interfaces -> + + + Name: wan + + + + Interfaces -> + + + Name: lan + + + + Cloud Init -> Cloud-Init Datasource + + ISO + + + + Cloud Init -> Cloud-Init Disk Type + + cdrom + + + + Properties -> + + + Name: vnfMgmtIpAddress. Value: 10.0.0.2 + + + + Properties -> + + + Name: internalMgmtPort. Value: 443 + + + + Properties -> + + + Name: externalMgmtPort. Value: 60001 + + + + Onboard + + <Wait for message: VNF package onboarded + successfully> + + + + Close + + + + + +
+ + + + + HTTPS access (443) can be changed to another type of access. + Please consult official 128T documentation and make sure the 128T + VNF is configured to accept another type of connection before + changing the port number. + + + + externalMgmtPort(60001) represents the + external port on which the user can access the VNF management + interface from the web browser via HTTPS. The user can select + another port if needed. There are no other changes required or + components affected by this change. + + + + vnfMgmtIpAddress (10.0.0.2) represents + the IP address of the management interface of the 128T VNF. + Changing this value requires an update to the 128T configuration + to match the new IP address. + + + + + Onboard the Fortigate VNF VM Image through VNF -> + Descriptors -> On-board -> VM Image, and fill in the + required fields with the following values: + + + Fortigate VM Image Details + + + + + + + + + + + Field + + Value + + + + + + VM image file + + fortios.qcow2. Please make sure to + contact Fortigate for an official Fortigate KVM image. + + + + Image format + + QCOW2 + + + + VNF Type Name + + Fortigate + + + + Description + + Fortigate VNF + + + + Version + + 1.0 + + + + Memory in MB + + 1024. More memory can be allocated if required + (<28672). + + + + Num. of CPUs + + 1. More CPUs can be reserved if required + (<15). + + + + Interfaces -> + + + Name: mgmt + + + + Interfaces -> + + + Name: wan + + + + Interfaces -> + + + Name: lan + + + + Cloud Init -> Cloud-Init Datasource + + ConfigDrive + + + + Cloud Init -> Cloud-Init Disk Type + + cdrom + + + + Cloud Init -> + + + Path: license + + + + Properties -> + + + Name: vnfMgmtIpAddress. Value: 10.0.0.3 + + + + Properties -> + + + Name: internalMgmtPort. Value: 443 + + + + Properties -> + + + Name: externalMgmtPort. Value: 60002 + + + + Onboard + + <Wait for message: VNF package onboarded + successfully> + + + + Close + + + + + +
+ + + + + HTTPS access (443) can be changed to another type of access. + Please consult official Fortigate documentation and make sure the + Fortigate VNF is configured to accept another type of connection + before changing the port number. + + + + externalMgmtPort (60002) represents the + external port on which the user can access the VNF management + interface from the web browser via HTTPS. The user can select + another port if needed. There are no other changes required or + components affected by this change. + + + + vnfMgmtIpAddress (10.0.0.3) represents + the IP address of the management interface of the Fortigate VNF. + Changing this value requires an update to the Fortigate + configuration to match with new IP address. + + + + + Instantiating the VNFs: + + Instantiate the 128T VNF by selecting the me1100 device, then + VNF -> Instances -> Add. + + Fill in the required fields with the following values: + + + 128T VNF Instantiation + + + + + + + + + + + Field + + Value + + + + + + Name + + 128T_me1100_1 + + + + VNF Type + + 128T + + + + VNFD Version + + 1.0 + + + + Flavour + + Canonical + + + + uCPE Device + + me1100 + + + + Cloud Init File + + centos_128t_internet_ci.iso. Example + image provided. Please see Appendix A for details on how to + change the configuration and create a new cloud-init iso + image. + + + + Domain Update Script + + + + + + Interfaces + + + + + + ID + + IF Name + + + + mgmt (dpdk) + + Bridge: vnf_mgmt_br + + + + wan (dpdk) + + Bridge: ibm_br + + + + lan (dpdk) + + Bridge: sfc_br + + + + Create + + + + + +
+ + Instantiate the Fortigate VNF by selecting the me1100 device, then + VNF -> Instances -> Add. + + Fill in the required fields with the following values: + + + Fortigate VNF Instantiation + + + + + + + + + + + Field + + Value + + + + + + Name + + fg_me1100_1 + + + + VNF Type + + Fortigate + + + + VNFD Version + + 1.0 + + + + Flavour + + Canonical + + + + uCPE Device + + me1100 + + + + Cloud Init File + + fg_cmc_basic_fw.conf + + + + License File + + FGVM08TM00001.lic. Please make sure to + use a valid license file (.lic) received from Fortinet. + + + + Domain Update Script + + + + + + Interfaces + + + + + + ID + + IF Name + + + + mgmt (dpdk) + + Bridge: vnf_mgmt_br + + + + wan (dpdk) + + Bridge: sfc_br + + + + lan (dpdk) + + Bridge: lan_br + + + + Create + + + + + +
+
+ +
+ Testing the Use-case + + In order to access the web interfaces of the 128T VNF, open a + browser on a machine connected on the same network with the WAN port of + the target and connect to: + https://<publicIP>:60001 using the username: + admin and the password: 128Tadmin. + + In order to access the web interfaces of the Fortigate VNF, open a + browser on a machine connected on the same network with the WAN port of + the target and connect to: + https://<publicIP>:60002 using the username: + admin, and leaving the password blank. + + + Make sure the WAN interface of the me1100 device has access to + the internet. The Fortigate VNF requires internet access to validate + the license. + + + In order to validate the data path connect a test machine to the + LAN physical port and check for a dynamic IP (the Fortigate LAN + interface is configured with a DHCP server):> dhclient eth1 +> ping 8.8.8.8For data path validation, a new cloud-init + image may need to be generated for the 128T VNF to match your network + configuration. Please check Appendix A "How to create 128T cloud-init + iso image (day-0 configuration)" for details. +
+ +
+ Use-case Clean-up + + In order to remove the setup created in previously, all components + need to be deleted in reverse order: + + + + Select the me1100 uCPE device -> VNF -> Instances. + Select the 128T and Fortigate VNFs -> Delete. + + + + Select the me1100 uCPE device -> Configuration -> + OpenVSwitch -> Bridges. Select all bridges -> Delete. + + + + Select the me1100 uCPE device -> Configuration -> + OpenVSwitch -> Host Interfaces. Select all interfaces -> + Delete. + + + + VNF -> Descriptors. Select all bundles -> + Offboard. + + +
+
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/doc/usecases_autoframe.xml b/doc/book-enea-nfv-access-cmc-example-usecases/doc/usecases_autoframe.xml new file mode 100644 index 0000000..b92c3ca --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/doc/usecases_autoframe.xml @@ -0,0 +1,41 @@ + + + Running Example Use-cases from the Automation Framework + +
+ 128T VNF Router Example Use-case + + Deploying the 128T VNF + Router + + > cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> -n me1100-1 \ +-s 128tDeploy.json -d "128T Deployment" + + Use-case Clean-up + + > python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> -n me1100-1 \ +-s 128tCleanup.json -d "128T Clean-up" +
+ +
+ Service Chaining 128T - Fortigate Example Use-case + + Deploying the 128T router and Fortigate + VNF + + > cd automation_and_systemtest/automation_framework/unittestSuite +> python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> -n me1100-1 \ +-s 128t_FG_SFCDeploy.json -d "128T - Fortigate SFC Deployment" + + Use-case Clean-up + + > python unittestSuite.py -u admin -p admin -H <uCPE_Manager_IP> -n me1100-1 \ +-s 128t_FG_SFCCleanup.json -d "128T - Fortigate SFC CleanUp" + + + Please replace <uCPE_Manager_IP> with the IP address of the + uCPE Manager machine. + +
+
\ No newline at end of file diff --git a/doc/book-enea-nfv-access-cmc-example-usecases/swcomp.mk b/doc/book-enea-nfv-access-cmc-example-usecases/swcomp.mk new file mode 100755 index 0000000..ca26c5c --- /dev/null +++ b/doc/book-enea-nfv-access-cmc-example-usecases/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-cmc-example-usecases +BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access $(PROD_VER) for CMC Networks Example Use-cases" +BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) -- cgit v1.2.3-54-g00ecf