diff options
24 files changed, 1567 insertions, 2 deletions
diff --git a/doc/Makefile b/doc/Makefile index 0514408..befba1e 100644 --- a/doc/Makefile +++ b/doc/Makefile | |||
| @@ -50,14 +50,15 @@ DOCBOOK_TO_BOOKDIR ?= yes | |||
| 50 | DOCBOOK_CLEANTMP ?= yes | 50 | DOCBOOK_CLEANTMP ?= yes |
| 51 | 51 | ||
| 52 | #Components (books) in this subsystem. Now use all books found here | 52 | #Components (books) in this subsystem. Now use all books found here |
| 53 | COMPONENTS := book-enea-nfv-access-example-usecases book-enea-nfv-access-getting-started book-enea-nfv-access-open-source book-enea-nfv-access-reference-guide-intel book-enea-nfv-access-release-info | 53 | 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 |
| 54 | # COMPONENTS += | 54 | # COMPONENTS += |
| 55 | #book-enea-linux-eclipse-open-source (as of 13.04.2017 this is not needed) | 55 | #book-enea-linux-eclipse-open-source |
| 56 | #book-enea-nfv-access-dev-hardening-guide | 56 | #book-enea-nfv-access-dev-hardening-guide |
| 57 | #book-enea-nfv-access-esdk-open-source | 57 | #book-enea-nfv-access-esdk-open-source |
| 58 | #book-enea-nfv-access-guide | 58 | #book-enea-nfv-access-guide |
| 59 | #book-enea-nfv-access-sdk-open-source | 59 | #book-enea-nfv-access-sdk-open-source |
| 60 | #book-enea-nfv-access-user-hardening-guide | 60 | #book-enea-nfv-access-user-hardening-guide |
| 61 | #book-enea-nfv-access-reference-guide-intel | ||
| 61 | 62 | ||
| 62 | #COMPONENTS := $(shell ls -d book-enea* ) | 63 | #COMPONENTS := $(shell ls -d book-enea* ) |
| 63 | 64 | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/book.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/book.xml new file mode 100644 index 0000000..7fbbadb --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/book.xml | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [ | ||
| 4 | <!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED"> | ||
| 5 | ]> | ||
| 6 | <book id="book_enea_nfv_access_vnf_onboarding_guide"> | ||
| 7 | <title><trademark class="registered">Enea</trademark> NFV Access VNF Onboarding Guide</title> | ||
| 8 | |||
| 9 | <subtitle>Release Version <xi:include href="eltf_params_updated.xml" | ||
| 10 | xmlns:xi="http://www.w3.org/2001/XInclude" | ||
| 11 | xpointer="element(EneaLinux_REL_VER/1)" /></subtitle> | ||
| 12 | |||
| 13 | <!-- OLINKDBPATH_USED_BY_XMLMIND ../../s_docbuild/olinkdb --> | ||
| 14 | |||
| 15 | <xi:include href="../../s_docbuild/template/docsrc_common/bookinfo_userdoc.xml" | ||
| 16 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 17 | |||
| 18 | <xi:include href="introduction.xml" | ||
| 19 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 20 | |||
| 21 | <xi:include href="vnf_onboarding.xml" | ||
| 22 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 23 | |||
| 24 | <xi:include href="instantiation.xml" | ||
| 25 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 26 | |||
| 27 | <xi:include href="vnf_configurations.xml" | ||
| 28 | xmlns:xi="http://www.w3.org/2001/XInclude" /> | ||
| 29 | |||
| 30 | </book> | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_template.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_template.xml new file mode 100644 index 0000000..eaa7ebd --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_template.xml | |||
| @@ -0,0 +1,151 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <section id="eltf_created_params"> | ||
| 5 | <title>File with Parameters in the Book Auto-updated by ELFT</title> | ||
| 6 | |||
| 7 | <note> | ||
| 8 | <para>See the <emphasis | ||
| 9 | role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text | ||
| 10 | file for description of how to create the final <emphasis | ||
| 11 | role="bold">eltf_params_updated.xml</emphasis> from this template and for | ||
| 12 | all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command | ||
| 13 | "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all | ||
| 14 | ELTF variables, which always begins with ELTF_ and don't only rely on the | ||
| 15 | howto text file list! The plan is that ELTF will auto-update this when | ||
| 16 | needed.</para> | ||
| 17 | </note> | ||
| 18 | |||
| 19 | <section id="host_prereq"> | ||
| 20 | <title>Common Parameters</title> | ||
| 21 | |||
| 22 | <bridgehead>A programlisting, ID | ||
| 23 | "eltf-prereq-apt-get-commands-host"</bridgehead> | ||
| 24 | |||
| 25 | <para id="eltf-prereq-apt-get-commands-host"><programlisting>ELTF_PL_HOST_PREREQ</programlisting></para> | ||
| 26 | |||
| 27 | <bridgehead>A programlisting, ID | ||
| 28 | "eltf-getting-repo-install-command"</bridgehead> | ||
| 29 | |||
| 30 | <para id="eltf-getting-repo-install-command"><programlisting>ELTF_PL_GET_REPO</programlisting></para> | ||
| 31 | |||
| 32 | <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is | ||
| 33 | correct also compared to the "previous" REL VER in pardoc-distro.xml | ||
| 34 | "prev_baseline".</bridgehead> | ||
| 35 | |||
| 36 | <para id="EneaLinux_REL_VER"><phrase>ELTF_EL_REL_VER</phrase></para> | ||
| 37 | |||
| 38 | <para id="Yocto_VER"><phrase>ELTF_YOCTO_VER</phrase></para> | ||
| 39 | |||
| 40 | <para id="Yocto_NAME"><phrase>ELTF_YOCTO_NAME</phrase></para> | ||
| 41 | |||
| 42 | <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink | ||
| 43 | url="ELTF_YOCTO_PROJ_DOWNLOAD_URL">ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL</ulink></para> | ||
| 44 | |||
| 45 | <para id="ULINK_ENEA_LINUX_URL"><ulink | ||
| 46 | url="ELTF_EL_DOWNLOAD_URL">ELTF_EL_DOWNLOAD_TXTURL</ulink></para> | ||
| 47 | |||
| 48 | <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use | ||
| 49 | $MACHINE/default.xml as parameter, where MACHINE is one of the target | ||
| 50 | directory names in the manifest.</bridgehead> | ||
| 51 | |||
| 52 | <para id="eltf-repo-cloning-enea-linux"><programlisting>ELTF_PL_CLONE_W_REPO</programlisting></para> | ||
| 53 | |||
| 54 | <bridgehead>A table with ONE row, only the row with ID | ||
| 55 | "eltf-eclipse-version-row" is included in the book. MANUALLY BOTH in the | ||
| 56 | template.xml and in the updated.xml, set condition hidden on the | ||
| 57 | <row>, if eclipse is not in the release.</bridgehead> | ||
| 58 | |||
| 59 | <informaltable> | ||
| 60 | <tgroup cols="1"> | ||
| 61 | <tbody> | ||
| 62 | <row id="eltf-eclipse-version-row"> | ||
| 63 | <entry>Eclipse version ELTF_ECLIPSE_VERSION plus command line | ||
| 64 | development tools are included in this Enea NFV Access release.</entry> | ||
| 65 | </row> | ||
| 66 | </tbody> | ||
| 67 | </tgroup> | ||
| 68 | </informaltable> | ||
| 69 | |||
| 70 | <bridgehead>Below is one big section with title "Supported Targets with | ||
| 71 | Parameters". The entire section is included completely in the book via ID | ||
| 72 | "eltf-target-tables-section" and shall be LAST in the template. The | ||
| 73 | template contains ONE target subsection. COPY/APPEND it, if multiple | ||
| 74 | targets exist in the release and optionally add rows with additional | ||
| 75 | target parameters in each target subsection table.</bridgehead> | ||
| 76 | </section> | ||
| 77 | |||
| 78 | <section id="eltf-target-tables-section"> | ||
| 79 | <title>Supported Targets with Parameters</title> | ||
| 80 | |||
| 81 | <para>The tables below describes the target(s) supported in this Enea | ||
| 82 | NFV Access release.</para> | ||
| 83 | |||
| 84 | <section id="eltf-target-table-ELTF_T_MANIFEST_DIR"> | ||
| 85 | <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title> | ||
| 86 | |||
| 87 | <para><informaltable> | ||
| 88 | <tgroup cols="2"> | ||
| 89 | <colspec colwidth="6*" /> | ||
| 90 | |||
| 91 | <colspec colwidth="9*" /> | ||
| 92 | |||
| 93 | <tbody> | ||
| 94 | <row> | ||
| 95 | <entry>Target official name</entry> | ||
| 96 | |||
| 97 | <entry>ELTF_T_NAME</entry> | ||
| 98 | </row> | ||
| 99 | |||
| 100 | <row> | ||
| 101 | <entry>Architecture and Description</entry> | ||
| 102 | |||
| 103 | <entry>ELTF_T_ARC_DESC</entry> | ||
| 104 | </row> | ||
| 105 | |||
| 106 | <row> | ||
| 107 | <entry>Link to target datasheet</entry> | ||
| 108 | |||
| 109 | <entry>See <ulink | ||
| 110 | url="ELTF_T_DS_URL">ELTF_T_DS_TXTURL</ulink></entry> | ||
| 111 | </row> | ||
| 112 | |||
| 113 | <row> | ||
| 114 | <entry>Poky version</entry> | ||
| 115 | |||
| 116 | <entry>ELTF_T_POKY_VER</entry> | ||
| 117 | </row> | ||
| 118 | |||
| 119 | <row> | ||
| 120 | <entry>GCC version</entry> | ||
| 121 | |||
| 122 | <entry>ELTF_T_GCC_VER</entry> | ||
| 123 | </row> | ||
| 124 | |||
| 125 | <row> | ||
| 126 | <entry>Linux Kernel Version</entry> | ||
| 127 | |||
| 128 | <entry>ELTF_T_KERN_VER</entry> | ||
| 129 | </row> | ||
| 130 | |||
| 131 | <row> | ||
| 132 | <entry>Supported Drivers</entry> | ||
| 133 | |||
| 134 | <entry>ELTF_T_DRIVERS</entry> | ||
| 135 | </row> | ||
| 136 | |||
| 137 | <row> | ||
| 138 | <entry>Enea rpm folder for downloading RPM packages for this | ||
| 139 | target</entry> | ||
| 140 | |||
| 141 | <entry><ulink | ||
| 142 | url="ELTF_T_EL_RPM_URL">ELTF_T_EL_RPM_TXTURL</ulink></entry> | ||
| 143 | </row> | ||
| 144 | </tbody> | ||
| 145 | </tgroup> | ||
| 146 | </informaltable></para> | ||
| 147 | </section> | ||
| 148 | |||
| 149 | <!-- ELTFADD_MORE_TARGET_SECTIONS_BELOW_IF_NEEDED --> | ||
| 150 | </section> | ||
| 151 | </section> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated.xml new file mode 100644 index 0000000..feabc9f --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated.xml | |||
| @@ -0,0 +1,286 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" | ||
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> | ||
| 4 | <section id="eltf_created_params"> | ||
| 5 | <title>File with Parameters in the Book Auto-updated by ELFT</title> | ||
| 6 | |||
| 7 | <note> | ||
| 8 | <para>See the <emphasis | ||
| 9 | role="bold">eltf_params_updated_template_howto_use.txt</emphasis> text | ||
| 10 | file for description of how to create the final <emphasis | ||
| 11 | role="bold">eltf_params_updated.xml</emphasis> from this template and for | ||
| 12 | all <emphasis role="bold">REQUIREMENTS</emphasis>. Use the command | ||
| 13 | "<emphasis role="bold">make eltf</emphasis>" to extract a full list of all | ||
| 14 | ELTF variables, which always begins with ELTF_ and don't only rely on the | ||
| 15 | howto text file list! The plan is that ELTF will auto-update this when | ||
| 16 | needed.</para> | ||
| 17 | </note> | ||
| 18 | |||
| 19 | <section id="host_prereq"> | ||
| 20 | <title>Common Parameters</title> | ||
| 21 | |||
| 22 | <bridgehead>A programlisting, ID | ||
| 23 | "eltf-prereq-apt-get-commands-host"</bridgehead> | ||
| 24 | |||
| 25 | <para id="eltf-prereq-apt-get-commands-host"><programlisting># Host Ubuntu 16.04 LTS 64bit | ||
| 26 | sudo apt-get -y update | ||
| 27 | sudo apt-get -y install sed wget subversion git-core coreutils unzip texi2html \ | ||
| 28 | texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ | ||
| 29 | make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ | ||
| 30 | libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ | ||
| 31 | libxml-parser-perl</programlisting></para> | ||
| 32 | |||
| 33 | <bridgehead>A programlisting, ID | ||
| 34 | "eltf-getting-repo-install-command"</bridgehead> | ||
| 35 | |||
| 36 | <para id="eltf-getting-repo-install-command"><programlisting>mkdir -p ~/bin | ||
| 37 | curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
| 38 | chmod a+x ~/bin/repo | ||
| 39 | export PATH=~/bin:$PATH</programlisting></para> | ||
| 40 | |||
| 41 | <bridgehead>Several phrase elements, various IDs. Ensure EL_REL_VER is | ||
| 42 | correct also compared to the "previous" REL VER in pardoc-distro.xml | ||
| 43 | "prev_baseline".</bridgehead> | ||
| 44 | |||
| 45 | <para id="EneaLinux_REL_VER"><phrase>2.2.1</phrase></para> | ||
| 46 | |||
| 47 | <para id="Yocto_VER"><phrase>2.4</phrase></para> | ||
| 48 | |||
| 49 | <para id="Yocto_NAME"><phrase>rocko</phrase></para> | ||
| 50 | |||
| 51 | <para id="ULINK_YOCTO_PROJECT_DOWNLOAD"><ulink | ||
| 52 | url="http://www.yoctoproject.org/downloads">http://www.yoctoproject.org/downloads</ulink></para> | ||
| 53 | |||
| 54 | <para id="ULINK_ENEA_LINUX_URL"><ulink | ||
| 55 | url="https://linux.enea.com/6">https://linux.enea.com/6</ulink></para> | ||
| 56 | |||
| 57 | <bridgehead>A programlisting, ID "eltf-repo-cloning-enea-linux". Use | ||
| 58 | $MACHINE/default.xml as parameter, where MACHINE is one of the target | ||
| 59 | directory names in the manifest.</bridgehead> | ||
| 60 | |||
| 61 | <para id="eltf-repo-cloning-enea-linux"><programlisting>mkdir enea-linux | ||
| 62 | cd enea-linux | ||
| 63 | repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ | ||
| 64 | -b refs/tags/EL6 -m $MACHINE/default.xml | ||
| 65 | repo sync</programlisting></para> | ||
| 66 | |||
| 67 | <bridgehead>A table with ONE row, only the row with ID | ||
| 68 | "eltf-eclipse-version-row" is included in the book. MANUALLY in book, set | ||
| 69 | condition hidden if eclipse is not in the release. Do this both in | ||
| 70 | template.xml and updated.xml.</bridgehead> | ||
| 71 | |||
| 72 | <informaltable> | ||
| 73 | <tgroup cols="1"> | ||
| 74 | <tbody> | ||
| 75 | <row condition="hidden" id="eltf-eclipse-version-row"> | ||
| 76 | <entry>Eclipse version 4.3 (Mars) plus command line development | ||
| 77 | tools are included in this Enea NFV Access release.</entry> | ||
| 78 | </row> | ||
| 79 | </tbody> | ||
| 80 | </tgroup> | ||
| 81 | </informaltable> | ||
| 82 | |||
| 83 | <bridgehead>Below is one big section with title "Supported Targets with | ||
| 84 | Parameters". The entire section is included completely in the book via ID | ||
| 85 | "eltf-target-tables-section" and shall be LAST in the template. The | ||
| 86 | template contains ONE target subsection. COPY/APPEND it, if multiple | ||
| 87 | targets exist in the release and optionally add rows with additional | ||
| 88 | target parameters in each target subsection table.</bridgehead> | ||
| 89 | </section> | ||
| 90 | |||
| 91 | <section id="eltf-target-tables-section"> | ||
| 92 | <title>Supported Reference Boards with Parameters</title> | ||
| 93 | |||
| 94 | <para>The table(s) below describes the target(s) supported in this Enea | ||
| 95 | NFV Access release.</para> | ||
| 96 | |||
| 97 | <table> | ||
| 98 | <title>MACHINE Information Intel Xeon D</title> | ||
| 99 | |||
| 100 | <tgroup cols="2"> | ||
| 101 | <colspec align="center" /> | ||
| 102 | |||
| 103 | <thead> | ||
| 104 | <row> | ||
| 105 | <entry align="center">Component</entry> | ||
| 106 | |||
| 107 | <entry align="center">Description</entry> | ||
| 108 | </row> | ||
| 109 | </thead> | ||
| 110 | |||
| 111 | <tbody> | ||
| 112 | <row> | ||
| 113 | <entry align="left">Target official name</entry> | ||
| 114 | |||
| 115 | <entry>Intel Xeon D</entry> | ||
| 116 | </row> | ||
| 117 | |||
| 118 | <row> | ||
| 119 | <entry align="left">Architecture and Description</entry> | ||
| 120 | |||
| 121 | <entry>x86-64</entry> | ||
| 122 | </row> | ||
| 123 | |||
| 124 | <row> | ||
| 125 | <entry align="left">Link to target datasheet</entry> | ||
| 126 | |||
| 127 | <entry><ulink | ||
| 128 | url="https://www.intel.com/content/www/us/en/processors/xeon/xeon-d-1500-datasheet-vol-1.html">Intel's | ||
| 129 | datasheet</ulink></entry> | ||
| 130 | </row> | ||
| 131 | |||
| 132 | <row> | ||
| 133 | <entry align="left">Poky version</entry> | ||
| 134 | |||
| 135 | <entry>Git-commit-id: | ||
| 136 | 7e7ee662f5dea4d090293045f7498093322802cc</entry> | ||
| 137 | </row> | ||
| 138 | |||
| 139 | <row> | ||
| 140 | <entry align="left">GCC version</entry> | ||
| 141 | |||
| 142 | <entry>7.3</entry> | ||
| 143 | </row> | ||
| 144 | |||
| 145 | <row> | ||
| 146 | <entry align="left">Linux Kernel Version</entry> | ||
| 147 | |||
| 148 | <entry>4.14</entry> | ||
| 149 | </row> | ||
| 150 | |||
| 151 | <row condition="hidden"> | ||
| 152 | <entry align="left">Supported Drivers</entry> | ||
| 153 | |||
| 154 | <entry>Ethernet, RTC, UART</entry> | ||
| 155 | </row> | ||
| 156 | </tbody> | ||
| 157 | </tgroup> | ||
| 158 | </table> | ||
| 159 | |||
| 160 | <table> | ||
| 161 | <title>MACHINE Information Intel Atom C3000</title> | ||
| 162 | |||
| 163 | <tgroup cols="2"> | ||
| 164 | <colspec align="center" /> | ||
| 165 | |||
| 166 | <thead> | ||
| 167 | <row> | ||
| 168 | <entry align="center">Component</entry> | ||
| 169 | |||
| 170 | <entry align="center">Description</entry> | ||
| 171 | </row> | ||
| 172 | </thead> | ||
| 173 | |||
| 174 | <tbody> | ||
| 175 | <row> | ||
| 176 | <entry align="left">Target official name</entry> | ||
| 177 | |||
| 178 | <entry>Intel Atom C3000</entry> | ||
| 179 | </row> | ||
| 180 | |||
| 181 | <row> | ||
| 182 | <entry align="left">Architecture and Description</entry> | ||
| 183 | |||
| 184 | <entry>x86-64</entry> | ||
| 185 | </row> | ||
| 186 | |||
| 187 | <row> | ||
| 188 | <entry align="left">Link to target datasheet</entry> | ||
| 189 | |||
| 190 | <entry><ulink | ||
| 191 | url="https://www.intel.com/content/www/us/en/products/docs/processors/atom/c-series/c3000-family-datasheet.html">Intel's | ||
| 192 | datasheet</ulink></entry> | ||
| 193 | </row> | ||
| 194 | |||
| 195 | <row> | ||
| 196 | <entry align="left">Poky version</entry> | ||
| 197 | |||
| 198 | <entry>Git-commit-id: | ||
| 199 | 7e7ee662f5dea4d090293045f7498093322802cc</entry> | ||
| 200 | </row> | ||
| 201 | |||
| 202 | <row> | ||
| 203 | <entry align="left">GCC version</entry> | ||
| 204 | |||
| 205 | <entry>7.3</entry> | ||
| 206 | </row> | ||
| 207 | |||
| 208 | <row> | ||
| 209 | <entry align="left">Linux Kernel Version</entry> | ||
| 210 | |||
| 211 | <entry>4.14</entry> | ||
| 212 | </row> | ||
| 213 | |||
| 214 | <row condition="hidden"> | ||
| 215 | <entry align="left">Supported Drivers</entry> | ||
| 216 | |||
| 217 | <entry>Ethernet, RTC, UART</entry> | ||
| 218 | </row> | ||
| 219 | </tbody> | ||
| 220 | </tgroup> | ||
| 221 | </table> | ||
| 222 | |||
| 223 | <table condition="arm"> | ||
| 224 | <title>MACHINE Information</title> | ||
| 225 | |||
| 226 | <tgroup cols="2"> | ||
| 227 | <colspec align="center" /> | ||
| 228 | |||
| 229 | <thead> | ||
| 230 | <row> | ||
| 231 | <entry align="center">Component</entry> | ||
| 232 | |||
| 233 | <entry align="center">Description</entry> | ||
| 234 | </row> | ||
| 235 | </thead> | ||
| 236 | |||
| 237 | <tbody> | ||
| 238 | <row> | ||
| 239 | <entry align="left">Target official name</entry> | ||
| 240 | |||
| 241 | <entry>OCTEON TXâ„¢ cn8304</entry> | ||
| 242 | </row> | ||
| 243 | |||
| 244 | <row> | ||
| 245 | <entry align="left">Architecture and Description</entry> | ||
| 246 | |||
| 247 | <entry>arm64</entry> | ||
| 248 | </row> | ||
| 249 | |||
| 250 | <row> | ||
| 251 | <entry align="left">Link to target datasheet</entry> | ||
| 252 | |||
| 253 | <entry><ulink | ||
| 254 | url="http://www.cavium.com/OCTEON-TX-CN82XX-83XX.html">OCTEON | ||
| 255 | TXâ„¢ cn8304 datasheet</ulink></entry> | ||
| 256 | </row> | ||
| 257 | |||
| 258 | <row> | ||
| 259 | <entry align="left">Poky version</entry> | ||
| 260 | |||
| 261 | <entry>Git-commit-id: | ||
| 262 | f01b909a266498853e6b3f10e6b39f2d95148129</entry> | ||
| 263 | </row> | ||
| 264 | |||
| 265 | <row> | ||
| 266 | <entry align="left">GCC version</entry> | ||
| 267 | |||
| 268 | <entry>5.3<remark>FIXME</remark></entry> | ||
| 269 | </row> | ||
| 270 | |||
| 271 | <row> | ||
| 272 | <entry align="left">Linux Kernel Version</entry> | ||
| 273 | |||
| 274 | <entry>3.12<remark>FIXME</remark></entry> | ||
| 275 | </row> | ||
| 276 | |||
| 277 | <row condition="hidden"> | ||
| 278 | <entry align="left">Supported Drivers</entry> | ||
| 279 | |||
| 280 | <entry>Ethernet, RTC, UART</entry> | ||
| 281 | </row> | ||
| 282 | </tbody> | ||
| 283 | </tgroup> | ||
| 284 | </table> | ||
| 285 | </section> | ||
| 286 | </section> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated_template_how_to_use.txt b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated_template_how_to_use.txt new file mode 100755 index 0000000..62e5d02 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/eltf_params_updated_template_how_to_use.txt | |||
| @@ -0,0 +1,320 @@ | |||
| 1 | eltf_params_template_updated_howto_use.txt | ||
| 2 | |||
| 3 | This is a way to collect all parameters for an Enea NFV Access release | ||
| 4 | in one parameter file, easy to automatically update by ELTF regularly. | ||
| 5 | |||
| 6 | NOTE: Both the release info AND the open source books use parameters from | ||
| 7 | here, but the XML file is inside the release info book directory. | ||
| 8 | |||
| 9 | NOTE: The manifest_conf.mk, or overridden by the environment variable | ||
| 10 | MANIFESTHASH, contains the full tag (or hashvalue) for downloading | ||
| 11 | the manifest when the books are built. The list of target | ||
| 12 | directories are fetched from the manifest into the book. | ||
| 13 | The eltf_params_updates.xml can all the time contain | ||
| 14 | the final next complete tag e.g. refs/tags/EL6 or similar | ||
| 15 | in the ELTF_PL_CLONE_W_REPO parameter command lines. | ||
| 16 | |||
| 17 | The ordinary book XML files use xi:include statements to include elements | ||
| 18 | from this parameter file. The book XML files can thus be manually edited. | ||
| 19 | Before editing, you must run "make init". | ||
| 20 | Any other text in the template or updated.xml file, outside the parts that | ||
| 21 | are included in the book, are not used but still all must be correct | ||
| 22 | DocBook XML files. | ||
| 23 | |||
| 24 | ELTF work: | ||
| 25 | template => ELTF replaces ALL ELTF_xxx variables => updated XML file | ||
| 26 | => push to git only if changed | ||
| 27 | |||
| 28 | |||
| 29 | eltf_params_template.xml (in git) | ||
| 30 | File used by ELTF to autocreate/update the real parameter | ||
| 31 | file eltf_params_updated.xml. | ||
| 32 | |||
| 33 | eltf_params_updated.xml (in git) | ||
| 34 | Real parameter file where ELTF has replaced all ELTF_xx variables with | ||
| 35 | strings, in several cases with multiline strings. | ||
| 36 | No spaces or linefeed allowed in beginning or end of the variable values! | ||
| 37 | |||
| 38 | |||
| 39 | xi:include: Each parameter is xi:include'ed in various book files, using | ||
| 40 | the IDs existing in the parameter files. | ||
| 41 | In most cases the 1:st element inside an element with an ID is included | ||
| 42 | using a format like eltf-prereq-apt-get-commands-host/1. | ||
| 43 | In very few cases the element with the ID is included in the book, one | ||
| 44 | example is the target section which has an ID, but which contains | ||
| 45 | multiple subsections, one per target. | ||
| 46 | All IDs in a book must be unique. | ||
| 47 | |||
| 48 | DocBook XML: All XML files must be correct DocBook XML files. | ||
| 49 | |||
| 50 | Do NOT edit/save the real *updated.xml file with XMLmind to avoid changes | ||
| 51 | not done by ELTF. But it is OK to open the real file in XMLmind to | ||
| 52 | check that the format is correct. | ||
| 53 | |||
| 54 | ELTF should autocreate a temporary "real" file but only replace | ||
| 55 | and push the eltf_params_updated.xml if it is changed. | ||
| 56 | |||
| 57 | |||
| 58 | make eltf | ||
| 59 | This lists all ELTF_xxx variables and some rules how to treat them | ||
| 60 | |||
| 61 | DocBook Format: All elements - rules: | ||
| 62 | Several strict generic XML rules apply for all strings: | ||
| 63 | 1. No TABs allowed or any other control chr than "linefeed" | ||
| 64 | 2. Only 7-bit ASCII | ||
| 65 | 3. Any < > & must be converted to < > and & | ||
| 66 | Similar for any other non-7-bit-ASCII but avoid those! | ||
| 67 | 4. No leading spaces or linefeeds when replacing the ELTF_* variable | ||
| 68 | 5. No trailing spaces or linefeeds when replacing the ELTF_* variable | ||
| 69 | 6. Note: Keep existing spaces before/efter ELTF_* in a few cases. | ||
| 70 | |||
| 71 | DocBook Format: <programlisting> - rules: ELTF*PL* variables | ||
| 72 | Several strict rules apply for the multiline string in programlisting | ||
| 73 | in addition to the general XML rules above: | ||
| 74 | 7. Max line length < 80 char | ||
| 75 | 8. Use backslash (\) to break longer lines | ||
| 76 | 9. Use spaces (e.g. 4) to indent continuation lines in programlistings | ||
| 77 | 10. No trailing spaces on any line | ||
| 78 | 11. No spaces or linefeed immediately after leading <programlisting> | ||
| 79 | 12. No spaces or linefeed before trailing </programlisting> | ||
| 80 | |||
| 81 | DocBook Format: <ulink> - rules: ELTF_*URL* variables | ||
| 82 | 13. ELTF_*URL and corresponding ELTF_*TXTURL shall be identical strings | ||
| 83 | 14. Only if the URL is extremely long, the TXTURL can be a separate string | ||
| 84 | |||
| 85 | Each target has one section with target parameters: | ||
| 86 | <section id="eltf-target-table-ELTF_T_MANIFEST_DIR"> | ||
| 87 | <title>MACHINE ELTF_T_MANIFEST_DIR - Information</title> | ||
| 88 | ..... with many ELTF_ variables .... | ||
| 89 | </section> | ||
| 90 | |||
| 91 | 15. If there is only one target. ELTF just replaces ELTF parameters | ||
| 92 | |||
| 93 | 16. It there are multiple targets. ELTF copies the section and appends the | ||
| 94 | section the required number of times. | ||
| 95 | Each section ID will become unique: eltf-target-table-ELTF_T_MANIFEST_DIR | ||
| 96 | Each section title will become unique | ||
| 97 | |||
| 98 | Tables with target parameters in each target section: | ||
| 99 | 17. It is possible for ELTF to append more rows with one parameter each | ||
| 100 | to these tables, because the entire tables are included in the book | ||
| 101 | |||
| 102 | Special - NOT YET READY DEFINED how to handle the optionally included | ||
| 103 | Eclipse and its version, but this is a first suggestion: | ||
| 104 | 18. Just now ELTF can define ELFT_ECLIPSE_VERSION as a full string | ||
| 105 | with both version number and name, | ||
| 106 | 19. MANUALLY if Eclipse is NOT included in the release, | ||
| 107 | the release manager should manually set condition="hidden" on | ||
| 108 | the entire section in the book XML about Eclipse | ||
| 109 | |||
| 110 | |||
| 111 | |||
| 112 | BELOW WE TRY TO EXPLAIN EACH ELTF_* variable, but always check with make eltf | ||
| 113 | if there are more new variables, missing in this description file. | ||
| 114 | |||
| 115 | _____________________________________________________________________________ | ||
| 116 | ELTF_PL_HOST_PREREQ Multiline list of host prerequisites, e.g. commands | ||
| 117 | like sudo apt-get install xxxx or similar. | ||
| 118 | First line = comment with the complete host name! | ||
| 119 | It is possible to include multiple hosts by just | ||
| 120 | adding an empty line, comment with host name, etc. | ||
| 121 | xi:include eltf-prereq-apt-get-commands-host/1 | ||
| 122 | This is a <programlisting>...</programlisting> | ||
| 123 | Example: | ||
| 124 | # Host Ubuntu 14.04.5 LTS 64bit | ||
| 125 | sudo apt-get update | ||
| 126 | sudo apt-get install sed wget subversion git-core coreutils unzip texi2html \ | ||
| 127 | texinfo libsdl1.2-dev docbook-utils fop gawk python-pysqlite2 diffstat \ | ||
| 128 | make gcc build-essential xsltproc g++ desktop-file-utils chrpath \ | ||
| 129 | libgl1-mesa-dev libglu1-mesa-dev autoconf automake groff libtool xterm \ | ||
| 130 | libxml-parser-perl | ||
| 131 | |||
| 132 | _____________________________________________________________________________ | ||
| 133 | ELTF_PL_GET_REPO Multiline commands to download the repo tool | ||
| 134 | xi:include eltf-getting-repo-install-command/1 | ||
| 135 | This is a <programlisting>...</programlisting> | ||
| 136 | Example: | ||
| 137 | mkdir -p ~/bin | ||
| 138 | curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo | ||
| 139 | chmod a+x ~/bin/repo | ||
| 140 | export PATH=~/bin:$PATH | ||
| 141 | |||
| 142 | _____________________________________________________________________________ | ||
| 143 | ELTF_EL_REL_VER General parameter string: The version of this Enea | ||
| 144 | NFV Access release. Major version and optional .Minor | ||
| 145 | Typically created from MAJOR and MINOR in enea.conf | ||
| 146 | MINOR in enea.conf is empty or contains a dot+minor | ||
| 147 | xi_include EneaLinux_REL_VER/1 | ||
| 148 | This is a <phrase>X.x</phrase> used in many places. | ||
| 149 | Examples: | ||
| 150 | 6 | ||
| 151 | or | ||
| 152 | 6.1 | ||
| 153 | |||
| 154 | _____________________________________________________________________________ | ||
| 155 | ELTF_YOCTO_VER General parameter string: Yocto version, created | ||
| 156 | from DISTRO in poky.ent | ||
| 157 | xi:include Yocto_VER/1 | ||
| 158 | This is a <phrase>X.x</phrase> used in many places. | ||
| 159 | Example: | ||
| 160 | 2.1 | ||
| 161 | |||
| 162 | _____________________________________________________________________________ | ||
| 163 | ELTF_YOCTO_NAME General parameter string: Yocto name (branch), created | ||
| 164 | from DISTRO_NAME_NO_CAP in poky.ent | ||
| 165 | xi:include Yocto_NAME/1 | ||
| 166 | This is a <phrase>X.x</phrase> used in many places. | ||
| 167 | Example: | ||
| 168 | krogoth | ||
| 169 | |||
| 170 | _____________________________________________________________________________ | ||
| 171 | ELTF_YOCTO_PROJ_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL | ||
| 172 | ELTF_YOCTO_PROJ_DOWNLOAD_URL strings with correct Yocto version string | ||
| 173 | at the end, typically without "dot". | ||
| 174 | xi:include ULINK_YOCTO_PROJECT_DOWNLOAD/1 | ||
| 175 | This is an <ulink url="...">...</ulink> | ||
| 176 | Example: | ||
| 177 | http://www.yoctoproject.org/downloads/core/krogoth/21 | ||
| 178 | |||
| 179 | _____________________________________________________________________________ | ||
| 180 | ELTF_EL_DOWNLOAD_TXTURL General parameters. These two are IDENTICAL strings | ||
| 181 | ELTF_EL_DOWNLOAD_URL and shall be the http:/..... address where | ||
| 182 | Enea NFV Access can be downloaded | ||
| 183 | Often containing same version as in ELTF_EL_REL_VER | ||
| 184 | xi:include ULINK_ENEA_LINUX_URL/1 | ||
| 185 | This is an <ulink url="...">...</ulink> | ||
| 186 | Example: | ||
| 187 | http://linux.enea.com/6 | ||
| 188 | |||
| 189 | _____________________________________________________________________________ | ||
| 190 | ELTF_PL_CLONE_W_REPO Multiline commands to run repo to clone everything. | ||
| 191 | Use the variable $MACHINE/default.xml (the text in | ||
| 192 | the book will list the avaiable values of MACHINE, | ||
| 193 | taken from the manifest repository) | ||
| 194 | xi:include eltf-repo-cloning-enea-linux/1 | ||
| 195 | This is a <programlisting>...</programlisting> | ||
| 196 | Example: | ||
| 197 | mkdir enea-linux | ||
| 198 | cd enea-linux | ||
| 199 | repo init -u git@git.enea.com:linux/manifests/el_manifests-virtualization.git \ | ||
| 200 | -b refs/tags/EL6 -m $MACHINE/default.xml | ||
| 201 | repo sync | ||
| 202 | |||
| 203 | _____________________________________________________________________________ | ||
| 204 | ELTF_ECLIPSE_VERSION Optional general parameter string. | ||
| 205 | NOT YET READY DEFINED | ||
| 206 | Just now a release manage must manually set | ||
| 207 | condition="hidden" on the Eclipse section, | ||
| 208 | if Eclipse is not included in the release. | ||
| 209 | ELTF just replaces ELTF_ECLIPSE_VERSION with a full | ||
| 210 | string with "X.Y (name)" | ||
| 211 | It includes the ID and can only be ONCE in the book. | ||
| 212 | xi:include eltf-eclipse-version-row | ||
| 213 | Example. | ||
| 214 | 4.5 (Mars) | ||
| 215 | |||
| 216 | |||
| 217 | _____________________________________________________________________________ | ||
| 218 | ELTF_T_* All these are in each target (MACHINE) and ELTF | ||
| 219 | must separately replace them with strings for | ||
| 220 | each target | ||
| 221 | NOTE: All (except the MANIFEST_DIR) are in rows | ||
| 222 | in a table and ELTF can select to append | ||
| 223 | more parameters by adding more rows | ||
| 224 | |||
| 225 | _____________________________________________________________________________ | ||
| 226 | ELTF_T_MANIFEST_DIR This happens to be in two places. Must be exactly | ||
| 227 | ELTF_T_MANIFEST_DIR the directory name in the manifest, e.g. same | ||
| 228 | as the MACHINE names in $MACHINE/default.xml. | ||
| 229 | In book: a) Part of section ID | ||
| 230 | b) Part of section title | ||
| 231 | Examples: | ||
| 232 | p2041rgb | ||
| 233 | or | ||
| 234 | ls1021aiot | ||
| 235 | or | ||
| 236 | qemuarm | ||
| 237 | |||
| 238 | _____________________________________________________________________________ | ||
| 239 | ELTF_T_NAME Target specific: "Target Official Name" | ||
| 240 | NOT same as the target directory name in most cases. | ||
| 241 | In book: An <entry> element in a row | ||
| 242 | Examples: | ||
| 243 | P2041RGB | ||
| 244 | or | ||
| 245 | LS1021a-IoT | ||
| 246 | or | ||
| 247 | qemuarm | ||
| 248 | |||
| 249 | _____________________________________________________________________________ | ||
| 250 | ELTF_T_ARC_DESC Target specific: "Architecture and Description" | ||
| 251 | It can be a short identification string or | ||
| 252 | it can be a longer descriptive sentence. | ||
| 253 | In book: An <entry> element in a row | ||
| 254 | Examples: | ||
| 255 | Power, e500mc | ||
| 256 | or | ||
| 257 | ARM Cortex-A7 | ||
| 258 | |||
| 259 | _____________________________________________________________________________ | ||
| 260 | ELTF_T_DS_TXTURL Target specific: "Link to target datasheet. These | ||
| 261 | ELTF_T_DS_URL two usually are IDENTICAL strings with correct | ||
| 262 | hyperlink to the target's official datasheet. | ||
| 263 | In book: an <ulink url="...">...</ulink> | ||
| 264 | Only if the link is VERY LONG, the text part shall | ||
| 265 | instead be a descriptive string (see 2:nd example). | ||
| 266 | NOTE: Also here no spaces or line-feeds! | ||
| 267 | Examples: | ||
| 268 | url="http://wiki.qemu.org">http://wiki.qemu.org | ||
| 269 | or | ||
| 270 | 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 | ||
| 271 | |||
| 272 | _____________________________________________________________________________ | ||
| 273 | ELTF_T_POKY_VER Target specific: "Poky version" created either | ||
| 274 | from POKYVERSION in poky.ent | ||
| 275 | or using a hashvalue with a leading string, in | ||
| 276 | which case it may be different per target. | ||
| 277 | In book: An <entry> in a row | ||
| 278 | Examples: | ||
| 279 | 15.0.0 | ||
| 280 | or | ||
| 281 | Git commit id: 75ca53211488a3e268037a44ee2a7ac5c7181bd2 | ||
| 282 | |||
| 283 | _____________________________________________________________________________ | ||
| 284 | ELTF_T_GCC_VER Target specific: "GCC Version". Should be in poky | ||
| 285 | but not easy to find among various parameters. | ||
| 286 | ELTF would extract it from build logs building SDK | ||
| 287 | and it is possibly different per target. | ||
| 288 | In book: An <entry> in a row | ||
| 289 | Example: | ||
| 290 | 5.3 | ||
| 291 | |||
| 292 | _____________________________________________________________________________ | ||
| 293 | ELTF_T_KERN_VER Target specific: "Linux Kernel Version". Often | ||
| 294 | different per target. | ||
| 295 | In book: An <entry> in a row | ||
| 296 | Example: | ||
| 297 | 3.12 | ||
| 298 | |||
| 299 | _____________________________________________________________________________ | ||
| 300 | ELTF_T_DRIVERS Target specific: "Supported Drivers". This is a | ||
| 301 | comma-separated list of driver names. | ||
| 302 | ELTF should create the list in same order for each | ||
| 303 | target, e.g. alphabetic migth be OK. | ||
| 304 | In book: An <entry> in a row | ||
| 305 | Example: | ||
| 306 | Ethernet, I2C, SPI, PCI, USB, SD/SDHC/SDXC | ||
| 307 | |||
| 308 | |||
| 309 | _____________________________________________________________________________ | ||
| 310 | ELTF_T_EL_RPM_TXTURL Target specific: "Enea rpm folder for downloading | ||
| 311 | ELTF_T_EL_RPM_URL RPM packages for this target". These two are | ||
| 312 | INDENTICAL strings with hyperlink to the web site | ||
| 313 | at Enea where the customer can download RPMs | ||
| 314 | Note: Often the ELFT_EL_REL_VER value and | ||
| 315 | the ELTF_T_MANIFEST_DIR are used in the link. | ||
| 316 | In book: an <ulink url="...">...</ulink> | ||
| 317 | Example: | ||
| 318 | url="https://linux.enea.com/6/ls1021aiot/rpm">https://linux.enea.com/6/ls1021aiot/rpm | ||
| 319 | |||
| 320 | _____________________________________________________________________________ | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/6wind_cloudinit.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/6wind_cloudinit.png new file mode 100755 index 0000000..36264e1 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/6wind_cloudinit.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/add_output.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/add_output.png new file mode 100755 index 0000000..e814d3d --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/add_output.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/coss_vnf_inst.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/coss_vnf_inst.png new file mode 100755 index 0000000..862b408 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/coss_vnf_inst.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/cosstream_cloudinit.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/cosstream_cloudinit.png new file mode 100755 index 0000000..2a31213 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/cosstream_cloudinit.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_interface.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_interface.png new file mode 100755 index 0000000..5344a9a --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_interface.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_ovs_bridge.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_ovs_bridge.png new file mode 100755 index 0000000..ec8882f --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/create_ovs_bridge.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_cloudinit.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_cloudinit.png new file mode 100755 index 0000000..7ce7821 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_cloudinit.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port1.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port1.png new file mode 100755 index 0000000..9eee61c --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port1.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port2.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port2.png new file mode 100755 index 0000000..9d97543 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port2.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port3.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port3.png new file mode 100755 index 0000000..1f33ea7 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/fortios_port3.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/main_net_int.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/main_net_int.png new file mode 100755 index 0000000..97e5de6 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/main_net_int.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_6wind.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_6wind.png new file mode 100755 index 0000000..a0d8210 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_6wind.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_clav_coss.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_clav_coss.png new file mode 100755 index 0000000..5704d6a --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_clav_coss.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_fortios.png b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_fortios.png new file mode 100755 index 0000000..3c6b2de --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/images/onboard_fortios.png | |||
| Binary files differ | |||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/instantiation.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/instantiation.xml new file mode 100644 index 0000000..bb0e28b --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/instantiation.xml | |||
| @@ -0,0 +1,126 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <chapter id="instantiation"> | ||
| 3 | <title>Instantiation</title> | ||
| 4 | |||
| 5 | <para>When a VNF is onboarded and available in the VNF catalog, it can be | ||
| 6 | instantiated (deployed) on connected uCPEs. The instantiation wizard uses | ||
| 7 | the configurations provided when the VNF is onboarded, as a template for | ||
| 8 | instantiation. Before the instantiation, however, the uCPE needs to be | ||
| 9 | prepared:</para> | ||
| 10 | |||
| 11 | <orderedlist> | ||
| 12 | <listitem> | ||
| 13 | <para>Physical NICs used with the VNF directly (through SR-IOV or PCI | ||
| 14 | Passthrough) or indirectly (through bridges) need to be configured | ||
| 15 | (Device->Configuration->OpenVSwitch->Host Interfaces).</para> | ||
| 16 | |||
| 17 | <note> | ||
| 18 | <para>Before configuring any physical NICs determine which is used for | ||
| 19 | managing the device. Altering the configuration of a NIC may cause | ||
| 20 | connectivity issues.</para> | ||
| 21 | </note> | ||
| 22 | </listitem> | ||
| 23 | |||
| 24 | <listitem> | ||
| 25 | <para>Add any needed bridges, connecting them to the physical NICs | ||
| 26 | previously configured or making them integration bridges (without | ||
| 27 | physical NIC) for service chaining.</para> | ||
| 28 | </listitem> | ||
| 29 | </orderedlist> | ||
| 30 | |||
| 31 | <para>Once the physical NICs and bridges are configured, the VNF can be | ||
| 32 | instantiated using the Instantiation Wizard.</para> | ||
| 33 | |||
| 34 | <section id="using_wiz"> | ||
| 35 | <title>Using the Instantiation Wizard</title> | ||
| 36 | |||
| 37 | <orderedlist> | ||
| 38 | <listitem> | ||
| 39 | <para>Enter the Instantiation Wizard by accessing VNF->Instances | ||
| 40 | and hitting <literal>Add</literal>.</para> | ||
| 41 | </listitem> | ||
| 42 | |||
| 43 | <listitem> | ||
| 44 | <para>Fill out the following mandatory fields:</para> | ||
| 45 | |||
| 46 | <itemizedlist spacing="compact"> | ||
| 47 | <listitem> | ||
| 48 | <para>Name (a descriptive name).</para> | ||
| 49 | </listitem> | ||
| 50 | |||
| 51 | <listitem> | ||
| 52 | <para>Target (the uCPE device to instantiate the VNF on).</para> | ||
| 53 | </listitem> | ||
| 54 | |||
| 55 | <listitem> | ||
| 56 | <para>Networking Configuration:</para> | ||
| 57 | |||
| 58 | <itemizedlist spacing="compact"> | ||
| 59 | <listitem> | ||
| 60 | <para>Connect each configured NIC with a bridge, SR-IOV or PCI | ||
| 61 | Passthrough.</para> | ||
| 62 | </listitem> | ||
| 63 | |||
| 64 | <listitem> | ||
| 65 | <para>Set up each NIC with a driver method (DPDK or | ||
| 66 | e1000).</para> | ||
| 67 | </listitem> | ||
| 68 | </itemizedlist> | ||
| 69 | |||
| 70 | <note> | ||
| 71 | <para>All configured NICs must be set up before instantiating a | ||
| 72 | VNF. Failure to do so will end in a failed instantiation.</para> | ||
| 73 | </note> | ||
| 74 | </listitem> | ||
| 75 | </itemizedlist> | ||
| 76 | </listitem> | ||
| 77 | |||
| 78 | <listitem> | ||
| 79 | <para>Add VNF specific configuration by uploading a Cloud-Init file | ||
| 80 | (when the Cloud-Init is used).</para> | ||
| 81 | </listitem> | ||
| 82 | |||
| 83 | <listitem> | ||
| 84 | <para>Add any VNF specific files (e.g license files).</para> | ||
| 85 | </listitem> | ||
| 86 | |||
| 87 | <listitem> | ||
| 88 | <para>Hit the instantiation button to deploy the VNF.</para> | ||
| 89 | </listitem> | ||
| 90 | </orderedlist> | ||
| 91 | </section> | ||
| 92 | |||
| 93 | <section id="enter_console"> | ||
| 94 | <title>Entering the VNF Console</title> | ||
| 95 | |||
| 96 | <para>Once the VNF is deployed, the VNF console can be entered using SSH | ||
| 97 | and virsh commands. The VNF Console is a typical starting point for | ||
| 98 | determining a successful deployment and configuring a VNF beyond Day | ||
| 99 | Zero.</para> | ||
| 100 | |||
| 101 | <orderedlist spacing="compact"> | ||
| 102 | <listitem> | ||
| 103 | <para>SSH to the uCPE device from the Enea uCPE Manager | ||
| 104 | (Device->SSH) with default user and password: | ||
| 105 | <literal>root</literal>.</para> | ||
| 106 | </listitem> | ||
| 107 | |||
| 108 | <listitem> | ||
| 109 | <para>In SSH:</para> | ||
| 110 | |||
| 111 | <orderedlist> | ||
| 112 | <listitem> | ||
| 113 | <para>Use the <command>virsh list</command> command to list all | ||
| 114 | running VNFs and to determine the VNF's instance number.</para> | ||
| 115 | </listitem> | ||
| 116 | |||
| 117 | <listitem> | ||
| 118 | <para>Use the <command>virsh console <instance | ||
| 119 | number></command> command to enter the VNF specific | ||
| 120 | console.</para> | ||
| 121 | </listitem> | ||
| 122 | </orderedlist> | ||
| 123 | </listitem> | ||
| 124 | </orderedlist> | ||
| 125 | </section> | ||
| 126 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/introduction.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/introduction.xml new file mode 100644 index 0000000..cee9fcb --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/introduction.xml | |||
| @@ -0,0 +1,90 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <chapter id="intro"> | ||
| 3 | <title>Introduction</title> | ||
| 4 | |||
| 5 | <para>This document describes the process of onboarding a new VNF onto the | ||
| 6 | Enea uCPE Manager so that it can subsequently instantiate and run the VNF on | ||
| 7 | one or more uCPEs.</para> | ||
| 8 | |||
| 9 | <section id="prereq"> | ||
| 10 | <title>Prerequisites</title> | ||
| 11 | |||
| 12 | <para>In order to onboard a new VNF into the Enea uCPE Manager VNF | ||
| 13 | catalog, specific prerequisites must be known and met:</para> | ||
| 14 | |||
| 15 | <itemizedlist spacing="compact"> | ||
| 16 | <listitem> | ||
| 17 | <para>Access to the VNF QCOW2 image.</para> | ||
| 18 | </listitem> | ||
| 19 | |||
| 20 | <listitem> | ||
| 21 | <para>VNF Flavor information:</para> | ||
| 22 | |||
| 23 | <itemizedlist spacing="compact"> | ||
| 24 | <listitem> | ||
| 25 | <para>Amount of RAM required.</para> | ||
| 26 | </listitem> | ||
| 27 | |||
| 28 | <listitem> | ||
| 29 | <para>Number of vCPUs needed.</para> | ||
| 30 | </listitem> | ||
| 31 | |||
| 32 | <listitem> | ||
| 33 | <para>Size of disk required.</para> | ||
| 34 | </listitem> | ||
| 35 | </itemizedlist> | ||
| 36 | </listitem> | ||
| 37 | |||
| 38 | <listitem> | ||
| 39 | <para>Network configuration:</para> | ||
| 40 | |||
| 41 | <itemizedlist spacing="compact"> | ||
| 42 | <listitem> | ||
| 43 | <para>Number of Network Interfaces to be used for the VNF.</para> | ||
| 44 | </listitem> | ||
| 45 | |||
| 46 | <listitem> | ||
| 47 | <para>The roles of each network interface (MGMT, WAN, LAN).</para> | ||
| 48 | </listitem> | ||
| 49 | |||
| 50 | <listitem> | ||
| 51 | <para>Driver access for each Network Interface (DPDK, SR-IOV or | ||
| 52 | PCI Passthrough).</para> | ||
| 53 | </listitem> | ||
| 54 | |||
| 55 | <listitem> | ||
| 56 | <para>IP Configuration for each Network Interface (DHCP, Static | ||
| 57 | IP).</para> | ||
| 58 | </listitem> | ||
| 59 | </itemizedlist> | ||
| 60 | </listitem> | ||
| 61 | |||
| 62 | <listitem> | ||
| 63 | <para>Day zero configuration method for the VNF:</para> | ||
| 64 | |||
| 65 | <itemizedlist spacing="compact"> | ||
| 66 | <listitem> | ||
| 67 | <para>Cloud-Init, ConfigDrive, NoCloud, raw ISO or none.</para> | ||
| 68 | </listitem> | ||
| 69 | |||
| 70 | <listitem> | ||
| 71 | <para>Cloud-Init mount method (CDROM or disk).</para> | ||
| 72 | </listitem> | ||
| 73 | |||
| 74 | <listitem> | ||
| 75 | <para>Cloud-Init file structure to be used.</para> | ||
| 76 | </listitem> | ||
| 77 | |||
| 78 | <listitem> | ||
| 79 | <para>Availability of a VNF specific day-zero configuration for | ||
| 80 | setting up the VNFs day zero settings.</para> | ||
| 81 | </listitem> | ||
| 82 | </itemizedlist> | ||
| 83 | </listitem> | ||
| 84 | </itemizedlist> | ||
| 85 | |||
| 86 | <para>All this information is provided with each VNF's Getting Started | ||
| 87 | Guide, with configurations typically specific to the intended use case of | ||
| 88 | the VNF.</para> | ||
| 89 | </section> | ||
| 90 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_configurations.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_configurations.xml new file mode 100644 index 0000000..3b37328 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_configurations.xml | |||
| @@ -0,0 +1,378 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <chapter id="vnf_configs"> | ||
| 3 | <title>Detailed VNF Configurations</title> | ||
| 4 | |||
| 5 | <para><remark>Perhaps an introduction is needed</remark></para> | ||
| 6 | |||
| 7 | <section id="wind_turbo_router"> | ||
| 8 | <title>6Wind Turbo Router</title> | ||
| 9 | |||
| 10 | <remark>Perhaps an introduction is needed</remark> | ||
| 11 | |||
| 12 | <section id="onboard_turbo"> | ||
| 13 | <title>Onboarding</title> | ||
| 14 | |||
| 15 | <para>The required fields and their specifications, need to be filled | ||
| 16 | with the following information in order onboard the VNF:</para> | ||
| 17 | |||
| 18 | <table> | ||
| 19 | <title>Main Fields Data</title> | ||
| 20 | |||
| 21 | <tgroup cols="2"> | ||
| 22 | <colspec align="center" /> | ||
| 23 | |||
| 24 | <thead> | ||
| 25 | <row> | ||
| 26 | <entry align="center">Field</entry> | ||
| 27 | |||
| 28 | <entry align="center">Specification</entry> | ||
| 29 | </row> | ||
| 30 | </thead> | ||
| 31 | |||
| 32 | <tbody> | ||
| 33 | <row> | ||
| 34 | <entry>VM Image File</entry> | ||
| 35 | |||
| 36 | <entry>Choose the 6Wind Turbo Router QCOW image file.</entry> | ||
| 37 | </row> | ||
| 38 | |||
| 39 | <row> | ||
| 40 | <entry>Image Format</entry> | ||
| 41 | |||
| 42 | <entry>QCOW2</entry> | ||
| 43 | </row> | ||
| 44 | |||
| 45 | <row> | ||
| 46 | <entry>VNF Type Name</entry> | ||
| 47 | |||
| 48 | <entry>Turbo_Router</entry> | ||
| 49 | </row> | ||
| 50 | |||
| 51 | <row> | ||
| 52 | <entry>Description</entry> | ||
| 53 | |||
| 54 | <entry>6Winds Turbo Router</entry> | ||
| 55 | </row> | ||
| 56 | |||
| 57 | <row> | ||
| 58 | <entry>Version</entry> | ||
| 59 | |||
| 60 | <entry>1.0</entry> | ||
| 61 | </row> | ||
| 62 | |||
| 63 | <row> | ||
| 64 | <entry>Memory in MB</entry> | ||
| 65 | |||
| 66 | <entry>6244</entry> | ||
| 67 | </row> | ||
| 68 | |||
| 69 | <row> | ||
| 70 | <entry>Nr. of CPUs</entry> | ||
| 71 | |||
| 72 | <entry>3</entry> | ||
| 73 | </row> | ||
| 74 | |||
| 75 | <row> | ||
| 76 | <entry>Storage in GB</entry> | ||
| 77 | |||
| 78 | <entry>10</entry> | ||
| 79 | </row> | ||
| 80 | </tbody> | ||
| 81 | </tgroup> | ||
| 82 | </table> | ||
| 83 | |||
| 84 | <figure> | ||
| 85 | <title>Onboarding the 6wind VNF</title> | ||
| 86 | |||
| 87 | <mediaobject> | ||
| 88 | <imageobject> | ||
| 89 | <imagedata align="center" fileref="images/onboard_6wind.png" /> | ||
| 90 | </imageobject> | ||
| 91 | </mediaobject> | ||
| 92 | </figure> | ||
| 93 | |||
| 94 | <para>Interfaces: Create 1 interface, it will instantiate the | ||
| 95 | DPDK.</para> | ||
| 96 | |||
| 97 | <para>Cloud Init:</para> | ||
| 98 | |||
| 99 | <figure> | ||
| 100 | <title>6wind Cloud-Init</title> | ||
| 101 | |||
| 102 | <mediaobject> | ||
| 103 | <imageobject> | ||
| 104 | <imagedata align="center" fileref="images/6wind_cloudinit.png" /> | ||
| 105 | </imageobject> | ||
| 106 | </mediaobject> | ||
| 107 | </figure> | ||
| 108 | |||
| 109 | <para>Properties: There are no specific configurations needed.</para> | ||
| 110 | </section> | ||
| 111 | |||
| 112 | <section id="instant_turbo"> | ||
| 113 | <title>Instantiation</title> | ||
| 114 | |||
| 115 | <para>You can use a random text file as the Cloud-Init file if you do | ||
| 116 | not wish to set any specific details during the setup stage. | ||
| 117 | Alternatively, you can create a Cloud-Init configuration file according | ||
| 118 | to 6wind documentation, to change the root password:<programlisting>#cloud-config | ||
| 119 | chpasswd: | ||
| 120 | list: | | ||
| 121 | root:karm</programlisting>Interfaces: Set up 1 interface (the DPDK with the | ||
| 122 | preconfigured bridge).</para> | ||
| 123 | </section> | ||
| 124 | </section> | ||
| 125 | |||
| 126 | <section id="clav_cosstream"> | ||
| 127 | <title>Clavister CosStream</title> | ||
| 128 | |||
| 129 | <remark>Perhaps an introduction is needed</remark> | ||
| 130 | |||
| 131 | <section id="costream_onbr"> | ||
| 132 | <title>Onboarding</title> | ||
| 133 | |||
| 134 | <para>The required fields and their specifications, need to be filled | ||
| 135 | with the following information in order onboard the VNF:</para> | ||
| 136 | |||
| 137 | <table> | ||
| 138 | <title>Main Fields Data</title> | ||
| 139 | |||
| 140 | <tgroup cols="2"> | ||
| 141 | <colspec align="center" /> | ||
| 142 | |||
| 143 | <thead> | ||
| 144 | <row> | ||
| 145 | <entry align="center">Field</entry> | ||
| 146 | |||
| 147 | <entry align="center">Specification</entry> | ||
| 148 | </row> | ||
| 149 | </thead> | ||
| 150 | |||
| 151 | <tbody> | ||
| 152 | <row> | ||
| 153 | <entry>VM Image File</entry> | ||
| 154 | |||
| 155 | <entry>clavister-cos-stream-3.20.00.25-virtual-x64-generic.qcow2</entry> | ||
| 156 | </row> | ||
| 157 | |||
| 158 | <row> | ||
| 159 | <entry>Image Format</entry> | ||
| 160 | |||
| 161 | <entry>QCOW2</entry> | ||
| 162 | </row> | ||
| 163 | |||
| 164 | <row> | ||
| 165 | <entry>VNF Type Name</entry> | ||
| 166 | |||
| 167 | <entry>CosStream</entry> | ||
| 168 | </row> | ||
| 169 | |||
| 170 | <row> | ||
| 171 | <entry>Description</entry> | ||
| 172 | |||
| 173 | <entry>Clavister CosStream</entry> | ||
| 174 | </row> | ||
| 175 | |||
| 176 | <row> | ||
| 177 | <entry>Version</entry> | ||
| 178 | |||
| 179 | <entry>1.0</entry> | ||
| 180 | </row> | ||
| 181 | |||
| 182 | <row> | ||
| 183 | <entry>Memory in MB</entry> | ||
| 184 | |||
| 185 | <entry>1024</entry> | ||
| 186 | </row> | ||
| 187 | |||
| 188 | <row> | ||
| 189 | <entry>Nr. of CPUs</entry> | ||
| 190 | |||
| 191 | <entry>4</entry> | ||
| 192 | </row> | ||
| 193 | |||
| 194 | <row> | ||
| 195 | <entry>Storage in GB</entry> | ||
| 196 | |||
| 197 | <entry>20</entry> | ||
| 198 | </row> | ||
| 199 | </tbody> | ||
| 200 | </tgroup> | ||
| 201 | </table> | ||
| 202 | |||
| 203 | <para><figure> | ||
| 204 | <title>Onboarding the CosStream VNF - Infertaces | ||
| 205 | Configuration</title> | ||
| 206 | |||
| 207 | <mediaobject> | ||
| 208 | <imageobject> | ||
| 209 | <imagedata align="center" fileref="images/onboard_clav_coss.png" | ||
| 210 | scale="60" /> | ||
| 211 | </imageobject> | ||
| 212 | </mediaobject> | ||
| 213 | </figure><figure> | ||
| 214 | <title>Cloud-Init Configuration</title> | ||
| 215 | |||
| 216 | <mediaobject> | ||
| 217 | <imageobject> | ||
| 218 | <imagedata align="center" | ||
| 219 | fileref="images/cosstream_cloudinit.png" /> | ||
| 220 | </imageobject> | ||
| 221 | </mediaobject> | ||
| 222 | </figure>Properties: There are no specific configurations | ||
| 223 | needed.</para> | ||
| 224 | </section> | ||
| 225 | |||
| 226 | <section id="costream_inst"> | ||
| 227 | <title>Instantiation</title> | ||
| 228 | |||
| 229 | <para>Networking Support: In order to run Clavister CosStream, you must | ||
| 230 | do the following on the Clavister host:<programlisting>create if 0000:07:00.1 igb_uio | ||
| 231 | create bridge ovsbr0 0000:07:00.1</programlisting>Alternatively, use the uCPE | ||
| 232 | Manager to create the interface and bridge prior to instantiating the | ||
| 233 | VNF:</para> | ||
| 234 | |||
| 235 | <figure> | ||
| 236 | <title>Create an interface</title> | ||
| 237 | |||
| 238 | <mediaobject> | ||
| 239 | <imageobject> | ||
| 240 | <imagedata align="center" fileref="images/create_interface.png" /> | ||
| 241 | </imageobject> | ||
| 242 | </mediaobject> | ||
| 243 | </figure> | ||
| 244 | |||
| 245 | <figure> | ||
| 246 | <title>Create an OVS Bridge</title> | ||
| 247 | |||
| 248 | <mediaobject> | ||
| 249 | <imageobject> | ||
| 250 | <imagedata align="center" fileref="images/create_ovs_bridge.png" | ||
| 251 | scale="70" /> | ||
| 252 | </imageobject> | ||
| 253 | </mediaobject> | ||
| 254 | </figure> | ||
| 255 | |||
| 256 | <figure> | ||
| 257 | <title>Instantiate the VNF</title> | ||
| 258 | |||
| 259 | <mediaobject> | ||
| 260 | <imageobject> | ||
| 261 | <imagedata align="center" fileref="images/coss_vnf_inst.png" | ||
| 262 | scale="70" /> | ||
| 263 | </imageobject> | ||
| 264 | </mediaobject> | ||
| 265 | </figure> | ||
| 266 | |||
| 267 | <figure> | ||
| 268 | <title>Adding a main Network Interface</title> | ||
| 269 | |||
| 270 | <mediaobject> | ||
| 271 | <imageobject> | ||
| 272 | <imagedata align="center" fileref="images/main_net_int.png" | ||
| 273 | scale="70" /> | ||
| 274 | </imageobject> | ||
| 275 | </mediaobject> | ||
| 276 | </figure> | ||
| 277 | |||
| 278 | <figure> | ||
| 279 | <title>Adding Output</title> | ||
| 280 | |||
| 281 | <mediaobject> | ||
| 282 | <imageobject> | ||
| 283 | <imagedata align="center" fileref="images/add_output.png" | ||
| 284 | scale="70" /> | ||
| 285 | </imageobject> | ||
| 286 | </mediaobject> | ||
| 287 | </figure> | ||
| 288 | </section> | ||
| 289 | </section> | ||
| 290 | |||
| 291 | <section id="fortios"> | ||
| 292 | <title>Fortios</title> | ||
| 293 | |||
| 294 | <remark>Perhaps an introduction is needed</remark> | ||
| 295 | |||
| 296 | <section id="fortios_onbr"> | ||
| 297 | <title>Onboarding</title> | ||
| 298 | |||
| 299 | <para>To onboard this VNF three interfaces need to be created:</para> | ||
| 300 | |||
| 301 | <figure> | ||
| 302 | <title>Onboarding Fortios - Interface Creation</title> | ||
| 303 | |||
| 304 | <mediaobject> | ||
| 305 | <imageobject> | ||
| 306 | <imagedata align="center" fileref="images/onboard_fortios.png" | ||
| 307 | scale="60" /> | ||
| 308 | </imageobject> | ||
| 309 | </mediaobject> | ||
| 310 | </figure> | ||
| 311 | |||
| 312 | <para>Cloud Init: Fortios requires a license file in addition to a user | ||
| 313 | data Cloud-Init configuration file:</para> | ||
| 314 | |||
| 315 | <figure> | ||
| 316 | <title>Adding the License file</title> | ||
| 317 | |||
| 318 | <mediaobject> | ||
| 319 | <imageobject> | ||
| 320 | <imagedata align="center" fileref="images/fortios_cloudinit.png" | ||
| 321 | scale="60" /> | ||
| 322 | </imageobject> | ||
| 323 | </mediaobject> | ||
| 324 | </figure> | ||
| 325 | </section> | ||
| 326 | |||
| 327 | <section id="fortios_inst"> | ||
| 328 | <title>Instantiation</title> | ||
| 329 | |||
| 330 | <para>This VNF requires two Cloud-Init files to be specified:</para> | ||
| 331 | |||
| 332 | <itemizedlist spacing="compact"> | ||
| 333 | <listitem> | ||
| 334 | <para>Cloud-init.txt</para> | ||
| 335 | </listitem> | ||
| 336 | |||
| 337 | <listitem> | ||
| 338 | <para>License.txt</para> | ||
| 339 | </listitem> | ||
| 340 | </itemizedlist> | ||
| 341 | |||
| 342 | <para>Three ports also need to be created:</para> | ||
| 343 | |||
| 344 | <figure> | ||
| 345 | <title>Port 1</title> | ||
| 346 | |||
| 347 | <mediaobject> | ||
| 348 | <imageobject> | ||
| 349 | <imagedata align="center" fileref="images/fortios_port1.png" | ||
| 350 | scale="60" /> | ||
| 351 | </imageobject> | ||
| 352 | </mediaobject> | ||
| 353 | </figure> | ||
| 354 | |||
| 355 | <figure> | ||
| 356 | <title>Port 2</title> | ||
| 357 | |||
| 358 | <mediaobject> | ||
| 359 | <imageobject> | ||
| 360 | <imagedata align="center" fileref="images/fortios_port2.png" | ||
| 361 | scale="60" /> | ||
| 362 | </imageobject> | ||
| 363 | </mediaobject> | ||
| 364 | </figure> | ||
| 365 | |||
| 366 | <figure> | ||
| 367 | <title>Port 3</title> | ||
| 368 | |||
| 369 | <mediaobject> | ||
| 370 | <imageobject> | ||
| 371 | <imagedata align="center" fileref="images/fortios_port3.png" | ||
| 372 | scale="60" /> | ||
| 373 | </imageobject> | ||
| 374 | </mediaobject> | ||
| 375 | </figure> | ||
| 376 | </section> | ||
| 377 | </section> | ||
| 378 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_onboarding.xml b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_onboarding.xml new file mode 100644 index 0000000..5759f7b --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/doc/vnf_onboarding.xml | |||
| @@ -0,0 +1,173 @@ | |||
| 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | ||
| 2 | <chapter id="vnf_onboard"> | ||
| 3 | <title>VNF Onboarding</title> | ||
| 4 | |||
| 5 | <para>The onboarding of a VNF means adding it to the Enea uCPE Manager VNF | ||
| 6 | Catalog and preparing it for instantiation (deployment on connected uCPEs). | ||
| 7 | This is accomplished using the Enea uCPE Manager Onboarding Wizard, a | ||
| 8 | graphical user interface specifically designed to make VNF onboarding simple | ||
| 9 | and fast.</para> | ||
| 10 | |||
| 11 | <para>Typically, the VNF's Getting Started Guide contains all necessary | ||
| 12 | information needed to onboard a VNF using the Onboarding Wizard. This | ||
| 13 | present guide however, provides a number of examples of how to onboard | ||
| 14 | specific commercial VNFs.</para> | ||
| 15 | |||
| 16 | <para>The following sections detail the basic steps needed to successfully | ||
| 17 | onboard a VNF in the Enea uCPE Manager.</para> | ||
| 18 | |||
| 19 | <section id="retrieve_art"> | ||
| 20 | <title>Retrieving Artifacts</title> | ||
| 21 | |||
| 22 | <para>The user must first retrieve the necessary artifacts from the VNF | ||
| 23 | vendor:</para> | ||
| 24 | |||
| 25 | <orderedlist> | ||
| 26 | <listitem> | ||
| 27 | <para>Download the VNF from the commercial vendor.</para> | ||
| 28 | </listitem> | ||
| 29 | |||
| 30 | <listitem> | ||
| 31 | <para>Get any VNF specific license from the VNF vendor.</para> | ||
| 32 | |||
| 33 | <note> | ||
| 34 | <para>There are no standard ways of managing VNF licenses, therefore | ||
| 35 | no general guidelines can be provided. One example of license | ||
| 36 | handling that can be employed in the uCPE Manager is the adding of a | ||
| 37 | license during the Cloud-Init setup. The ConfigDrive value is | ||
| 38 | provided in the Fortios specific guidelines.</para> | ||
| 39 | </note> | ||
| 40 | </listitem> | ||
| 41 | |||
| 42 | <listitem> | ||
| 43 | <para>Get access to the VNF specific VNF Manager for day 1 and 2 | ||
| 44 | configuration (in cloud or for local deployment).</para> | ||
| 45 | </listitem> | ||
| 46 | |||
| 47 | <listitem> | ||
| 48 | <para>Procure the Getting Started Guide from the VNF vendor, | ||
| 49 | preferably for KVM deployment for VNF specific configuration | ||
| 50 | information.</para> | ||
| 51 | </listitem> | ||
| 52 | </orderedlist> | ||
| 53 | </section> | ||
| 54 | |||
| 55 | <section id="onboard_prep"> | ||
| 56 | <title>Preparation</title> | ||
| 57 | |||
| 58 | <para>Once all needed downloadables, documentation and more have been | ||
| 59 | attained, preparation for onboarding must be completed:</para> | ||
| 60 | |||
| 61 | <orderedlist> | ||
| 62 | <listitem> | ||
| 63 | <para>Determine the use-case and performance requirements of the VNF | ||
| 64 | you wish to deploy.</para> | ||
| 65 | |||
| 66 | <itemizedlist> | ||
| 67 | <listitem> | ||
| 68 | <para>This decides what resources the VNF is configured for, along | ||
| 69 | with networking and day zero configurations.</para> | ||
| 70 | |||
| 71 | <para>Generally, the Getting Started Guide for the VNF provides | ||
| 72 | guidelines for resource allocation, but since performance is | ||
| 73 | dependent on hardware capacity, the right resource allocation for | ||
| 74 | deployment is typically determined through benchmarking.</para> | ||
| 75 | </listitem> | ||
| 76 | |||
| 77 | <listitem> | ||
| 78 | <para>Determine the amount of hardware resources needed for the | ||
| 79 | VNF (RAM, CPUs and Disk size).</para> | ||
| 80 | </listitem> | ||
| 81 | |||
| 82 | <listitem> | ||
| 83 | <para>Determine how many Network Interfaces the VNF shall | ||
| 84 | use.</para> | ||
| 85 | </listitem> | ||
| 86 | </itemizedlist> | ||
| 87 | </listitem> | ||
| 88 | |||
| 89 | <listitem> | ||
| 90 | <para>Determine the day zero configuration method from the VNF Getting | ||
| 91 | Started guidelines.</para> | ||
| 92 | |||
| 93 | <note> | ||
| 94 | <para>For many VNFs, day zero configuration can be skipped in early | ||
| 95 | onboarding efforts when automation is not of importance.</para> | ||
| 96 | </note> | ||
| 97 | </listitem> | ||
| 98 | |||
| 99 | <listitem> | ||
| 100 | <para>Determine any requirements needed by the Cloud-Init file | ||
| 101 | structure and the content needed for the VNF when Cloud-Init is | ||
| 102 | used.</para> | ||
| 103 | </listitem> | ||
| 104 | </orderedlist> | ||
| 105 | </section> | ||
| 106 | |||
| 107 | <section id="onboarding"> | ||
| 108 | <title>Onboarding the VNF</title> | ||
| 109 | |||
| 110 | <orderedlist> | ||
| 111 | <listitem> | ||
| 112 | <para>Enter the Enea uCPE Manager and choose VNF->Descriptors in | ||
| 113 | the GUI.</para> | ||
| 114 | </listitem> | ||
| 115 | |||
| 116 | <listitem> | ||
| 117 | <para>Click <literal>Onboard</literal> to start the onboarding | ||
| 118 | procedure.</para> | ||
| 119 | </listitem> | ||
| 120 | |||
| 121 | <listitem> | ||
| 122 | <para>Fill in all mandatory fields in the popup menu: Name, Image, | ||
| 123 | RAM, CPUs, Disk.</para> | ||
| 124 | </listitem> | ||
| 125 | |||
| 126 | <listitem> | ||
| 127 | <para>Define the VNF's Network Interfaces and give them descriptive | ||
| 128 | names.</para> | ||
| 129 | </listitem> | ||
| 130 | |||
| 131 | <listitem> | ||
| 132 | <para>Configure the Cloud-Init settings, starting with the | ||
| 133 | Datasource:</para> | ||
| 134 | |||
| 135 | <itemizedlist spacing="compact"> | ||
| 136 | <listitem> | ||
| 137 | <para>Choose <literal>None</literal> if Cloud-Init is not | ||
| 138 | used.</para> | ||
| 139 | </listitem> | ||
| 140 | |||
| 141 | <listitem> | ||
| 142 | <para>Choose <literal>ConfigDrive</literal>, | ||
| 143 | <literal>NoCloud</literal> or <literal>ISO</literal> depending on | ||
| 144 | the VNF specific Cloud-Init implementation.</para> | ||
| 145 | </listitem> | ||
| 146 | |||
| 147 | <listitem> | ||
| 148 | <para>Choose the Cloud-Init mount method based on the VNF specific | ||
| 149 | Cloud-Init implementation.</para> | ||
| 150 | </listitem> | ||
| 151 | |||
| 152 | <listitem> | ||
| 153 | <para>Configure any VNF specific Cloud-Init files according to VNF | ||
| 154 | specific documentation.</para> | ||
| 155 | </listitem> | ||
| 156 | </itemizedlist> | ||
| 157 | </listitem> | ||
| 158 | |||
| 159 | <listitem> | ||
| 160 | <para>Additional Properties (in the Properties Tab) are typically not | ||
| 161 | needed and can be ignored.</para> | ||
| 162 | </listitem> | ||
| 163 | |||
| 164 | <listitem> | ||
| 165 | <para>Click <literal>Onboard</literal> to add the VNF to the Enea uCPE | ||
| 166 | Manager VNF Catalog.</para> | ||
| 167 | </listitem> | ||
| 168 | </orderedlist> | ||
| 169 | |||
| 170 | <para>When the onboarding is complete, the VNF will appear in the VNF | ||
| 171 | Catalog and can be used for deploying services on the uCPEs.</para> | ||
| 172 | </section> | ||
| 173 | </chapter> \ No newline at end of file | ||
diff --git a/doc/book-enea-nfv-access-vnf-onboarding-guide/swcomp.mk b/doc/book-enea-nfv-access-vnf-onboarding-guide/swcomp.mk new file mode 100755 index 0000000..2e66101 --- /dev/null +++ b/doc/book-enea-nfv-access-vnf-onboarding-guide/swcomp.mk | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | # Component build specification | ||
| 2 | |||
| 3 | # Version of THIS book | ||
| 4 | BOOK_VER ?= $(REL_VER)-dev | ||
| 5 | |||
| 6 | 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) | ||
| 7 | |||
| 8 | BOOKPACKAGES := book-enea-nfv-access-vnf-onboarding-guide | ||
| 9 | BOOKDESC_$(BOOKPACKAGES) := "Enea NFV Access $(PROD_VER) VNF Onboarding Guide" | ||
| 10 | BOOKDEFAULTCONDITION := $(DEFAULTCONDITIONS) | ||
