README.md 4.71 KB
Newer Older
1 2

# Circle Project Salt Installer
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

## Install Salt

```bash
sudo add-apt-repository ppa:saltstack/salt
sudo apt-get update
sudo apt-get install salt-minion
```

## Configure salt
Open the salt minion configuration

```bash
sudo vim /etc/salt/minion
```

Add these lines:

```bash
file_client: local

file_roots:
  base:
    - /home/cloud/salt/salt

pillar_roots:
  base:
    - /home/cloud/salt/pillar
```
## Get the installer
Clone circle installer git repository into cloud home

```bash
Bach Dániel committed
36
git clone https://git.ik.bme.hu/circle/salt.git
37 38 39 40 41 42 43 44 45 46
```

## Change variables
Modify installer.sls file

```
sudo vim salt/pillar/installer.sls
```

Most used variables
47 48 49 50 51 52
-------------------
* user: user who will install the software
* proxy_secret: proxy secret key TODO
* secret_key: secret key TODO
* time zone: the server's time zone, format is region/city
* deployment_type: local or ? TODO
53 54
* **admin_user**: user name to login in as admin on the site
* **admin_pass**: password to login in as admin on the site
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
* database:
   * name: django database's name
   * user: database user
   * password: database user's password
* amqp:
   * user: amqp user
   * password: ampq user's password
   * host: amqp server IP - usually runs at localhost
   * port: amqp server's port
   * vhost: virtual host - specifies the namespace for entities (exchanges and queues) referred to by the protocol
* graphite:
   * user: graphite user
   * password: graphite user's password
   * host: graphite server IP - usually runs at localhost
   * port: graphite server's port
   * vhost: TODO
   * queue: TODO
   * secret_key: graphite's secret key
* cache: cache url - usually pylibmc://127.0.0.1:11211/
* nfs:
   * enabled: nfs is enabled
   * server: nfs server's hostname
   * network: nfs server's network to access files
   * directory: this directory will be shared
79
* storagedriver:
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
   * queue_name: TODO
* fwdriver:
   * queue_name: the server's hostname
   * gateway: the server's gateway
   * EXTERNAL_Net: the server's network
   * external_if: the server's network interface
   * trunk_if: trunk interface TODO
   * management_if: TODO

Other variables
---------------
* agent:
   * repo_name: the agent repository's name
   * repo_revision: revision
* agentdriver:
   * repo_name: the agentdriver repository's name
   * repo_revision: revision
* fwdriver:
   * repo_name: the fwdriver repository's name
   * repo_revision: revision
   * user: fwdriver user name
   * vm_if: vm interface
   * vm_et: vm network
* manager:
   * repo_name: the manager repository's name
   * repo_revision: revision
* monitor-client:
   * repo_name: the monitor-client repository's name
   * repo_revision: revision
* storage-driver:
   * repo_name: the storage-driver repository's name
   * repo_revision: revision
* vm-driver:
   * repo_name: the vm-driver repository's name
   * repo_revision: revision
* vnc-driver:
   * repo_name: the vnc-driver repository's name
   * repo_revision: revision
118 119 120 121 122 123 124 125

## Install Circle
Run the following installation command:

```bash
sudo salt-call state.sls allinone
```

126 127 128 129 130 131
After install, delete agent.conf file:

```bash
sudo rm /etc/init/agent.conf
```

132 133
## Quickstart - Standalone Node

134
### Login
135 136 137 138 139
Log in into the Circle website with admin (the site is accessable on the 443 port). Name and password is in the `salt/pillar/installer.sls`.

### Create Node
To run virtual machines, we need to create nodes - and add to the system. Click on the new icon in the dashboard, Nodes menu.

140
#### Configure Node
141 142 143

To standalone configuration, type the current machine's hostname to Host/name, MAC address to Host/MAC, IP to HOST/IP. Choose managed-vm as VLAN.

144
#### Activate Node
145 146 147 148 149 150 151 152 153 154 155 156

Click on the 'Activate' icon to use the Node.

### Start Virtual Machine

To create new Virtual Machine, we use Templates - images based on previously saved VMs. Currently we haven't got any template - so let's create a new one. Click on Templates/new icon and choose 'Create a new base VM without disk'.

#### Configure Template

Set name, CPU and RAM settings, architecture. Check in the boot menu box, select network and lease, write down, which operating system will you use. Finally, create a template.
> The rows marked with astersk need to be filled.

157
![configure standalone node](_static/images/configure_node.jpg)
158 159 160 161

#### Add disk

Currently we don't have any disks attached to our VM. To add, click on the Resources menu, 'create disk' icon, set the name and size.
162

163
![disk setup](_static/images/disk.jpg)
164 165 166 167

#### Attach ISO

To install an OS, we can use ISO images, to boot from. Click on 'download disk' and type the ISO's URL.
168

169
![download iso](_static/images/iso.jpg)
170

171
### Start Virtual Machine
172 173
Finally, we can run the machine. Click on 'deploy' and start it. You can choose, on which node do you want to run.

174
![ubuntu 14.04](_static/images/ubuntu.png)