aboutsummaryrefslogtreecommitdiffstats
path: root/docs/development/apex-scenario-guide.rst
blob: 50e4c60bb7f97d78614216900c7990509bc514a5 (plain)
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
| Calipso.io
| Installation Guide

|image0|

Project “Calipso” tries to illuminate complex virtual networking with
real time operational state visibility for large and highly distributed
Virtual Infrastructure Management (VIM).

We believe that Stability is driven by accurate Visibility.

Calipso provides visible insights using smart discovery and virtual
topological representation in graphs, with monitoring per object in the
graph inventory to reduce error vectors and troubleshooting, maintenance
cycles for VIM operators and administrators.

Table of Contents

Calipso.io Installation Guide 1

1 Pre Requisites 3

1.1 Pre Requisites for Calipso “all in one” application 3

1.2 Pre Requisites for Calipso UI application 3

2 Installation Option used with Apex 4

2.1 Micro Services App, single line install 4

3 OPNFV Scenario 5

3.1 APEX automatic configurator and setup 5

3.2 Apex scenario 5

3.3 Calipso functest 6

TBD 6

Pre Requisites 
===============

Pre Requisites for Calipso “all in one” application 
----------------------------------------------------

    Calipso’s main application is written with Python3.5 for Linux
    Servers, tested successfully on Centos 7.3 and Ubuntu 16.04. When
    running using micro-services many of the required software packages
    and libraries are delivered per micro service, but for an “all in
    one” application case there are several dependencies.

    Here is a list of the required software packages, and the official
    supported steps required to install them:

1. Python3.5.x for Linux :
   https://docs.python.org/3.5/using/unix.html#on-linux

2. Pip for Python3 : https://docs.python.org/3/installing/index.html

3. Python3 packages to install using pip3 :

    **sudo pip3 install falcon (>1.1.0)**

    **sudo pip3 install pymongo (>3.4.0)**

    **sudo pip3 install gunicorn (>19.6.0)**

    **sudo pip3 install ldap3 (>2.1.1)**

    **sudo pip3 install setuptools (>34.3.2)**

    **sudo pip3 install python3-dateutil (>2.5.3-2)**

    **sudo pip3 install bcrypt (>3.1.1)**

    **sudo pip3 install bson**

    **sudo pip3 install websocket**

    **sudo pip3 install datetime**

    **sudo pip3 install typing**

    **sudo pip3 install kombu**

    **sudo pip3 install boltons**

    **sudo pip3 install paramiko**

    **sudo pip3 install requests **

    **sudo pip3 install httplib2**

    **sudo pip3 install mysql.connector**

    **sudo pip3 install xmltodict**

    **sudo pip3 install cryptography**

    **sudo pip3 install docker**

1. Git : https://git-scm.com/book/en/v2/Getting-Started-Installing-Git

2. Docker : https://docs.docker.com/engine/installation/

