Readme.md 1.73 KB
Newer Older
Dmitry Volodin's avatar
Dmitry Volodin committed
1
2
3
4
# NOC Tower
NOC Tower is the tool for deployment and maintaining multiple
NOC (http://nocproject.org/) installations.

Dmitry Volodin's avatar
Dmitry Volodin committed
5
## Preparation
Dmitry Volodin's avatar
Dmitry Volodin committed
6
### Linux
Dmitry Volodin's avatar
Dmitry Volodin committed
7
8
9
10
11
12
13
```
#!shell
# apt-get install python-virtualenv libffi6 libffi-dev python-dev gcc
# groupadd tower
# useradd -d /home/tower -g tower -s /bin/bash -m tower
```

Dmitry Volodin's avatar
Dmitry Volodin committed
14
15
16
### FreeBSD
```
#!shell
17
# pkg install -y python2 libffi py27-pip py27-virtualenv py27-sqlite3 ca_root_nss
Dmitry Volodin's avatar
Dmitry Volodin committed
18
# pw groupadd -n tower
19
# pw useradd -g tower -s /bin/csh -d /home/tower -n tower -m
Dmitry Volodin's avatar
Dmitry Volodin committed
20
21
22
```


Dmitry Volodin's avatar
Dmitry Volodin committed
23
## Installation
Dmitry Volodin's avatar
Dmitry Volodin committed
24
25
26
27
Tower is installed into /opt/tower directory by default, though you
can use arbitrary directory (i.e. /usr/local/tower) as well.
Replace /opt/tower/ to directory of your choice

Dmitry Volodin's avatar
Dmitry Volodin committed
28
 - Create Tower directory
29
30
31

```
#!shell
Dmitry Volodin's avatar
Dmitry Volodin committed
32
33
# mkdir /opt/tower
# cd /opt/tower
34
```
Dmitry Volodin's avatar
Dmitry Volodin committed
35
36

 - Create virtualenv
37
38
```
#!shell
Dmitry Volodin's avatar
Dmitry Volodin committed
39
/opt/tower# virtualenv .
40
```
Dmitry Volodin's avatar
Dmitry Volodin committed
41

Dmitry Volodin's avatar
Dmitry Volodin committed
42
43
44
 - Install Tower
```
#!shell
Dmitry Volodin's avatar
Dmitry Volodin committed
45
/opt/tower# ./bin/pip install https://cdn.nocproject.org/tower/noc-tower-latest.tar.bz2
Dmitry Volodin's avatar
Dmitry Volodin committed
46
47
48
/opt/tower# chown -R tower var/
```
 - Generate Tower ssh keys
49
50
```
#!shell
Dmitry Volodin's avatar
Dmitry Volodin committed
51
/opt/tower# su - tower -c "ssh-keygen -t rsa -b 4096"
52
```
Dmitry Volodin's avatar
Dmitry Volodin committed
53

Dmitry Volodin's avatar
Dmitry Volodin committed
54
 - Run Tower
55
56
```
#!shell
Dmitry Volodin's avatar
Dmitry Volodin committed
57
/opt/tower# su - tower -c "cd /opt/tower && ./bin/tower-web"
58
```
Dmitry Volodin's avatar
Dmitry Volodin committed
59

60
## Deploying
61

Dmitry Volodin's avatar
Dmitry Volodin committed
62
 - Enter the magical mistery tower.
Dmitry Volodin's avatar
Dmitry Volodin committed
63
64
65
66
67
68
69
70
71
72
73
74
   Open http://<IP>:8888/ in your browser. Login as admin/admin

 - Set up Tower
 Go to settings and set Tower's site URL (http://<IP>:8888/) and
 Tower's repository URL, as seen by nodes (http://<IP>:8888/hg).

 Do not forget to change tower's admin password
 (Upper right menu > Change Password)

## Prepare nodes
On each node create ansible user (*ansible* by default),
grant it passwordless sudo privileges and copy Tower's
Dmitry Volodin's avatar
Dmitry Volodin committed
75
public ssh key (*/home/tower/.ssh/id_rsa.pub*) to *ansible's*
76
*authorized_keys* (*/home/ansible/.ssh/authorized_keys*)