Merge "Fix pep8 violations in csit/libraries/Topology.py"
[integration.git] / packaging / rpm / README.md
1 Everything required for building the Karaf OpenDaylight RPM.
2
3 Note that the currently supported version is Helium SR2.
4
5 ## Building the RPM
6
7 The `build.sh` script is a helper for building the RPM. 
8
9 ```
10 [fedora@dfarrell-rpm ~]$ ./build.sh 
11 <snip output of RPM building process>
12 RPM built!
13 Should be at: /home/fedora/rpmbuild/RPMS/noarch/opendaylight-0.2.1-5.fc20.noarch.rpm
14 ```
15
16 ## Working with the ODL RPM
17
18 The familiar RPM-related commands apply to the OpenDaylight RPM.
19
20 ### Installing OpenDaylight via the RPM
21
22 ```
23 # Note that there's nothing in /opt before the install
24 [fedora@dfarrell-rpm ~]$ ls /opt/
25 # Note that there are no opendaylight systemd files before install
26 [fedora@dfarrell-rpm ~]$ ls /usr/lib/systemd/system | grep -i opendaylight
27 # Install the ODL RPM
28 [fedora@dfarrell-rpm ~]$ sudo rpm -i /home/fedora/rpmbuild/RPMS/noarch/opendaylight-0.2.1-5.fc20.noarch.rpm
29 # Note that ODL is now installed in /opt
30 [fedora@dfarrell-rpm ~]$ ls /opt/
31 opendaylight-0.2.1
32 # Note that there's now a systemd .service file for ODL
33 [fedora@dfarrell-rpm ~]$ ls /usr/lib/systemd/system | grep -i opendaylight
34 opendaylight.service
35 ```
36
37 The `install.sh` script is a helper for doing the install. Note that the script's path to the RPM may need to be configured.
38
39 ### Uninstalling OpenDaylight via the RPM
40
41 ```
42 # Note that ODL is installed in /opt/
43 [fedora@dfarrell-rpm ~]$ ls /opt/
44 opendaylight-0.2.1
45 # Note that there's a systemd .service file for ODL
46 [fedora@dfarrell-rpm ~]$ ls /usr/lib/systemd/system | grep -i opendaylight
47 opendaylight.service
48 # Uninstall the ODL RPM
49 [fedora@dfarrell-rpm ~]$ sudo rpm -e opendaylight-0.2.1
50 # Note that ODL has been removed from /opt/
51 [fedora@dfarrell-rpm ~]$ ls /opt/
52 # Note that the ODL systemd .service file has been removed
53 [fedora@dfarrell-rpm ~]$ ls /usr/lib/systemd/system | grep -i opendaylight
54 ```
55
56 ## Managing OpenDaylight via systemd
57
58 The OpenDaylight RPM ships with systemd support.
59
60 ### Starting OpenDaylight via systemd
61
62 ```
63 [fedora@dfarrell-rpm ~]$ sudo systemctl start opendaylight
64 [fedora@dfarrell-rpm ~]$ sudo systemctl status opendaylight
65 opendaylight.service - OpenDaylight SDN Controller
66    Loaded: loaded (/usr/lib/systemd/system/opendaylight.service; disabled)
67    Active: active (running) since Tue 2015-01-13 21:43:05 UTC; 14s ago
68      Docs: https://wiki.opendaylight.org/view/Main_Page
69            http://www.opendaylight.org/
70  Main PID: 28731 (java)
71    CGroup: /system.slice/opendaylight.service
72            └─28731 java -server -Xms128M -Xmx2048m -XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:MaxPermSize=512m -Dcom.sun.manage...
73
74 Jan 13 21:43:14 dfarrell-rpm systemd[1]: Started OpenDaylight SDN Controller.
75 ```
76
77 ### Stopping OpenDaylight via systemd
78
79 ```
80 [fedora@dfarrell-rpm ~]$ sudo systemctl stop opendaylight
81 [fedora@dfarrell-rpm ~]$ sudo systemctl status opendaylight
82 opendaylight.service - OpenDaylight SDN Controller
83    Loaded: loaded (/usr/lib/systemd/system/opendaylight.service; disabled)
84    Active: inactive (dead)
85      Docs: https://wiki.opendaylight.org/view/Main_Page
86            http://www.opendaylight.org/
87
88 Jan 27 19:08:11 dfarrell-rpm.os1.phx2.redhat.com systemd[1]: Starting OpenDaylight SDN Controller...
89 Jan 27 19:08:12 dfarrell-rpm.os1.phx2.redhat.com systemd[1]: Started OpenDaylight SDN Controller.
90 Jan 27 19:08:50 dfarrell-rpm.os1.phx2.redhat.com systemd[1]: Stopping OpenDaylight SDN Controller...
91 Jan 27 19:08:50 dfarrell-rpm.os1.phx2.redhat.com systemd[1]: Stopped OpenDaylight SDN Controller.
92 ```
93
94 ## Connecting to the Karaf shell
95
96 A few seconds after OpenDaylight is started, its Karaf shell will be accessible.
97
98 The `connect.sh` script is provided as an example of how to connect to the Karaf shell.
99
100 Additionally, here's an example of connecting manually (password: `karaf`):
101
102 ```
103 [fedora@dfarrell-rpm ~]$ ssh -p 8101 -o StrictHostKeyChecking=no karaf@localhost
104 Authenticated with partial success.
105 Password authentication
106 Password: 
107                                                                                            
108     ________                       ________                .__  .__       .__     __       
109     \_____  \ ______   ____   ____ \______ \ _____  ___.__.|  | |__| ____ |  |___/  |_     
110      /   |   \\____ \_/ __ \ /    \ |    |  \\__  \<   |  ||  | |  |/ ___\|  |  \   __\    
111     /    |    \  |_> >  ___/|   |  \|    `   \/ __ \\___  ||  |_|  / /_/  >   Y  \  |      
112     \_______  /   __/ \___  >___|  /_______  (____  / ____||____/__\___  /|___|  /__|      
113             \/|__|        \/     \/        \/     \/\/            /_____/      \/          
114                                                                                            
115
116 Hit '<tab>' for a list of available commands
117 and '[cmd] --help' for help on a specific command.
118 Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.
119
120 opendaylight-user@root>^D
121 Connection to localhost closed.
122 [fedora@dfarrell-rpm ~]$ 
123 ```