summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiruna Paun <Miruna.Paun@enea.com>2019-08-28 17:28:04 +0200
committerMiruna Paun <Miruna.Paun@enea.com>2019-08-28 17:31:24 +0200
commit526832994b72c18bf8affabf5cc656a341a00f93 (patch)
tree93843601b196c79957de24fc3140f9a026a0cd1e
parentad38076a91c4aa24c2f5e77fbcee2687b396978a (diff)
downloadel_releases-nfv-access-526832994b72c18bf8affabf5cc656a341a00f93.tar.gz
Updating the test spec manual.
Change-Id: I8bc4686cc7785c108aaba7633dea50cd6ae55550
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/configuration.xml19
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/overview.xml9
-rw-r--r--doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml280
3 files changed, 195 insertions, 113 deletions
diff --git a/doc/book-enea-nfv-access-system-test-specification/doc/configuration.xml b/doc/book-enea-nfv-access-system-test-specification/doc/configuration.xml
index d1415c2..1be36cb 100644
--- a/doc/book-enea-nfv-access-system-test-specification/doc/configuration.xml
+++ b/doc/book-enea-nfv-access-system-test-specification/doc/configuration.xml
@@ -5,28 +5,29 @@
5 <section id="test_objects"> 5 <section id="test_objects">
6 <title>Test Objects</title> 6 <title>Test Objects</title>
7 7
8 <para>The test objects for the Test Harness are considered to be the Enea 8 <para>The test objects for the Test Harness are the Enea NFV Access and
9 NFV Access and Enea uCPE Manager installations performed as indicated in 9 Enea uCPE Manager installations performed as indicated in chapter 3 of the
10 chapter 3 of the Enea NFV Access Automation Framework and Test Harness 10 Enea NFV Access Automation Framework and Test Harness User
11 User Guide.</para> 11 Guide.<remark>olink needed.</remark></para>
12 </section> 12 </section>
13 13
14 <section id="test_env"> 14 <section id="test_env">
15 <title>Test Environment</title> 15 <title>Test Environment</title>
16 16
17 <para>To setup the required Test Harness environment please refer to the 17 <para>To set up the required Test Harness environment please refer to the
18 "Environment" chapter from the Enea NFV Access Automation Framework and 18 "Environment" chapter from the Enea NFV Access Automation Framework and
19 Test Harness User Guide.</para> 19 Test Harness User Guide.<remark>olink needed.</remark></para>
20 </section> 20 </section>
21 21
22 <section id="precon_exe_steps"> 22 <section id="precon_exe_steps">
23 <title>Preconditions and Execution Steps</title> 23 <title>Preconditions and Execution</title>
24 24
25 <para>Please refer to the "Prerequisites" and "Installation and Initial 25 <para>Please refer to the "Prerequisites" and "Installation and Initial
26 Setup" chapters from Enea NFV Access Automation Framework and Test Harness 26 Setup" chapters from Enea NFV Access Automation Framework and Test Harness
27 User Guide.</para> 27 User Guide <remark>olinks needed.</remark> for more details.</para>
28 28
29 <para>For detailed execution steps of the sample test cases included with 29 <para>For detailed execution steps of the sample test cases included with
30 the Test Harness please see chapter 3 in this document.</para> 30 the Test Harness please see chapter 3 in this document. <remark>xref to
31 the next chapter needed.</remark></para>
31 </section> 32 </section>
32</chapter> \ No newline at end of file 33</chapter> \ No newline at end of file
diff --git a/doc/book-enea-nfv-access-system-test-specification/doc/overview.xml b/doc/book-enea-nfv-access-system-test-specification/doc/overview.xml
index f89f8bd..d23a073 100644
--- a/doc/book-enea-nfv-access-system-test-specification/doc/overview.xml
+++ b/doc/book-enea-nfv-access-system-test-specification/doc/overview.xml
@@ -2,10 +2,9 @@
2<chapter id="overview_sts"> 2<chapter id="overview_sts">
3 <title>Overview</title> 3 <title>Overview</title>
4 4
5 <para>The scope of this document is to describe the Test Harness (TH) sample 5 <para>This document describes the Test Harness (TH) sample test cases for
6 test cases for System Testing of Enea NFV Access. Furthermore, this document 6 the System Testing of Enea NFV Access, and the necessary environment setup
7 shall also describe the necessary environment setup to run these tests 7 to run these tests successfully.</para>
8 successfully.</para>
9 8
10 <section id="def_acro_sts"> 9 <section id="def_acro_sts">
11 <title>Definitions and Acronyms</title> 10 <title>Definitions and Acronyms</title>
@@ -28,7 +27,7 @@
28 <row> 27 <row>
29 <entry>Enea NFV Access</entry> 28 <entry>Enea NFV Access</entry>
30 29
31 <entry>The Enea NFV Access (with ODM) Run-time Platform and the 30 <entry>The Enea NFV Access (with ODM) Run-Time Platform and the
32 Enea uCPE Manager.</entry> 31 Enea uCPE Manager.</entry>
33 </row> 32 </row>
34 </tbody> 33 </tbody>
diff --git a/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml b/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
index ec2e592..30322ac 100644
--- a/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
+++ b/doc/book-enea-nfv-access-system-test-specification/doc/sample_test_cases.xml
@@ -13,28 +13,35 @@
13 TH.</para> 13 TH.</para>
14 14
15 <section id="onb_vnf_image"> 15 <section id="onb_vnf_image">
16 <title>VNF - Onboard_VNF_Image</title> 16 <title>VNF - Onboard_VNF_Image<remark>all titles are formated with
17 underscores can this be changed or should it be left as
18 is?</remark></title>
17 19
18 <para><emphasis role="bold">Description: </emphasis>Onboarding a VNF 20 <para><emphasis role="bold">Description: </emphasis>Onboarding a VNF
19 Image into the uCPE Manager. For details please refer to:</para> 21 Image into the uCPE Manager. For details please refer to:</para>
20 22
21 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/onboardVNFImage.yml</filename></para> 23 <itemizedlist>
24 <listitem>
25 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/onboardVNFImage.yml</filename></para>
26 </listitem>
22 27
23 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/onboardVNFRaw.py</filename></para> 28 <listitem>
29 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/onboardVNFRaw.py</filename></para>
30 </listitem>
31 </itemizedlist>
24 32
25 <para><emphasis role="bold">Preconditions:</emphasis></para> 33 <para><emphasis role="bold">Preconditions:</emphasis></para>
26 34
27 <itemizedlist> 35 <itemizedlist>
28 <listitem> 36 <listitem>
29 <para>Add the VNF Image in the <literal>vnf_image</literal> folder 37 <para>Add the VNF Image in the <literal>vnf_image</literal> folder
30 in QCOW2 format: <programlisting>&lt;AF-TH-install-dir&gt;/vnf_image/&lt;VNF-Image-name&gt;.qcow2</programlisting></para> 38 in the QCOW2 format: <programlisting>&lt;AF-TH-install-dir&gt;/vnf_image/&lt;VNF-Image-name&gt;.qcow2</programlisting></para>
31 </listitem> 39 </listitem>
32 40
33 <listitem> 41 <listitem>
34 <para>A VNF Image JSON configuration file is created: 42 <para>A VNF Image JSON configuration file is created:
35 <filename>&lt;AF-TH-install-dir&gt;/vnf_config/&lt;VNF-Descriptor-name&gt;/&lt;VNF-Descriptor-name&gt;.json</filename>.</para> 43 <programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/&lt;VNF-Descriptor-name&gt;/&lt;VNF-Descriptor-name&gt;.json</programlisting><emphasis
36 44 role="bold">Example:</emphasis><programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage/fortigateImage.json</programlisting></para>
37 <para><emphasis role="bold">Example:</emphasis><programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage/fortigateImage.json</programlisting></para>
38 </listitem> 45 </listitem>
39 </itemizedlist> 46 </itemizedlist>
40 47
@@ -46,7 +53,7 @@
46vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para> 53vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
47 54
48 <para><emphasis role="bold">Result:</emphasis> Output of the test case 55 <para><emphasis role="bold">Result:</emphasis> Output of the test case
49 run using the Test Harness: <programlisting># Onboard VNF Image task result 56 run using the Test Harness:<programlisting># Onboard VNF Image task result
50&lt;VNF-Descriptor-name&gt; successfully onboarded!</programlisting><emphasis 57&lt;VNF-Descriptor-name&gt; successfully onboarded!</programlisting><emphasis
51 role="bold">Note:</emphasis> The test will not fail if the VNF Image is 58 role="bold">Note:</emphasis> The test will not fail if the VNF Image is
52 already onboarded. The output will instead contain: <programlisting># debug &lt;VNF-Descriptor-name&gt; already onboarded!</programlisting></para> 59 already onboarded. The output will instead contain: <programlisting># debug &lt;VNF-Descriptor-name&gt; already onboarded!</programlisting></para>
@@ -59,13 +66,19 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
59 <para><emphasis role="bold">Description:</emphasis> Onboarding a VNF 66 <para><emphasis role="bold">Description:</emphasis> Onboarding a VNF
60 Bundle into the uCPE Manager. For details please refer to:</para> 67 Bundle into the uCPE Manager. For details please refer to:</para>
61 68
62 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/onboardVNFBundle.yml</filename></para> 69 <itemizedlist>
70 <listitem>
71 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/onboardVNFBundle.yml</filename></para>
72 </listitem>
63 73
64 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/onboardVNF.py</filename></para> 74 <listitem>
75 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/onboardVNF.py</filename></para>
76 </listitem>
77 </itemizedlist>
65 78
66 <para><emphasis role="bold">Precondition:</emphasis> Add the VNF Bundle 79 <para><emphasis role="bold">Precondition:</emphasis> Add the VNF Bundle
67 in the <literal>vnf_image</literal> folder in the zip format: 80 in the <literal>vnf_image</literal> folder in the zip format:
68 <filename>&lt;AF-TH-install-dir&gt;/vnf_image/&lt;VNF-Bundle-name&gt;.zip</filename>.</para> 81 <programlisting><filename>&lt;AF-TH-install-dir&gt;/vnf_image/&lt;VNF-Bundle-name&gt;.zip</filename></programlisting></para>
69 82
70 <para><emphasis role="bold">Action:</emphasis> Run the 83 <para><emphasis role="bold">Action:</emphasis> Run the
71 <filename>onboardVNFBundle.yml</filename> Ansible Playbook with the 84 <filename>onboardVNFBundle.yml</filename> Ansible Playbook with the
@@ -85,9 +98,15 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
85 <para><emphasis role="bold">Description:</emphasis> Removing a VNF 98 <para><emphasis role="bold">Description:</emphasis> Removing a VNF
86 Descriptor from the uCPE Manager. For details please refer to:</para> 99 Descriptor from the uCPE Manager. For details please refer to:</para>
87 100
88 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/offboardVNF.yml</filename></para> 101 <itemizedlist>
102 <listitem>
103 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/offboardVNF.yml</filename></para>
104 </listitem>
89 105
90 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/offboardVNF.py</filename>.</para> 106 <listitem>
107 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/offboardVNF.py</filename></para>
108 </listitem>
109 </itemizedlist>
91 110
92 <para><emphasis role="bold">Precondition:</emphasis> The VNF has been 111 <para><emphasis role="bold">Precondition:</emphasis> The VNF has been
93 previously onboarded in the uCPE Manager instance.</para> 112 previously onboarded in the uCPE Manager instance.</para>
@@ -111,13 +130,18 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
111 <para><emphasis role="bold">Description:</emphasis> Adding a uCPE device 130 <para><emphasis role="bold">Description:</emphasis> Adding a uCPE device
112 to the uCPE Manager. For details please refer to:</para> 131 to the uCPE Manager. For details please refer to:</para>
113 132
114 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/addDevice.yml</filename></para> 133 <itemizedlist>
134 <listitem>
135 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/addDevice.yml</filename></para>
136 </listitem>
115 137
116 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/addDevice.py</filename>.</para> 138 <listitem>
139 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/addDevice.py</filename></para>
140 </listitem>
141 </itemizedlist>
117 142
118 <para><emphasis role="bold">Precondition:</emphasis> A device JSON 143 <para><emphasis role="bold">Precondition:</emphasis> A device JSON
119 configuration file must be created: 144 configuration file must be created: <programlisting><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename></programlisting></para>
120 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para>
121 145
122 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/intelc3850-2.json</programlisting></para> 146 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/intelc3850-2.json</programlisting></para>
123 147
@@ -139,9 +163,15 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
139 <para><emphasis role="bold">Description:</emphasis> Removing a uCPE 163 <para><emphasis role="bold">Description:</emphasis> Removing a uCPE
140 device from the uCPE Manager. For details please refer to:</para> 164 device from the uCPE Manager. For details please refer to:</para>
141 165
142 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/removeDevice.yml</filename></para> 166 <itemizedlist>
167 <listitem>
168 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/removeDevice.yml</filename></para>
169 </listitem>
143 170
144 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/removeDevice.py</filename>.</para> 171 <listitem>
172 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/device/removeDevice.py</filename></para>
173 </listitem>
174 </itemizedlist>
145 175
146 <para><emphasis role="bold">Preconditions:</emphasis></para> 176 <para><emphasis role="bold">Preconditions:</emphasis></para>
147 177
@@ -175,9 +205,15 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
175 <para><emphasis role="bold">Description:</emphasis> Binding a physical 205 <para><emphasis role="bold">Description:</emphasis> Binding a physical
176 network interface (NIC) to a device. For details please refer to:</para> 206 network interface (NIC) to a device. For details please refer to:</para>
177 207
178 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/bindNIC.yml</filename></para> 208 <itemizedlist>
209 <listitem>
210 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/bindNIC.yml</filename></para>
211 </listitem>
179 212
180 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/bindNetworkInterface.py</filename>.</para> 213 <listitem>
214 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/bindNetworkInterface.py</filename></para>
215 </listitem>
216 </itemizedlist>
181 217
182 <para><emphasis role="bold">Preconditions:</emphasis></para> 218 <para><emphasis role="bold">Preconditions:</emphasis></para>
183 219
@@ -188,8 +224,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
188 </listitem> 224 </listitem>
189 225
190 <listitem> 226 <listitem>
191 <para>A NIC JSON configuration file must exist: 227 <para>A NIC JSON configuration file must exist: <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;NIC&gt;.json</programlisting></para>
192 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;NIC&gt;.json</filename>.</para>
193 228
194 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/wan_nic.json 229 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/wan_nic.json
195&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/lan_nic.json</programlisting></para> 230&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/lan_nic.json</programlisting></para>
@@ -202,7 +237,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
202 <literal>&lt;NIC&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/bindNIC.yml -e "device=&lt;Device-name&gt; nic=&lt;NIC&gt;"</programlisting></para> 237 <literal>&lt;NIC&gt;</literal> as extra-vars: <programlisting>ansible-playbook playbooks/bindNIC.yml -e "device=&lt;Device-name&gt; nic=&lt;NIC&gt;"</programlisting></para>
203 238
204 <para><emphasis role="bold">Result:</emphasis> Output of the test case 239 <para><emphasis role="bold">Result:</emphasis> Output of the test case
205 run using the Test Harness: <programlisting># Bind NIC task result 240 run using the Test Harness:<programlisting># Bind NIC task result
206&lt;NIC&gt; binded successfully!</programlisting> <emphasis 241&lt;NIC&gt; binded successfully!</programlisting> <emphasis
207 role="bold">Note:</emphasis> The test will not fail if the NIC is 242 role="bold">Note:</emphasis> The test will not fail if the NIC is
208 already bound, it will be unbound and bound again with the provided 243 already bound, it will be unbound and bound again with the provided
@@ -216,9 +251,15 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
216 network interface (NIC) from a device. For details please refer 251 network interface (NIC) from a device. For details please refer
217 to:</para> 252 to:</para>
218 253
219 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/unbindNIC.yml</filename></para> 254 <itemizedlist>
255 <listitem>
256 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/unbindNIC.yml</filename></para>
257 </listitem>
220 258
221 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/unbindNetworkInterface.py</filename>.</para> 259 <listitem>
260 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/unbindNetworkInterface.py</filename></para>
261 </listitem>
262 </itemizedlist>
222 263
223 <para><emphasis role="bold">Preconditions:</emphasis></para> 264 <para><emphasis role="bold">Preconditions:</emphasis></para>
224 265
@@ -228,8 +269,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
228 </listitem> 269 </listitem>
229 270
230 <listitem> 271 <listitem>
231 <para>A NIC JSON configuration file exists: 272 <para>A NIC JSON configuration file exists: <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;NIC&gt;.json</programlisting></para>
232 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;NIC&gt;.json</filename></para>
233 </listitem> 273 </listitem>
234 </itemizedlist> 274 </itemizedlist>
235 275
@@ -252,19 +292,24 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
252 <para><emphasis role="bold">Description:</emphasis> Creating an OVS 292 <para><emphasis role="bold">Description:</emphasis> Creating an OVS
253 network bridge on a uCPE device. For details please refer to:</para> 293 network bridge on a uCPE device. For details please refer to:</para>
254 294
255 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/addBridge.yml</filename></para> 295 <itemizedlist>
296 <listitem>
297 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/addBridge.yml</filename></para>
298 </listitem>
256 299
257 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/newNetworkBridge.py</filename>.</para> 300 <listitem>
301 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/newNetworkBridge.py</filename></para>
302 </listitem>
303 </itemizedlist>
258 304
259 <para><emphasis role="bold">Precondition:</emphasis><itemizedlist> 305 <para><emphasis role="bold">Preconditions:</emphasis><itemizedlist>
260 <listitem> 306 <listitem>
261 <para>A NIC is bound to a device in a uCPE Manager 307 <para>A NIC is bound to a device in a uCPE Manager
262 instance.</para> 308 instance.</para>
263 </listitem> 309 </listitem>
264 310
265 <listitem> 311 <listitem>
266 <para>A Bridge JSON configuration file is created: 312 <para>A Bridge JSON configuration file exists:<programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Bridge-name&gt;.json</programlisting></para>
267 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Bridge-name&gt;.json</filename></para>
268 313
269 <para><emphasis role="bold">Example:</emphasis><programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/wan_br.json 314 <para><emphasis role="bold">Example:</emphasis><programlisting>&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/wan_br.json
270&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/lan_br.json</programlisting></para> 315&lt;AF-TH-install-dir&gt;/lab_config/intelc3850-2/lan_br.json</programlisting></para>
@@ -280,7 +325,7 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
280 run using the Test Harness: <programlisting># Add Bridge task result 325 run using the Test Harness: <programlisting># Add Bridge task result
281&lt;Bridge-name&gt; network bridge was added!</programlisting><emphasis 326&lt;Bridge-name&gt; network bridge was added!</programlisting><emphasis
282 role="bold">Note:</emphasis> The test will not fail if there already 327 role="bold">Note:</emphasis> The test will not fail if there already
283 exists a bridge with the same name, it will be deleted and the bridge 328 exists a bridge with the same name. It will be deleted and the bridge
284 will be created again with the provided configuration.</para> 329 will be created again with the provided configuration.</para>
285 </section> 330 </section>
286 331
@@ -290,18 +335,23 @@ vnfd=&lt;VNF-Descriptor-name&gt;"</programlisting></para>
290 <para><emphasis role="bold">Description:</emphasis> Removing an OVS 335 <para><emphasis role="bold">Description:</emphasis> Removing an OVS
291 network bridge from a uCPE device. For details please refer to:</para> 336 network bridge from a uCPE device. For details please refer to:</para>
292 337
293 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/deleteBridge.yml</filename></para> 338 <itemizedlist>
339 <listitem>
340 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/deleteBridge.yml</filename></para>
341 </listitem>
294 342
295 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/delNetworkBridge.py</filename>.</para> 343 <listitem>
344 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/network/delNetworkBridge.py</filename></para>
345 </listitem>
346 </itemizedlist>
296 347
297 <para><emphasis role="bold">Preconditions:</emphasis> <itemizedlist> 348 <para><emphasis role="bold">Preconditions:</emphasis><itemizedlist>
298 <listitem> 349 <listitem>
299 <para>A Bridge is created in a uCPE Manager instance.</para> 350 <para>A Bridge exists in a uCPE Manager instance.</para>
300 </listitem> 351 </listitem>
301 352
302 <listitem> 353 <listitem>
303 <para>A Bridge JSON configuration file exists: 354 <para>A Bridge JSON configuration file exists: <programlisting>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Bridge-name&gt;.json</programlisting></para>
304 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Bridge-name&gt;.json</filename>.</para>
305 </listitem> 355 </listitem>
306 </itemizedlist><emphasis role="bold">Action:</emphasis> Run the 356 </itemizedlist><emphasis role="bold">Action:</emphasis> Run the
307 <filename>deleteBridge.yml</filename> Ansible Playbook with the 357 <filename>deleteBridge.yml</filename> Ansible Playbook with the
@@ -331,9 +381,15 @@ bridge=&lt;Bridge-name&gt;"</programlisting></para>
331 <para><emphasis role="bold">Description:</emphasis> Creating a VNF 381 <para><emphasis role="bold">Description:</emphasis> Creating a VNF
332 instance on a uCPE device. For details please refer to:</para> 382 instance on a uCPE device. For details please refer to:</para>
333 383
334 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/instantiateVNFI.yml</filename></para> 384 <itemizedlist>
385 <listitem>
386 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/instantiateVNFI.yml</filename></para>
387 </listitem>
335 388
336 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/instantiateVNFI.py</filename>.</para> 389 <listitem>
390 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/instantiateVNFI.py</filename></para>
391 </listitem>
392 </itemizedlist>
337 393
338 <para><emphasis role="bold">Preconditions:</emphasis> <itemizedlist> 394 <para><emphasis role="bold">Preconditions:</emphasis> <itemizedlist>
339 <listitem> 395 <listitem>
@@ -342,8 +398,7 @@ bridge=&lt;Bridge-name&gt;"</programlisting></para>
342 </listitem> 398 </listitem>
343 399
344 <listitem> 400 <listitem>
345 <para>A VNFI JSON configuration file is created: 401 <para>A VNFI JSON configuration file exists: <programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/&lt;VNF-Descriptor-name&gt;/&lt;VNFI-name&gt;.json</programlisting></para>
346 <filename>&lt;AF-TH-install-dir&gt;/vnf_config/&lt;VNF-Descriptor-name&gt;/&lt;VNFI-name&gt;.json</filename></para>
347 402
348 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage/fortigateFWInstance.json</programlisting></para> 403 <para><emphasis role="bold">Example:</emphasis> <programlisting>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage/fortigateFWInstance.json</programlisting></para>
349 </listitem> 404 </listitem>
@@ -359,8 +414,8 @@ vnfd=&lt;VNF-Descriptor-name&gt; vnfi=&lt;VNFI-name&gt;"</programlisting></para>
359 <para><emphasis role="bold">Result:</emphasis> Output of the test case 414 <para><emphasis role="bold">Result:</emphasis> Output of the test case
360 run using the Test Harness: <programlisting># Instantiate VNF task result 415 run using the Test Harness: <programlisting># Instantiate VNF task result
361&lt;VNFI-name&gt; was instantiated!</programlisting><emphasis 416&lt;VNFI-name&gt; was instantiated!</programlisting><emphasis
362 role="bold">Note:</emphasis> The test will not fail when the VNF 417 role="bold">Note:</emphasis> The test will not fail if the VNF instance
363 instance already exists. The output will contain: <programlisting># debug 418 already exists. The output will instead contain: <programlisting># debug
364&lt;VNFI-name&gt; already exists!</programlisting></para> 419&lt;VNFI-name&gt; already exists!</programlisting></para>
365 </section> 420 </section>
366 421
@@ -371,9 +426,15 @@ vnfd=&lt;VNF-Descriptor-name&gt; vnfi=&lt;VNFI-name&gt;"</programlisting></para>
371 of a VNF instance (Pause, Resume, Stop, Start). For details please refer 426 of a VNF instance (Pause, Resume, Stop, Start). For details please refer
372 to:</para> 427 to:</para>
373 428
374 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/controlVNFI.yml</filename></para> 429 <itemizedlist>
430 <listitem>
431 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/controlVNFI.yml</filename></para>
432 </listitem>
375 433
376 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/controlVNFI.py</filename>.</para> 434 <listitem>
435 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/controlVNFI.py</filename></para>
436 </listitem>
437 </itemizedlist>
377 438
378 <para><emphasis role="bold">Precondition:</emphasis> A VNF is 439 <para><emphasis role="bold">Precondition:</emphasis> A VNF is
379 instantiated on a uCPE device.</para> 440 instantiated on a uCPE device.</para>
@@ -390,9 +451,9 @@ vnfi=&lt;VNFI-name&gt; status=&lt;Command&gt;"</programlisting>Where Command =
390 run using the Test Harness: <programlisting># Change VNFI Status task result 451 run using the Test Harness: <programlisting># Change VNFI Status task result
391&lt;VNFI-name&gt; status was set to &lt;Command&gt;</programlisting><emphasis 452&lt;VNFI-name&gt; status was set to &lt;Command&gt;</programlisting><emphasis
392 role="bold">Note:</emphasis> The test will not fail if the VNF instance 453 role="bold">Note:</emphasis> The test will not fail if the VNF instance
393 does not exist or when the specified command is not valid. Depending on 454 does not exist or if the specified command is not valid. Depending on
394 the case, the output will contain: <programlisting># debug 455 the case, the output will contain: <programlisting># debug
395&lt;VNFI-name&gt; was not found!</programlisting><programlisting># debug 456&lt;VNFI-name&gt; was not found!</programlisting>or<programlisting># debug
396Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting></para> 457Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting></para>
397 </section> 458 </section>
398 459
@@ -402,9 +463,15 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
402 <para><emphasis role="bold">Description:</emphasis> Destroying a VNF 463 <para><emphasis role="bold">Description:</emphasis> Destroying a VNF
403 instance from a uCPE device. For details please refer to:</para> 464 instance from a uCPE device. For details please refer to:</para>
404 465
405 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/destroyVNFI.yml</filename></para> 466 <itemizedlist>
467 <listitem>
468 <para><filename>&lt;AF-TH-install-dir&gt;/playbooks/destroyVNFI.yml</filename></para>
469 </listitem>
406 470
407 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/destroyVNFI.py</filename>.</para> 471 <listitem>
472 <para><filename>&lt;AF-TH-install-dir&gt;/automation_framework/vnf/destroyVNFI.py</filename></para>
473 </listitem>
474 </itemizedlist>
408 475
409 <para><emphasis role="bold">Precondition:</emphasis> A VNF is 476 <para><emphasis role="bold">Precondition:</emphasis> A VNF is
410 instantiated on a uCPE device.</para> 477 instantiated on a uCPE device.</para>
@@ -416,8 +483,8 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
416 role="bold">Result:</emphasis> Output of the test case run using the 483 role="bold">Result:</emphasis> Output of the test case run using the
417 Test Harness:<programlisting># Destroy VNFI task result 484 Test Harness:<programlisting># Destroy VNFI task result
418&lt;VNFI-name&gt; was destroyed!</programlisting><emphasis 485&lt;VNFI-name&gt; was destroyed!</programlisting><emphasis
419 role="bold">Note:</emphasis> The test will not fail when the VNF 486 role="bold">Note:</emphasis> The test will not fail if the VNF instance
420 instance does not exist. The output will contain: <programlisting># debug 487 does not exist. The output will instead contain: <programlisting># debug
421&lt;VNFI-name&gt; was not found!</programlisting></para> 488&lt;VNFI-name&gt; was not found!</programlisting></para>
422 </section> 489 </section>
423 </section> 490 </section>
@@ -431,9 +498,9 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
431 Automation Framework (AF) and the Test Harness (TH).</para> 498 Automation Framework (AF) and the Test Harness (TH).</para>
432 499
433 <section id="fortigate_firewall"> 500 <section id="fortigate_firewall">
434 <title>Fortigate_VNF_as_a_Firewall</title> 501 <title>Fortigate VNF as a Firewall</title>
435 502
436 <para>This test case was implemented in 2 different ways to exemplify 503 <para>This test case was implemented in two different ways to exemplify
437 both methods supported by the AF and TH to deploy such services.</para> 504 both methods supported by the AF and TH to deploy such services.</para>
438 505
439 <para>Prerequisites needed in order to deploy the FortiGate VNF as a 506 <para>Prerequisites needed in order to deploy the FortiGate VNF as a
@@ -445,19 +512,19 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
445 </listitem> 512 </listitem>
446 513
447 <listitem> 514 <listitem>
448 <para>Add a device.</para> 515 <para>Add a uCPE device.</para>
449 </listitem> 516 </listitem>
450 517
451 <listitem> 518 <listitem>
452 <para>Bind 2 physical interfaces, <literal>wan_nic</literal> (this 519 <para>Bind 2 physical interfaces: <literal>wan_nic</literal> (this
453 physical interface has to be connected to Lab Network) and 520 physical interface has to be connected to the Lab Network) and
454 <literal>lan_nic</literal>.</para> 521 <literal>lan_nic</literal>.</para>
455 </listitem> 522 </listitem>
456 523
457 <listitem> 524 <listitem>
458 <para>Create 2 bridges, <literal>wan_br</literal> (using 525 <para>Create 2 bridges: <literal>wan_br</literal> (using the
459 <literal>wan_nic</literal> interface) and <literal>lan_br</literal> 526 <literal>wan_nic</literal> interface) and <literal>lan_br</literal>
460 (using <literal>lan_nic</literal> interface).</para> 527 (using the <literal>lan_nic</literal> interface).</para>
461 </listitem> 528 </listitem>
462 529
463 <listitem> 530 <listitem>
@@ -466,8 +533,9 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
466 </listitem> 533 </listitem>
467 </orderedlist> 534 </orderedlist>
468 535
469 <para>For more information please refer to "FortiGate VNF as a Firewall" 536 <para>For more information please refer to the "FortiGate VNF as a
470 chapter from the "Enea NFV Access Example Use-cases" manual. <note> 537 Firewall" chapter from the "Enea NFV Access Example Use-cases" manual.
538 <remark>olink needed here</remark><note>
471 <para>The license and configuration files for the FortiGate VNF are 539 <para>The license and configuration files for the FortiGate VNF are
472 not included in the TH and should be obtained from Enea.</para> 540 not included in the TH and should be obtained from Enea.</para>
473 </note></para> 541 </note></para>
@@ -476,7 +544,7 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
476 <title>FortigateFWInstance Test</title> 544 <title>FortigateFWInstance Test</title>
477 545
478 <para><emphasis role="bold">Description:</emphasis> Instantiate the 546 <para><emphasis role="bold">Description:</emphasis> Instantiate the
479 FortiGate VNF as a Firewall and test it using isolated network 547 FortiGate VNF as a Firewall and test it using an isolated network
480 namespace.</para> 548 namespace.</para>
481 549
482 <para>This example was implemented with the "Test Harness" method, 550 <para>This example was implemented with the "Test Harness" method,
@@ -510,7 +578,7 @@ Invalid VNF Instance control command specified - &lt;Command&gt;</programlisting
510 </listitem> 578 </listitem>
511 579
512 <listitem> 580 <listitem>
513 <para>Device JSON configuration file is created: 581 <para>The device JSON configuration file is created:
514 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para> 582 <filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para>
515 </listitem> 583 </listitem>
516 584
@@ -526,42 +594,55 @@ ansible_user=root ansible_pass=root</programlisting></para>
526 <listitem> 594 <listitem>
527 <para>NIC JSON configuration files are created:</para> 595 <para>NIC JSON configuration files are created:</para>
528 596
529 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_nic.json</filename></para> 597 <itemizedlist>
598 <listitem>
599 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_nic.json</filename></para>
600 </listitem>
530 601
531 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/lan_nic.json</filename></para> 602 <listitem>
603 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/lan_nic.json</filename></para>
604 </listitem>
605 </itemizedlist>
532 </listitem> 606 </listitem>
533 607
534 <listitem> 608 <listitem>
535 <para>Bridge JSON configuration files are created:</para> 609 <para>Bridge JSON configuration files are created:</para>
536 610
537 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_br.json</filename></para> 611 <itemizedlist>
612 <listitem>
613 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_br.json</filename></para>
614 </listitem>
538 615
539 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/lan_br.json</filename></para> 616 <listitem>
617 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/lan_br.json</filename></para>
618 </listitem>
619 </itemizedlist>
540 </listitem> 620 </listitem>
541 621
542 <listitem> 622 <listitem>
543 <para>Download the FortiGate VNF Firewall basic configuration from 623 <para>Download the FortiGate VNF Firewall basic configuration file
544 Enea, copy it into the 624 from Enea, copy it into the
545 <filename>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage</filename> 625 <filename>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage</filename>
546 directory and rename it to<filename> 626 directory and rename it to
547 fortigateFW.conf</filename>.</para> 627 <filename>fortigateFW.conf</filename>.</para>
548 </listitem> 628 </listitem>
549 629
550 <listitem> 630 <listitem>
551 <para>Retrieve the FortiGate VNF license from Fortinet or Enea, 631 <para>Retrieve the FortiGate VNF license file from Fortinet or
552 copy it into the 632 Enea, copy it into the
553 <literal>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage</literal> 633 <literal>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateImage</literal>
554 directory and rename it to 634 directory and rename it to
555 <filename>fortigateLicense.lic</filename>.</para> 635 <filename>fortigateLicense.lic</filename>.</para>
556 636
557 <para>Please refer to "FortiGate VNF as a Firewall" chapter from 637 <para>Please refer to the "FortiGate VNF as a Firewall" chapter
558 the Enea NFV Access Example Use-cases manual.</para> 638 from the Enea NFV Access Example Use-cases
639 manual.<remark>olink</remark></para>
559 </listitem> 640 </listitem>
560 </itemizedlist> 641 </itemizedlist>
561 642
562 <para><emphasis role="bold">Action:</emphasis> Run the <emphasis 643 <para><emphasis role="bold">Action:</emphasis> Run the
563 role="bold">instantiateFortigateFW.yml</emphasis> Ansible Playbook 644 <filename>instantiateFortigateFW.yml</filename> Ansible Playbook with
564 with the <literal>&lt;Device-name&gt;</literal> as 645 the <literal>&lt;Device-name&gt;</literal> as
565 extra-vars:<programlisting>ansible-playbook playbooks/fortigateFWService/instantiateFortigateFW.yml \ 646 extra-vars:<programlisting>ansible-playbook playbooks/fortigateFWService/instantiateFortigateFW.yml \
566-e "device=&lt;Device-name&gt;"</programlisting></para> 647-e "device=&lt;Device-name&gt;"</programlisting></para>
567 648
@@ -570,7 +651,7 @@ ansible_user=root ansible_pass=root</programlisting></para>
570FortigateFWInstance tested successfully!</programlisting></para> 651FortigateFWInstance tested successfully!</programlisting></para>
571 652
572 <para><emphasis role="bold">Cleanup:</emphasis> Run the 653 <para><emphasis role="bold">Cleanup:</emphasis> Run the
573 <literal>cleanupFortigateFWInstance.yml</literal> Ansible Playbook 654 <filename>cleanupFortigateFWInstance.yml</filename> Ansible Playbook
574 with the <literal>&lt;Device-name&gt;</literal> as extra-vars: 655 with the <literal>&lt;Device-name&gt;</literal> as extra-vars:
575 <programlisting>ansible-playbook playbooks/fortigateFWService/cleanupFortigateFWInstance.yml \ 656 <programlisting>ansible-playbook playbooks/fortigateFWService/cleanupFortigateFWInstance.yml \
576-e "device=&lt;Device-name&gt;"</programlisting></para> 657-e "device=&lt;Device-name&gt;"</programlisting></para>
@@ -611,14 +692,13 @@ FortigateFWInstance tested successfully!</programlisting></para>
611 </listitem> 692 </listitem>
612 693
613 <listitem> 694 <listitem>
614 <para>Device JSON configuration file is created: 695 <para>The device JSON configuration file is created: </para>
615 <filename></filename></para>
616 696
617 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para> 697 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para>
618 </listitem> 698 </listitem>
619 699
620 <listitem> 700 <listitem>
621 <para>NIC JSON configuration files are created:</para> 701 <para>The NIC JSON configuration files are created:</para>
622 702
623 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_nic.json</filename></para> 703 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_nic.json</filename></para>
624 704
@@ -626,7 +706,7 @@ FortigateFWInstance tested successfully!</programlisting></para>
626 </listitem> 706 </listitem>
627 707
628 <listitem> 708 <listitem>
629 <para>Bridge JSON configuration files are created:</para> 709 <para>The Bridge JSON configuration files are created:</para>
630 710
631 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_br.json</filename></para> 711 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/wan_br.json</filename></para>
632 712
@@ -653,7 +733,8 @@ FortigateFWInstance tested successfully!</programlisting></para>
653 <itemizedlist> 733 <itemizedlist>
654 <listitem> 734 <listitem>
655 <para>The "FortiGate VNF as a Firewall" chapter from the Enea 735 <para>The "FortiGate VNF as a Firewall" chapter from the Enea
656 NFV Access Example Use-cases manual.</para> 736 NFV Access Example Use-cases manual.<remark>olink
737 needed</remark></para>
657 </listitem> 738 </listitem>
658 739
659 <listitem> 740 <listitem>
@@ -722,18 +803,18 @@ FortigateFW Scenario deployed successfully!</programlisting></para>
722 </listitem> 803 </listitem>
723 804
724 <listitem> 805 <listitem>
725 <para>Devices JSON configuration files are created, e.g.:</para> 806 <para>The device JSON configuration file(s) is created, e.g.:</para>
726 807
727 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para> 808 <para><filename>&lt;AF-TH-install-dir&gt;/lab_config/&lt;Device-name&gt;/&lt;Device-name&gt;.json</filename>.</para>
728 </listitem> 809 </listitem>
729 810
730 <listitem> 811 <listitem>
731 <para>Add device settings in the <literal>hosts</literal> Ansible 812 <para>Add device settings in the <literal>hosts</literal> Ansible
732 inventory file under <literal>[chainedVNFs]</literal>, keeping both 813 inventory file under <literal>[chainedVNFs]</literal>. Keep both
733 devices, the "site1" and "site2" entries, and updating the values 814 devices, the "site1" and "site2" entries, and update the values for
734 for <literal>ansible_host</literal>, 815 <literal>ansible_host</literal>, <literal>ansible_port</literal>,
735 <literal>ansible_port</literal>, <literal>ansible_user</literal> and 816 <literal>ansible_user</literal> and <literal>ansible_pass</literal>,
736 <literal>ansible_pass</literal>, as applicable.</para> 817 as applicable.</para>
737 818
738 <para><emphasis role="bold">Example:</emphasis></para> 819 <para><emphasis role="bold">Example:</emphasis></para>
739 820
@@ -803,8 +884,8 @@ ansible_pass=root</programlisting></para>
803 </listitem> 884 </listitem>
804 885
805 <listitem> 886 <listitem>
806 <para>Retrieve the FortiGate VNF license from Fortinet or Enea, copy 887 <para>Retrieve the FortiGate VNF license file from Fortinet or Enea,
807 it into the 888 copy it into the
808 <literal>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateFWImage</literal> 889 <literal>&lt;AF-TH-install-dir&gt;/vnf_config/fortigateFWImage</literal>
809 directory and rename it to 890 directory and rename it to
810 <filename>fortigateLicense.lic</filename>.</para> 891 <filename>fortigateLicense.lic</filename>.</para>
@@ -819,19 +900,20 @@ ansible_pass=root</programlisting></para>
819 </listitem> 900 </listitem>
820 901
821 <listitem> 902 <listitem>
822 <para>Retrieve <filename>vSRX-domain-update-script</filename> from 903 <para>Retrieve the <filename>vSRX-domain-update-script</filename>
823 Enea and copy it into the <literal>junipervSRXImage</literal> 904 from Enea and copy it into the <literal>junipervSRXImage</literal>
824 directory.</para> 905 directory.</para>
825 906
826 <para>Please refer to the "VNF Chaining Example Use-case" chapter 907 <para>Please refer to the "VNF Chaining Example Use-case" chapter
827 from the Enea NFV Access Example Use-cases manual for additional 908 from the Enea NFV Access Example Use-cases manual for additional
828 information about the preconditions.</para> 909 information about preconditions.<remark>olink to this
910 chapter</remark></para>
829 </listitem> 911 </listitem>
830 </itemizedlist> 912 </itemizedlist>
831 913
832 <para><emphasis role="bold">Action:</emphasis> Run the 914 <para><emphasis role="bold">Action:</emphasis> Run the
833 <filename>chainedVNFsService.yml</filename> Ansible Playbook as follows: 915 <filename>chainedVNFsService.yml</filename> Ansible Playbook as
834 <programlisting>ansible-playbook playbooks/chainedVNFsService/chainedVNFsService.yml \ 916 follows:<programlisting>ansible-playbook playbooks/chainedVNFsService/chainedVNFsService.yml \
835-e "site1=inteld1521-1 site2=inteld1521-2 arch=XeonD"</programlisting></para> 917-e "site1=inteld1521-1 site2=inteld1521-2 arch=XeonD"</programlisting></para>
836 918
837 <para>Note that "arch" may either be { XeonD | AtomC } depending on the 919 <para>Note that "arch" may either be { XeonD | AtomC } depending on the