1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
|
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="installation_guide">
<title>Setting up and Installing the Enea Edge Base Configuration</title>
<para>The setup and installation steps detailed below will deploy a base
configuration which will be used as a reference for more complex deployment
scenarios.</para>
<section id="hw_reqs">
<title>Hardware Requirements</title>
<para>The following hardware is needed for deploying the base
configuration:</para>
<itemizedlist>
<listitem>
<para>One server running the CentOS 7 distribution</para>
<note>
<para>The CentOS 7 server must be updated to the latest revision
before installing Enea Edge, and configured for English language
usage.</para>
</note>
<para>The following will detail CPU, RAM and storage requirements for
the Enea Edge Management application:</para>
<itemizedlist>
<listitem>
<para>For small-sized deployments (tens of devices):</para>
<itemizedlist spacing="compact">
<listitem>
<para>4 cores</para>
</listitem>
<listitem>
<para>16 GB RAM</para>
</listitem>
<listitem>
<para>300 GB single disk storage</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>For mid-sized deployments (hundreds of devices):</para>
<itemizedlist spacing="compact">
<listitem>
<para>8 cores</para>
</listitem>
<listitem>
<para>32 GB RAM</para>
</listitem>
<listitem>
<para>300 GB single disk storage</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>For large deployments (thousands of devices):</para>
<itemizedlist spacing="compact">
<listitem>
<para>16 cores</para>
</listitem>
<listitem>
<para>64-256 GB RAM</para>
</listitem>
<listitem>
<para>1-2 TB single disk storage</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
<para>The purpose of the CentOS 7 server is to host the Enea Edge
Management application. Network access between the CentOS 7 server and
the uCPE devices is required. The Enea Edge Management application and
the uCPE devices will be connected on separate subnets to avoid
inconsistencies.</para>
</listitem>
<listitem>
<para>One or more uCPE devices.</para>
<para>Whitebox devices where the Enea Edge Runtime will be installed,
containing a minimum of 2 cores and 4 GB RAM and at least two ethernet
ports that will be configured as WAN and LAN during deployment.</para>
<para>When hosting an entire solution including one or several network
services, the hardware must also have the resources to host one or
more VNFs. During a typical evaluation, a dual VNF service on the Enea
Edge Runtime needs a CPU with 4-8 cores and at least 8 GB RAM. The
supported Intel CPUs of Enea Edge are documented in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-common.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_release_info/1)" /> Manual.</para>
<para>Enea Edge Runtime needs EFI support in BIOS to boot. When
configuring the uCPE device BIOS a serial connection is
required.</para>
</listitem>
<listitem>
<para>A laptop.</para>
<para>The laptop is used for 2 scenarios:</para>
<itemizedlist>
<listitem>
<para>Installing the Enea Edge Runtime on uCPE Devices.</para>
</listitem>
<listitem>
<para>Connecting to the GUI of the Enea Edge Management
application for management and configuration.</para>
<note>
<para>Network access between the CentOS 7 server and the laptop
is required. The recommended browser for the current release is
Google Chrome.</para>
</note>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>A 16 GB USB stick used for the uCPE Device Installation.</para>
</listitem>
</itemizedlist>
</section>
<section id="sw_config">
<title>Software Configuration</title>
<para>The CentOS 7 server requires a specific configuration for the setup
to work.</para>
<section id="firewall_config">
<title>Firewall Configuration</title>
<para>Any firewall running on the CentOS 7 server may block the
management protocols required to communicate between the uCPE device and
the Enea Edge Management application as well as between the Enea Edge
Management application and its northbound clients. Quick handling of a
blocking firewall would be to disable it, typical for a lab environment,
through:</para>
<programlisting>sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo systemctl mask now firewalld</programlisting>
<para>For an advanced firewall configuration, the following ports need
to be opened:</para>
<table>
<title>Ports to be Activated</title>
<tgroup cols="3">
<colspec align="left" />
<tbody>
<row>
<entry>80</entry>
<entry>TCP</entry>
<entry>Required for GUI Access.</entry>
</row>
<row>
<entry>443</entry>
<entry>TCP</entry>
<entry>Required for GUI Access and Device Connectivity.</entry>
</row>
<row>
<entry>54327</entry>
<entry>UDP</entry>
<entry>Required for the Enea Edge Management application High
Availability Configuration.</entry>
</row>
<row>
<entry>5701:5708</entry>
<entry>TCP</entry>
<entry>Required for the Enea Edge Management application High
Availability Configuration.</entry>
</row>
<row>
<entry>4334</entry>
<entry>TCP</entry>
<entry>Required for Call Home.</entry>
</row>
<row>
<entry>2021:2040</entry>
<entry>TCP</entry>
<entry>Required for Call Home when connecting uCPE Devices using
Enea NFV Access 2.3.0 or older.</entry>
</row>
</tbody>
</tgroup>
</table>
<para>Use the following command sequence to enable the required ports
for deployment of the Enea Edge Management application:</para>
<programlisting>sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=54327/udp
sudo firewall-cmd --permanent --add-port=5701-5708/tcp
sudo firewall-cmd --permanent --add-port=4334/tcp
sudo firewall-cmd --permanent --add-port=2021-2040/tcp
sudo firewall-cmd --reload</programlisting>
<note>
<para>If the Enea Edge Management host resides behind a corporate
port-filtering firewall, then all the aforementioned ports need to
also be enabled on the respective firewall. As an additional
requirement, port 22/TCP also needs to be enabled for reverse SSH to
the Enea Edge Management application.</para>
<para>No enabling and no forwarding rules are necessary for ports
2021-2040 if Enea Edge 2.4.0 or newer is used.</para>
</note>
</section>
<section id="openjdk_postgresql_config">
<title>Configuring OpenJDK and PostgreSQL</title>
<para>The Enea Edge Management application requires a specific Java
version (OpenJDK 11) and a PostgreSQL version to operate
correctly.</para>
<para><emphasis role="bold">Installing OpenJDK</emphasis></para>
<orderedlist spacing="compact">
<listitem>
<para>Install OpenJDK 11 using the root account:</para>
<programlisting>yum install java-11-openjdk-devel</programlisting>
</listitem>
<listitem>
<para>Verify the installation:</para>
<programlisting>java -version
openjdk version "11.0.3" 2019-04-16 LTS
OpenJDK Run Time Environment 18.9 (build 11.0.3+7-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.3+7-LTS, mixed mode, sharing)</programlisting>
<note>
<para>If there are multiple java versions installed, switch
between them using the following command:</para>
<programlisting>alternatives --config java</programlisting>
<para>Optionally, the user can switch between the
<literal>javac</literal> versions using:</para>
<programlisting>alternatives --config javac</programlisting>
</note>
</listitem>
<listitem>
<para>The following system variables need to point to the OpenJDK 11
installation:</para>
<programlisting>export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which java)))))
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar</programlisting>
<note>
<para>In order to make these system variables persistent, the
commands given above should be added to a script in the
<literal>/etc/profile.d/</literal> folder. <emphasis
role="bold">Sudo</emphasis> access is needed for this
operation.</para>
</note>
</listitem>
</orderedlist>
<para>The Enea Edge Management application requires a specific
PostgreSQL version. This is embedded in the Enea Edge Management
installation. In order to avoid conflicts, any existing PostgreSQL
installation needs to be uninstalled.</para>
<para><emphasis role="bold">Uninstalling PostgreSQL</emphasis></para>
<orderedlist>
<listitem>
<para>Open a terminal with administrative rights, i.e. log into a
bash shell with root privileges.</para>
</listitem>
<listitem>
<para>Execute the following command to check if you have a currently
running PostgreSQL database server:</para>
<programlisting>ps -ef | grep post</programlisting>
</listitem>
<listitem>
<para>Remove the installed PostgreSQL server (including the existing
postgres user):</para>
<note>
<para>This step is not necessary if the Enea Edge Management
application will be using an external database (like
MariaDB).</para>
</note>
<programlisting>yum remove postgres\*
rm -rf /var/lib/pgsql
rm -f /etc/postgres-reg.ini
userdel postgres</programlisting>
</listitem>
</orderedlist>
<para>If you have multiple spindles, it is recommended to let the
application run off one and the database off the other. This will result
in optimum performance. It is also recommended that the swap disk be the
same as the one used for the application.</para>
<para>Assuming another spindle is used (<literal>/drive2</literal>) do
the following:</para>
<orderedlist>
<listitem>
<para>Create a folder which will host the database (e.g.
<literal>emsDatabase</literal>).</para>
</listitem>
<listitem>
<para>Create a soft-link that will point to this folder:</para>
<programlisting>ln -s /opt/ems/elementcenter/database /drive2/emsDatabase</programlisting>
</listitem>
<listitem>
<para>Follow the installation steps for the Enea Edge Management
application available in <olink
targetdoc="book_enea_edge_getting_started"
targetptr="install_ucpe_mg">Installing the Enea Edge Management
application in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
</listitem>
</orderedlist>
</section>
</section>
<section id="ucpe_config">
<title>uCPE Device Configuration</title>
<section id="wan_lan_ports">
<title>Determining the WAN and LAN ports</title>
<para>A typical whitebox comes with multiple physical network ports,
ready to be used. The user must determine the purpose and allocation of
each port. The allocation is later aligned with the software
configuration within the Web-installer.</para>
<para>A common way is to allocate the left ports to WANs and the right
ports to LANs. At least one port must be allocated to WAN and one to
LAN.</para>
</section>
<section id="ucpe_identifier">
<title>Determining the Device ID</title>
<para>Each uCPE device needs a unique identifier. This identifier is
used to match the registration in the Enea Edge Management application
and the offline configuration of the uCPE device during ZTP (Zero Touch
Provisioning).</para>
<para>Select a text string to represent the uCPE device, e.g.
<literal>uCPE-1</literal> or <literal>fwa-t1012vc_boston_1234</literal>.
It can have any length and any type of characters with the exception of
quotation characters (' or ") or line terminators (\n or \r).</para>
</section>
<section id="bios_config">
<title>Configuring the BIOS</title>
<para>The factory configuration of the BIOS may not match the
requirements of Enea Edge Runtime. The BIOS configuration needs to be
reviewed and potentially reconfigured to prepare for a successful
installation.</para>
<para>Access the BIOS using a serial cable between the uCPE device and
the laptop, to review and configure the BIOS correctly. The whitebox
vendor is expected to provide the right serial cable for the box. A
terminal emulator (such as putty) is needed on the laptop.</para>
<para>Enable the following BIOS features/configurations:</para>
<itemizedlist>
<listitem>
<para>EFI</para>
</listitem>
<listitem>
<para>Intel Virtualization Technology (VT-x)</para>
</listitem>
<listitem>
<para>Intel Virtualization Technology for Directed I/O (VT-d)</para>
</listitem>
<listitem>
<para>SR-IOV</para>
</listitem>
</itemizedlist>
<para>The boot order may also need to be modified to support
installation and execution of the Enea Edge Runtime on the uCPE
device.</para>
<para>The following boot order is recommended for a base
configuration:</para>
<orderedlist>
<listitem>
<para>Boot from USB</para>
</listitem>
<listitem>
<para>Boot from Disk</para>
</listitem>
</orderedlist>
<para>By arranging the above boot order there is no need for a further
configuration of the BIOS during installation and deployment.</para>
</section>
</section>
<section id="prep_deploy">
<title>Preparing the Deployment</title>
<section id="install_ucpe_mg">
<title>Installing the Enea Edge Management application</title>
<para>The Enea Edge Management application can be installed using a
fresh (first-time) configuration or using a backup file of a previous
installation, created within the Enea Edge Management GUI.</para>
<section id="fresh_ucpemg_install">
<title>Fresh Installation of the Enea Edge Management
application</title>
<para>On the CentOS 7 server open a terminal, log into a bash shell
with the root account and perform the following:</para>
<orderedlist>
<listitem>
<para>Extract
<literal>Enea_Edge_Management_<version>-build<build_number>.tar.gz</literal></para>
<para>The directory in which the archive has been unpacked will be
denoted as: <literal><EEMg-installerdir></literal>.</para>
</listitem>
<listitem>
<para>Enter
<literal><EEMg-installerdir>/dist</literal>.</para>
</listitem>
<listitem>
<para>Choose the target installation folder, e.g.
<literal>/opt/ems</literal>. Everything will be installed under a
folder called <literal>/ucpemanager</literal> within the target
installation folder.</para>
<para>The application files will be installed in
<literal>/opt/ems/ucpemanager/application</literal>. The
database will be installed in
<literal>/opt/ems/ucpemanager/database</literal>.</para>
</listitem>
<listitem>
<para>Run the following interactive command:</para>
<programlisting>./install.sh /opt/ems \
Enea_Edge_Management_<version>-build<build_number>.tar.gz</programlisting>
<para>The default configuration values are specified in brackets.
If no other value is preferred and typed in, pressing
<literal>ENTER</literal> will keep the default values. When there
is an option within parentheses (i.e.Y/N), a value must be
specified.</para>
<note>
<para>The same configuration values set now will need to be
provided when upgrading or uninstalling the Enea Edge Management
application.</para>
</note>
<itemizedlist>
<listitem>
<para>Database Configurations:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Are you using the embedded PostgreSQL database?
[Y/N]: <literal>Y</literal>.</para>
</listitem>
<listitem>
<para>Specify the database process password
<literal>[postgres]</literal>:</para>
</listitem>
<listitem>
<para>Specify the database ID (or name)
<literal>[ucpemanager]</literal>:</para>
</listitem>
<listitem>
<para>Specify the database server port
<literal>[5432]</literal>:</para>
</listitem>
<listitem>
<para>Specify a database user name
<literal>[postgres]</literal>:</para>
</listitem>
<listitem>
<para>Specify a database password
<literal>[postgres]</literal>:</para>
</listitem>
<listitem>
<para>Specify the database startup thread pool size
<literal>[1]</literal>:</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Service Configurations:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Specify a service username
<literal>[EneaEdgeManagement]</literal>:</para>
</listitem>
<listitem>
<para>Specify a service password
<literal>[EneaEdgeManagement]</literal>:</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>High Availability Configurations:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Specify the IP address of the local interface: The
CentOS 7 Server loopback address:
<literal>127.0.0.1</literal>.</para>
</listitem>
<listitem>
<para>Is this server part of a cluster? [Y/N]:
<literal>N</literal>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Create the self-signed certificate: <literal>Specify IP
or domain name</literal> (or press <literal>Enter</literal> to
skip):</para>
<para>The Tomcat self-signed certificate can be generated
again by running the
<filename>createCertificate.sh</filename>. For more details,
please see <olink targetdoc="book_enea_edge_getting_started"
targetptr="create_certificate">Tomcat Certificate Generation
in the <ns:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:ns="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
<note>
<para>The generation of the Tomcat self-signed certificate
should be skipped only if another certificate will be
provided.</para>
</note>
</listitem>
<listitem>
<para>Heap Configuration: <literal>Please enter the new
Maximum Heap Size [4g]</literal>:</para>
</listitem>
</itemizedlist>
<para>This command will:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Extract the application files from the compressed
installation kit.</para>
</listitem>
<listitem>
<para>Install the bundled database.</para>
</listitem>
<listitem>
<para>Install the Enea Edge Management application as a
service with the name
<literal>ucpemanager</literal>.</para>
</listitem>
<listitem>
<para>Start the <literal>ucpemanager</literal>
service.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Using the IPv4 address of the CentOS 7 Server in a web
browser, running on the laptop, log into the Enea Edge Management
GUI using the default username and password:
<literal>admin/admin</literal>.</para>
</listitem>
</orderedlist>
<note>
<para>The IPv4 address of the CentOS 7 Server will be used as a
configuration parameter when setting up the uCPE devices.</para>
<para>If the CentOS 7 Server is installed behind NAT, the IPv4
address used will be the public IP of the NAT device and port
forwarding rules must be created to ensure the uCPE device can
access the Enea Edge Management application. For more details,
please see <link linkend="firewall_config">Firewall
Configuration</link>.</para>
</note>
</section>
<section id="install_ucpemg_from_backup">
<title>Installation of the Enea Edge Management application using a
System Back-up</title>
<para>The Enea Edge Management application can be restored if a backup
file has been previously created.</para>
<para>A backup file can be created by accessing the <emphasis
role="bold">System</emphasis> menu, and clicking <emphasis
role="bold">System Backup</emphasis>, from the Enea Edge Management
GUI. The resulting zip archive will be located in the
<filename>/opt/ems/ucpemanager/application/backup</filename>
folder and will be named
<literal>SystemBackup_MMMDD_YYYY_HHMM_SS.zip</literal> (e.g
System-Backup_Feb19_2013_2257_42.zip). Save the archive to another
location outside the Enea Edge Management installation folder for
future use.</para>
<note>
<para>The System Back-up file obtained from the Enea Edge Management
GUI (<filename>SystemBackup_MMMDD_YYYY_HHMM_SS.zip</filename>) is
different from the snapshot obtained during an Enea Edge Management
Upgrade or Uninstall operation
(<filename>EneaEdgeManagement-Backup-YYYYddMMHHmm.tar.gz</filename>) needed
for recovery of the Enea Edge Management application. For more
details, see <olink targetdoc="book_enea_edge_getting_started"
targetptr="restore_prev_ucpe_install">Restoring a previous Enea Edge
Management installation in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
</note>
<para>To install the Enea Edge Management application with the restore
option provide an additional argument as shown below during
installation:</para>
<programlisting>./install.sh \
/opt/ems Enea_Edge_Management_<version>-build<build_number>.tar.gz \
SystemBackup_MMMDD_YYYY_HHMM_SS.zip</programlisting>
</section>
</section>
<section id="prep_usb_ena">
<title>Preparing the USB stick for installation of the Enea Edge
Runtime</title>
<para>To install the Enea Edge Runtime, create a bootable USB stick with
the image you intend to install.</para>
<para>In the example below, step by step instructions are provided for
the CentOS 7 distribution. It's possible with the appropriate tools to
also use Windows OS or MacOS.</para>
<note>
<para>The <filename>.hddimg</filename> image is available in the
<filename>Enea_Edge_Runtime_<processor>_<version>-build<build_number>.tar.gz</filename>
file you downloaded with your release.</para>
</note>
<para><emphasis role="bold">Create a bootable USB stick
image</emphasis></para>
<orderedlist>
<listitem>
<para>Copy the <filename>.hddimg</filename> image file provided by
Enea, onto the CentOS 7 server.</para>
</listitem>
<listitem>
<para>Connect the USB stick to the CentOS 7 Server and identify the
USB device name given by the system with
<literal>lsblk</literal>:</para>
<programlisting>NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 28.7G 0 disk
sdb 8:0 0 111.8G 0 disk
|-sdb1 8:1 0 111.8G 0 part</programlisting>
</listitem>
<listitem>
<para>Copy the <filename>.hddimg</filename> image onto the USB
stick, e.g:</para>
<programlisting>sudo dd if=./enea-edge-runtime-<machine>.hddimg \
of=/dev/sdb bs=4M conv=fsync</programlisting>
<para>Where
<filename>enea-edge-runtime-<machine>.hddimg</filename> is the
<filename>.hddimg</filename> file and <literal>sdb</literal> is the
assigned USB device name.</para>
</listitem>
</orderedlist>
</section>
<section id="prep_phys_deploy">
<title>Preparing Physical Deployment for Installation</title>
<figure>
<title>Preparing for Hardware Installation</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="600" fileref="images/prep_deploy.png" />
</imageobject>
</mediaobject>
</figure>
<para>While the uCPE device is powered off, in order to install and
configure the Enea Edge Runtime (using the prepared USB stick), connect
the laptop to a uCPE device LAN port. For this purpose, a Layer 2 switch
or direct cable connection can be used.</para>
</section>
<section id="install_ena_device">
<title>Installing Enea Edge - uCPE Device Installation</title>
<para>To initiate the installation of the Enea Edge Runtime do the
following:</para>
<orderedlist>
<listitem>
<para>Plug the USB stick into the uCPE device.</para>
</listitem>
<listitem>
<para>Power up the uCPE device and boot the USB stick.</para>
</listitem>
<listitem>
<para>The Web-installer application will start automatically and can
be accessed in a web browser on the laptop at
<literal>http://172.16.1.1</literal> (port 80).</para>
</listitem>
<listitem>
<para>On the <emphasis role="bold">Requirements</emphasis> page of
the Web-installer, the user must confirm the the current state of
the installation prerequisites is inline with the desired
state:</para>
<itemizedlist>
<listitem>
<para>Requirements table. Minimum values apply to the
installation process only. For runtime operations, additional
resources should be available depending on the specific
workload. Requirements are color coded (green when met, red when
mandatory and not met, orange when optional and not met). The
Requirements table has the following fields:</para>
<itemizedlist spacing="compact">
<listitem>
<para>Disk size (mandatory). 2GB or more are required for
the installation.</para>
</listitem>
<listitem>
<para>CPU cores (mandatory). 2 cores or more are required
for the installation.</para>
</listitem>
<listitem>
<para>RAM (mandatory). 2GB or more are required for the
installation.</para>
</listitem>
<listitem>
<para>VT-x (mandatory). Intel Virtualization Technology must
be enabled.</para>
</listitem>
<listitem>
<para>VT-d (optional, recommended). Intel Virtualization
Technology for Directed I/O should be enabled.</para>
</listitem>
<listitem>
<para>IOMMU Group separation (optional). If the hardware
does not support IOMMU Group separation, there are certain
limitations regarding how the <literal>vfio-pci</literal>
driver can be used. For more details, see the <olink
targetdoc="book_enea_edge_release_info"
targetptr="bugs-limitations">Known Issues and Limitations in
this Release in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_release_info/1)" /></olink>
Manual.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Force installation checkbox. When enabled, the
installation can be performed even if some of the mandatory
requirements are not met or if non-fatal problems are detected
during the process.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>On the Enea <emphasis role="bold">Edge Management
settings</emphasis> page of the Web-installer, the user must fill
in:</para>
<itemizedlist>
<listitem>
<para>The static Enea Edge Management IP Address or FQDN. This
can be either:</para>
<itemizedlist spacing="compact">
<listitem>
<para>The IP address of the Enea Edge Management host
machine, if the device can directly access it.</para>
</listitem>
<listitem>
<para>The IP address of the NAT device, if the Enea Edge
Management host is located behind a NAT. For more details,
please see <link linkend="firewall_config">Firewall
Configuration</link>.</para>
</listitem>
<listitem>
<para>The Fully Qualified Domain Name (FQDN) of the Enea
Edge Management host machine.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>The unique identifier of the uCPE device (called
"DeviceId" in this Manual).</para>
</listitem>
<listitem>
<para>Customer Tags. They are used for Zero Touch Provisioning
(ZTP) and can be left empty for a base configuration. What can
be entered here (if needed), are the tag(s) specified when
creating an offline configuration in the Enea Edge Management
application. A later addition of customer tags can only be done
by reinstalling the uCPE devices.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>Connect the WAN cable to the uCPE device (see Figure 2). This
will be used as the uCPE management network interface, as described
below.</para>
</listitem>
<listitem>
<para>On the <emphasis role="bold">Network Setup</emphasis> page of
the Web-installer, the user must do the following:</para>
<itemizedlist>
<listitem>
<para>Select a WAN interface to use as the management network
interface. This interface is used by the Enea Edge Management
application to communicate with the uCPE device.</para>
</listitem>
<listitem>
<para>Plug-in additional WAN interfaces (if applicable) and
provide their Layer 3 configuration.</para>
</listitem>
</itemizedlist>
</listitem>
</orderedlist>
<para>When the user has completed the configuration steps in the
Web-installer, Enea Edge Runtime is installed on the hard drive. At this
stage, the user should remove the USB stick and the LAN cable, and
shutdown the uCPE device. It will be started after necessary
configurations are done in the Enea Edge Management application, as
described below.</para>
<note>
<para>If errors are detected during installation, full logs will be
available on the last page of the Web-installer. Please contact Enea
for log analysis. The system is not expected to be usable if errors
are reported during installation.</para>
<para>If the USB stick was booted in UEFI mode, a UEFI boot entry is
automatically created and the system will start booting from the hard
drive without further user configuration.</para>
</note>
</section>
<section id="prep_phys_exec">
<title>Preparing Physical Deployment for Execution</title>
<figure>
<title>Preparing for Deployment Execution</title>
<mediaobject>
<imageobject>
<imagedata contentwidth="600" fileref="images/prep_execution.png" />
</imageobject>
</mediaobject>
</figure>
<para>The following network configuration is needed for managing the
uCPE device and service deployment:</para>
<itemizedlist>
<listitem>
<para>Network connection between the server running the Enea Edge
Management application and the laptop.</para>
</listitem>
<listitem>
<para>Network connection between the server running the Enea Edge
Management application and the uCPE device.</para>
</listitem>
</itemizedlist>
</section>
</section>
<section id="mg_ucpe_devices">
<title>Management of uCPE Devices</title>
<para>When the installation is complete the uCPE device can be managed in
the Enea Edge Management application.</para>
<section id="add_offline_config">
<title>Add a default Offline Configuration</title>
<para>Zero Touch Provisioning is always turned on when a uCPE device
connects to the Enea Edge Management application. To enable it in the
Enea Edge Management application, an offline configuration needs to be
registered for Day-0 configuration.</para>
<note>
<para>Day-0 configuration is a software lifecycle term referring to
early configurations used to put the uCPE device in an active state.
Day-1 Configurations are applied after Day-0 and set the uCPE device
and its service in an active state. Day-2 Configurations are live
configurations on the uCPE device and its service, applied after they
have been activated.</para>
</note>
<para>The offline configuration consists of data and parameters that are
meant to be automatically set when a uCPE device connects to the Enea
Edge Management application for the first time. The configuration is
typically focused on setting up the network management of the uCPE
device, e.g. configuring network interfaces, WAN and LAN networking and
service chains.</para>
<para>For this base configuration, the offline configuration will be
left blank. The blank offline configuration can be filled with
user-specific values and data once the service is created, which is done
after the installation is complete.</para>
<note>
<para>If the offline configuration is not configured, an alarm will be
raised: <literal>Day-0 Config:ZTP:Major</literal> when the uCPE device
tries to connect to the Enea Edge Management application, informing
the user that the ZTP setup failed for the uCPE device.</para>
</note>
<para><emphasis role="bold">Creating an offline
configuration</emphasis></para>
<orderedlist>
<listitem>
<para>In a browser, access the Enea Edge Management application,
open <emphasis role="bold">Applications</emphasis> and select
<emphasis role="bold">Offline Config</emphasis>.</para>
</listitem>
<listitem>
<para>Create a new offline configuration in the GUI by selecting the
<emphasis role="bold">Add</emphasis> button and filling in the
mandatory fields: <literal>name</literal>,
<literal>deviceVersion</literal> and
<literal>deviceId</literal>.</para>
<para>The name is user defined and can be set to any unique text
string identifying the configuration. The
<literal>deviceVersion</literal> must match the Enea Edge Runtime
version of the uCPE device and the <literal>deviceId</literal> must
be the previously set identifier of the uCPE device
(DeviceId).</para>
</listitem>
</orderedlist>
</section>
<section id="add_ucpe_mg">
<title>Add a uCPE device to the Management System</title>
<para>In order to enroll a uCPE device in the management system and
establish a management connection, the user will add uCPE device
information in the Enea Edge Management application. This is
accomplished by going to <emphasis role="bold">Devices</emphasis>,
selecting <emphasis role="bold">Manage</emphasis> and then clicking the
<emphasis role="bold">Add</emphasis> button.</para>
<para>The relevant parameters are:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Type.</emphasis> The type of device to
be added, i.e Enea universal CPE.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Name.</emphasis> The name by which the
uCPE device is referred to in the Enea Edge Management application.
(Mandatory).</para>
</listitem>
<listitem>
<para><emphasis role="bold">SSH Port.</emphasis> The NETCONF Port
used for communications. Default is set to 830.</para>
</listitem>
<listitem>
<para><emphasis role="bold">SSH User Name.</emphasis> The user name
for SSH connectivity. Default user is root.</para>
</listitem>
<listitem>
<para><emphasis role="bold">SSH Password.</emphasis> Leave this
blank.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Device Calls Home.</emphasis> This
checkbox indicates the direction of uCPE device communications. For
a base configuration, leave this flag unchecked.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Device ID.</emphasis> The unique
identifier of the uCPE device. (Mandatory).</para>
</listitem>
</itemizedlist>
<para>For more details concerning Device Calls Home, please see <olink
targetdoc="book_enea_edge_getting_started"
targetptr="device_callhome_nat">Device Call Home Connection for
Deployment behind NAT in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
</section>
<section id="boot_device_add_map">
<title>Booting the uCPE device and adding it to the Map</title>
<para>When connectivity is established with the Enea Edge Management
application and a uCPE device is already registered with a matching
<literal>Device ID</literal>, the installation is complete, and the
connection is established.</para>
<para>When a uCPE device is registered it can be manually added to the
map for overview. <emphasis role="bold">Right-click</emphasis> on the
map and select <emphasis role="bold">Place Device</emphasis> to put the
uCPE device on the map.</para>
<para>In case of management connection failure (e.g. due to a
misconfiguration), the uCPE device status will be seen as RED
(disconnected) in the Enea Edge Management application. The uCPE device
configuration can be corrected by removing the WAN cable(s),
reconnecting the laptop to the LAN interface of the uCPE device and
rebooting it. At this point, the Web-installer can be accessed from the
laptop as described in <olink targetdoc="book_enea_edge_getting_started"
targetptr="install_ena_device">Installing Enea Edge - uCPE Device
installation in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
</section>
</section>
<section id="ucpe_monitor">
<title>uCPE Device Monitorization and Control</title>
<para>Once the uCPE device is connected to the Enea Edge Management
application, it is ready for central management. Two important functions
available in the Enea Edge Management GUI are alarm checking and resource
allocation. Additionally, the device can be rebooted, the factory settings
can be restored or simply the vCPE service can be restarted.</para>
<section id="check_alarms">
<title>Checking Alarms</title>
<para>The Enea Edge Management application dashboard presents alarms in
a specific window on the front page.</para>
<para>An alarm can be easily triggered by disconnecting and reconnecting
the WAN ethernet cable from the uCPE device. The management system will
detect the broken link and raise an alarm: <literal>Device
Disconnected::Critical</literal>.</para>
<para>A separate Alarm Management window can be accessed from the Enea
Edge Management menu for in-depth access and programming of <emphasis
role="bold">Alarms and Events</emphasis>.</para>
</section>
<section id="ck_resource_alloc">
<title>Checking uCPE device Resource Allocation</title>
<para>When the uCPE device is connected to the Enea Edge Management
application it is of interest to check the amount of hardware resources
in use.</para>
<para>To check CPU, RAM and disk utilization simply select the uCPE
device and go to the <emphasis role="bold">Virtual Machines</emphasis>
tab in the map view. The same view will show active VNFs running on the
uCPE device once instantiated.</para>
</section>
<section id="basic_oper_device">
<title>Basic operations for uCPE device Managememt</title>
<para>When the uCPE device is connected to the Enea Edge Management
application, it can be rebooted, the factory settings can be restored or
simply the vCPE service can be restarted.</para>
<para>Select the uCPE device and go to the <emphasis
role="bold">Operations</emphasis> menu, where the following options are
available:</para>
<itemizedlist>
<listitem>
<para><emphasis role="bold">Reboot</emphasis>. Reboots the device.
Settings will be preserved.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Factory reset</emphasis>. Resets the
device to its default factory settings. All current configuration
settings are lost. All running VNFs are destroyed. All uploaded VM
image files are deleted. Existing log files will be kept.</para>
<para>Only the vCPE service will be restarted, the device will not
be rebooted. No reboot is needed.</para>
<para>Once the vCPE service restart completes, appropriate day-0
provisioning will take place. Previously installed custom scripts
will be reinstalled on the uCPE device, and upon receiving the
custom script(s), the device will reboot.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Restart Vcpe</emphasis>. Restarts the
vCPE service on the device. The device will not be rebooted.</para>
</listitem>
</itemizedlist>
</section>
<section id="access_device_cli">
<title>Accessing the uCPE device CLI</title>
<para>As a final check to make sure the uCPE device was installed and
configured correctly, access the uCPE device Linux CLI by selecting the
uCPE device on the map and using the <emphasis role="bold">SSH
button</emphasis> from the panel. A new window will appear for CLI
access. The default user and password are <literal>root</literal> and
blank, respectively.</para>
<para>This is a pure Linux CLI providing access to standard Linux CLI
commands. The CLI is a central feature for running custom
scripting.</para>
<note>
<para>In case the uCPE device was installed behind a NAT device, the
reverse SSH connection will be used. For more details, please see
<olink targetdoc="book_enea_edge_getting_started"
targetptr="device_callhome_nat">Device Call Home Connection for
deployment behind NAT in the <xi:include
href="../../s_docbuild/olinkdb/pardoc-names.xml"
xmlns:xi="http://www.w3.org/2001/XInclude"
xpointer="element(book_enea_edge_getting_started/1)" /></olink>
Manual.</para>
</note>
</section>
</section>
</chapter>
|