Pre Requisites for Calipso UI application 
------------------------------------------

    Calipso UI is developed and maintained using Meteor Framework
    (https://www.meteor.com/tutorials). For stability and manageability
    reasons we decided to always build the latest Calipso UI as a Docker
    container pre-parameterized for stable and supported behavior. The
    required steps for installing the Calipso UI with several options
    are listed below.

Installation Option used with Apex
==================================

Micro Services App, single line install
---------------------------------------

    For most users, this will be the fastest and more reliable install
    option. We currently have Calipso divided into 7 major containers,
    those are installed using a single installer. The Calipso containers
    are pre-packaged and fully customized per our design needs. Here are
    the required steps for installation using this option:

1. Follow steps 1- 5 per section 2.1 above.

2. Install Docker : https://docs.docker.com/engine/installation/

3. Install the following python3 libraries using pip3 : docker, pymongo

4. Although Calipso installer can download all needed containers, if
   they doesn’t exist locally already, we recommend doing a manual
   download of all 7 containers, providing better control and logging:

    **sudo docker login** # use your DockerHub username and password to
    login.

    **sudo docker pull korenlev/calipso:scan** # scan container used to
    scan VIM

    **sudo docker pull korenlev/calipso:listen** # listen container to
    attach to VIM’s BUS.

    **sudo docker pull korenlev/calipso:api** # api container for
    application integration

    **sudo docker pull korenlev/calipso:sensu** # sensu server container
    for monitoring

    **sudo docker pull korenlev/calipso:mongo** # calipso mongo DB
    container

    **sudo docker pull korenlev/calipso:ui** # calipso ui container

    **sudo docker pull korenlev/calipso:ldap** # calipso ldap container

1. Check that all containers were downloaded and registered
   successfully:

    **sudo docker images**

    Expected results (As of Aug 2017):

    **REPOSITORY TAG IMAGE ID CREATED SIZE**

    **korenlev/calipso listen 12086aaedbc3 6 hours ago 1.05GB**

    **korenlev/calipso api 34c4c6c1b03e 6 hours ago 992MB**

    **korenlev/calipso scan 1ee60c4e61d5 6 hours ago 1.1GB**

    **korenlev/calipso sensu a8a17168197a 6 hours ago 1.65GB**

    **korenlev/calipso mongo 17f2d62f4445 22 hours ago 1.31GB**

    **korenlev/calipso ui ab37b366e812 11 days ago 270MB**

    **korenlev/calipso ldap 316bc94b25ad 2 months ago 269MB**

1. Run the calipso installer using single line arguments:

    **python3 calipso/app/install/calipso-installer.py--command
    start-all --copy q**

    This should launch all calipso modules in sequence along with all
    needed configuration files placed in /home/calipso.

OPNFV Scenario 
===============

Although calipso is designed for any VIM and for enterprise use-cases
too, service providers can use additional capability to install calipso
with Apex for OPNFV.

APEX automatic configurator and setup
-------------------------------------

    When using apex to install OPNFV, the Triple-O based OpenStack is
    installed automatically and calipso installation can be initiated
    automatically after apex completes the VIM installation process for
    a certain scenario.

    In this case setup\_apex\_environment.py can be used for creating a
    new environment automatically into mongoDB and UI of Calipso
    (instead of using the calipso UI to do that as typical user would
    do), then detailed scanning can start immediately, the following
    options are available for setup\_apex\_environment.py:

    **-m [MONGO\_CONFIG], --mongo\_config [MONGO\_CONFIG]**

    **name of config file with MongoDB server access details**

    **(Default: /local\_dir/calipso\_mongo\_access.conf)**

    **-d [CONFIG\_DIR], --config\_dir [CONFIG\_DIR]**

    **path to directory with config data (Default:**

    **/home/calipso/apex\_setup\_files)**

    **-i [INSTALL\_DB\_DIR], --install\_db\_dir [INSTALL\_DB\_DIR]**

    **path to directory with DB data (Default:**

    **/home/calipso/Calipso/app/install/db)**

    **-a [APEX], --apex [APEX]**

    **name of environment to Apex host**

    **-e [ENV], --env [ENV]**

    **name of environment to create(Default: Apex-Euphrates)**

    **-l [LOGLEVEL], --loglevel [LOGLEVEL]**

    **logging level (default: "INFO")**

    **-f [LOGFILE], --logfile [LOGFILE]**

    **log file (default:**

    **"/home/calipso/log/apex\_environment\_fetch.log")**

    **-g [GIT], --git [GIT]**

    **URL to clone Git repository (default:**

    **https://git.opnfv.org/calipso)**

Apex scenario
-------------

    Starting Euphrates 1.0 the following scenario added with Apex
    installer:

    **os-nosdn-calipso-noha**

    Following CI jobs defined:

    https://build.opnfv.org/ci/job/calipso-verify-euphrates/

    https://build.opnfv.org/ci/job/apex-testsuite-os-nosdn-calipso-noha-baremetal-euphrates/

    https://build.opnfv.org/ci/job/apex-os-nosdn-calipso-noha-baremetal-euphrates/

    Note: destination deploy server needs to have pre-requisites
    detailed above.

Calipso functest
----------------

TBD 
----

.. |image0| image:: media/image1.png
   :width: 6.50000in
   :height: 4.27153in