# Installing Openstack (conjure-up) on Ubuntu The guide explains how to install [OpenStack](http://openstack.org/) on available resource and make VMs available for *medium* and *large-scale* projects. OpenStack is deployed using [Ubuntu Conjure-up](http://conjure-up.io/) charm on single workstation. ### Hardware Available * 2 x Intel Xeon(R) CPU E5-2620 - 2.4 GHz * 128 GB RAM * 2 x 1000 Mbps LAN port * 2 TB Storage with RAID ### Software Requirement * Ubuntu 14.04 LTS ## Network Configuration ### Subnet Available ``` CIDR : 172.16.18.0/ 23 Default Gateway : 172.16.19.254 Broadcast Domain : 172.16.19.255 DNS Server : 172.16.2.34 Static Ip range : 172.16.18.1 - 172.16.18.25 IP range for Neutron DHCP - 172.16.18.14 - 172.16.18.24 ``` ### Network configuration Current machine has two network interfaces - `eth0` and `eth1`. Hence we assign two static IPs two each of them namely - `172.16.18.11` and `172.16.18.12` #### eth0* > Add following to `/etc/network/interfaces` file to make static ip on `eth0` ``` auto eth0 iface eth0 inet static address 172.16.18.11 netmask 255.255.254.0 network 172.16.18.0 gateway 172.16.19.254 dns-nameserver 172.16.2.34 ``` #### eth1** > Add following to `/etc/network/interfaces` file to make static ip on `eth1` > ``` auto eth1 iface eth1 inet static address 172.16.18.12 netmask 255.255.254.0 network 172.16.18.0 gateway 172.16.19.254 dns-nameserver 172.16.2.34 ``` ## Installation Procedure ### 1. Installlling conjure-up ``` $ sudo apt-get install snapd $ sudo groupadd lxd && sudo usermod -a -G lxd $USER $ sudo reboot $ sudo snap install conjure-up --classic ``` ### 2. Conjuring Openstack ``` $ conjure-up ``` > * On terminal GUI press `Tab` and `Enter` to Select install Openstack using LXD > * Set the name of the implementation > * Deploy all the systems > * Download all the glance images > * Set up the SSH key > * Set up neutron > * Set up horizon dashboard ### 3. Restart network ``` $ sudo service networking restart $ sudo service network-manager restart ``` ### 4. If `eth0` and `eth1` interfaces are down > Copy the `eth0` and `eth1` interface details from (\*) and (\*\*) ``` $ sudo service networking restart $ sudo service network-manager restart $ sudo ifdown eth0 $ sudo ifdown eth1 $ sudo ifup eth0 $ sudo ifup eth1 ``` ### 5. Alter the `conjureup0` bridge details > Add following to `/etc/network/interfaces` file. ``` auto conjureup0 iface conjureup0 inet static address 172.16.18.11 network 172.16.18.0 netmask 255.255.254.0 broadcast 172.16.19.255 gateway 172.16.19.254 dns-nameservers 8.8.8.8 bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0 ``` > Then restart the network ``` $ sudo service networking restart $ sudo service network-manager restart $ sudo ifdown eth0 $ sudo ifdown eth1 $ sudo ifup eth0 $ sudo ifup eth1 $ sudo ifdown conjureup0 $ sudo ifup conjureup0 ``` ### 6. To access horizon dashboard accross the network > As horizon dashboard is accessible at `10.0.8.245` add `/etc/hosts` file ``` 10.0.8.245 localhost ``` > Forwarding the requests from external network to access horizon dashboard via iptables command ``` $ sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 10.0.8.245:80 ``` ### 7. Log into horizon dashbaord to configure network > * Log on to horizzon dashbaord at `172.16.18.12/horizon` or `localhost/horizon`(if on same system) using `u: admin and p: openstack` > * Delete all the previous network, subnets and routers > * Click on `create new network` on `networks tab` named `ext-net` > * Select `local` for `Provider Network Type` and make the network external network > * Add subnet with network configuration above `Subnet Available` > * Now create a new network `local` and add a sub-net with `10.X.X.X/24` ip. > * Create a net router and interface it with both 'ext-net' and 'local'. ### 8. Launching VM > While launching VM make sure that the VM are launched on `local` or equivalent internal network and then `floating ip` from `ext-net` is assgined. #### Document by, * **P Ajay Rao** * **Navaneesh Kumar** * **Siddarth Cadabam**