aboutsummaryrefslogtreecommitdiffstats
path: root/framework/scripts/installer/fuel/fuel-plugin-onos/README.md
blob: b5e93c417b339f85dc4c8c163a9184e319aa4d2a (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
#ONOS Plugin for Fuel#

##Brief##

This plugin will install [ Open Network Operating System (ONOS) controller](https://wiki.onosproject.org/display/ONOS/Wiki+Home), which is a typical SDN controller, and set it as a manager of ovs.


##Notification##


* Fuel opentack version should be after 7.0.
* Only supports the environment with network type: Neutron.
* Live migration is supported.
* L2 and L3 traffic are supported.


##Installation Guide##


###ONOS plugin installation###


1. Log in Fuel Master and clone GIT repository of fuel-plugin-onos from openstack:

        git clone -b kilo git://git.openstack.org/openstack/fuel-plugin-onos

2. Preparing an environment for plugin development by three easy steps:

    A. Install the standard Linux development tools.

    For Ubuntu 14.04 LTS, run:

        sudo apt-get install createrepo rpm dpkg-dev
    For Centos 6.5, run:

        yum install createrepo rpm rpm-build dpkg-devel

    B. Install the Fuel Plugin Builder. To do that, you should first get pip:

        easy_install pip

     C. Then, install Fuel Plugin Builder (fpb) itself:


        pip install fuel-plugin-builder

3. Build ONOS plugin for fuel:

        fpb --build fuel-plugin-onos/

4. The onos rpm will be built in the folder of fuel-plugin-onos.

5. Install the onos plugin:

        fuel plugins --install onos*.rpm

6. Check if you successfully install the plugin:

        fuel plugins

        id | name   | version | package_version
        ---|--------|---------|----------------
        1  | onos   | 0.7.0   | 3.0.0

     
7. Check if the plugin is enabled on the settings table.

Notice: Step 1-4 aren't limitted with the environment of master, you can also make it everywhere, but after the rpm is made, you should copy it to the master. In addition, the info of a new plugin at settings table can only be ready  when a new environment is created.


##User Guide##


###ONOS plugin configuration###


All described actions below are described from a Fuel GUI provisioning perspective.

1. Create a new environment.

2. Select 'onos plugin' on Settings tab.

     onos plugin

3. Select three nodes with role 'controller', three with role 'compute' and one with 'onos'.

4. Click 'Deploy changes' to enable nodes with ONOSFW.



###Dependencies###

In order to run ONOS, the following are required:

- Java 8 JDK (Oracle Java recommended; OpenJDK is not as thoroughly tested)
- ONOS tarball( Newest version 1.3 recommended.)

Notice: In case of version problems, the onos rpm uses jdk and onos packages that have been tested.

###Testing###

1. Web UI is recommended for ONOS controller with tuitive information of topo, devices and etc.
For that purpose, IP address of horizon should be ready, which can be found in fuel master after successful deployment. The web will run into the log page after inputing the path, username and password are both 'karaf'. Now enjot ONOS!

        Web UI: http://horizon_ip:8181/onos/ui/index.html
2. CLI is capable of more diverse functionality by running /opt/onos/bin/onos. More about CLI can be found in [The ONOS CLI](
https://wiki.onosproject.org/display/ONOS/The+ONOS+CLI).


##Getting Involved##

Interested in contributing? Follow [Fuel Plugins Development](
https://wiki.openstack.org/wiki/Fuel/Plugins).

##Contributors##

1.       Wu Wenbin <wuwenbin2@huawei.com>
2.       Zhang Haoyu <zhanghaoyu7@huawei.com>