Update git submodules
[docs.git] / docs / user-guide / nemo-user-guide.rst
1 .. _nemo-user-guide:
2
3 NEtwork MOdeling (NEMO)
4 =======================
5
6 This section describes how to use the NEMO feature in OpenDaylight
7 and contains contains configuration, administration, and management
8 sections for the feature.
9
10 Overview
11 --------
12
13 With the network becoming more complicated, users and applications must handle
14 more complex configurations to deploy new services. NEMO project aims to simplify
15 the usage of network by providing a new intent northbound interface (NBI). Instead
16 of tons of APIs, users/applications just need to describe their intent without
17 caring about complex physical devices and implementation means. The intent will
18 be translated into detailed configurations on the devices in the NEMO engine. A
19 typical scenario is user just need to assign which nodes to implement an VPN,
20 without considering which technique is used.
21
22 NEMO Engine Architecture
23 ------------------------
24
25 * NEMO API
26   * The NEMO API provide users the NEMO model, which guides users how to construct the
27   instance of intent, and how to construct the instance of predefined types.
28 * NEMO REST
29   * The NEMO REST provides users REST APIs to access NEMO engine, that is, user could
30   transmit the intent instance to NEMO engine through basic REST methods.
31 * NEMO UI
32   * The NEMO UI provides users a visual interface to deploy service with NEMO model,
33   and display the state in DLUX UI.
34
35 Installing NEMO engine
36 ----------------------
37
38 To install NEMO engine, download OpenDaylight and use the Karaf console
39 to install the following feature:
40
41 odl-nemo-engine-ui
42
43 Administering or Managing NEMO Engine
44 -------------------------------------
45
46 After install features NEMO engine used, user could use NEMO to express his intent
47 with NEMO UI or REST APIs in apidoc.
48
49 Go to ``http://{controller-ip}:8181/index.html``. In this interface, user could go to
50 NEMO UI, and use the tabs and input box to input intent, and see the state of intent
51 deployment with the image.
52
53 Go to ``http://{controller-ip}:8181/apidoc/explorer/index.html``. In this interface, user
54 could REST methods "POST", "PUT","GET" and "DELETE" to deploy intent or query the state
55 of deployment.
56
57 Tutorials
58 ---------
59
60 Below are tutorials for NEMO Engine.
61
62 Using NEMO Engine
63 ~~~~~~~~~~~~~~~~~
64
65 The purpose of the tutorial is to describe how to use use UI to deploy intent.
66
67 Overview
68 ^^^^^^^^
69
70 This tutorial will describe how to use the NEMO UI to check the operated resources, the steps
71 to deploy service, and the ultimate state.
72
73 Prerequisites
74 ^^^^^^^^^^^^^
75
76 To understand the tutorial well, we hope there are a physical or virtual network exist, and
77 OpenDaylight with NEMO engine must be deployed in one host.
78
79 Target Environment
80 ^^^^^^^^^^^^^^^^^^
81
82 The intent expressed by NEMO model is depended on network resources, so user need to have enough
83 resources to use, or else, the deployment of intent will fail.
84
85 Instructions
86 ^^^^^^^^^^^^
87
88 -  Run the OpenDaylight distribution and install odl-nemo-engine-ui from the Karaf console.
89 -  Go to ``http://{controller-ip}:8181/index.html``, and sign in.
90 -  Go the NEMO UI interface. And Register a new user with user name, password, and tenant.
91 -  Check the existing resources to see if it is consistent with yours.
92 -  Deploy service with NEMO model by the create intent menu.
93