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