Merge "Use OVSDB/docs for OVSDB"
[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
32 Installing NEMO engine
33 ----------------------
34
35 To install NEMO engine, download OpenDaylight and use the Karaf console
36 to install the following feature:
37
38 odl-nemo-engine-ui
39
40 Administering or Managing NEMO Engine
41 -------------------------------------
42
43 After install features NEMO engine used, user could use NEMO to express his intent
44 with NEMO UI or REST APIs in apidoc.
45
46 Go to ``http://{controller-ip}:8181/index.html``. In this interface, user could go to
47 NEMO UI, and use the tabs and input box to input intent, and see the state of intent
48 deployment with the image.
49
50 Go to ``http://{controller-ip}:8181/apidoc/explorer/index.html``. In this interface, user
51 could REST methods "POST", "PUT","GET" and "DELETE" to deploy intent or query the state
52 of deployment.
53
54 Tutorials
55 ---------
56
57 Below are tutorials for NEMO Engine.
58
59 Using NEMO Engine
60 ~~~~~~~~~~~~~~~~~
61
62 The purpose of the tutorial is to describe how to use use UI to deploy intent.
63
64 Overview
65 ^^^^^^^^
66
67 This tutorial will describe how to use the NEMO UI to check the operated resources, the steps
68 to deploy service, and the ultimate state.
69
70 Prerequisites
71 ^^^^^^^^^^^^^
72
73 To understand the tutorial well, we hope there are a physical or virtual network exist, and
74 OpenDaylight with NEMO engine must be deployed in one host.
75
76 Target Environment
77 ^^^^^^^^^^^^^^^^^^
78
79 The intent expressed by NEMO model is depended on network resources, so user need to have enough
80 resources to use, or else, the deployment of intent will fail.
81
82 Instructions
83 ^^^^^^^^^^^^
84
85 -  Run the OpenDaylight distribution and install odl-nemo-engine-ui from the Karaf console.
86 -  Go to ``http://{controller-ip}:8181/index.html``, and sign in.
87 -  Go the NEMO UI interface. And Register a new user with user name, password, and tenant.
88 -  Check the existing resources to see if it is consistent with yours.
89 -  Deploy service with NEMO model by the create intent menu.
90