Apache Cloudstack - LinuxUserGroupUWSP/RackMesa GitHub Wiki

Installing Management

Prerequisites

Install NTP

yum -y install ntp

Create a repo for Cloudstack

vi /etc/yum.repos.d/cloudstack.repo 
[cloudstack]
name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/7/4.9/
enabled=1
gpgcheck=0

Install MariaDB

yum -y install mariadb-server

Configure MariaDB

vi /etc/my.cnf
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'

Install MySQL connector for Python

vi /etc/yum.repos.d/mysqlcom.repo
[mysql-connectors-community]
name=MySQL Community connectors
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/$releasever/$basearch/
enabled=1
gpgcheck=1

yum install -y mysql-connector-python

Start MariaDB

systemctl start mariadb

Temporarily disable SELinux

setenforce 0

Install the management components

Install the management package

yum -y install cloudstack-management

Run Cloudstack setup scripts

cloudstack-setup-databases cloud:password@localhost --deploy-as=root

cloudstack-setup-management --tomcat7

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /export/secondary \
-u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 \
-h kvm -F

Start Cloudstack's web UI

systemctl start tomcat

Browse to web UI

http://localhost:8080/client

Installing Agent

Install the agent package

yum -y install cloudstack-agent

Have QEMU's VNC listen on all interfaces

vi /etc/libvirt/qemu.conf
vnc_listen=0.0.0.0

Edit libvirtd's configuration to allow it to listen for TCP connections

vi /etc/libvirt/libvirtd.conf
listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0

Edit libvirtd's service configuration to listen

vi /etc/sysconfig/libvirtd
#LIBVIRTD_ARGS="--listen"

cp cacert.pem /etc/pki/CA/cacert.pem
cp servercert.pem /etc/pki/libvirt/servercert.pem
cp serverkey.pem /etc/pki/libvirt/serverkey.pem

service libvirtd restart

Create an interface in VLAN 100 management

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.100
DEVICE=enp0s3.100
HWADDR=08:00:27:36:3f:0d
ONBOOT=yes
HOTPLUG=no
BOOTPROTO=none
TYPE=Ethernet
VLAN=yes
IPADDR=192.168.42.11
GATEWAY=192.168.42.1
NETMASK=255.255.255.0

Create an interface in VLAN 200 public network

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.200
DEVICE=enp0s3.200
HWADDR=08:00:27:36:3f:0d
ONBOOT=yes
HOTPLUG=no
BOOTPROTO=none
TYPE=Ethernet
VLAN=yes
BRIDGE=cloudbr0

Create an interface in VLAN 300 private network

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.300
DEVICE=eth0.300
HWADDR=08:00:27:36:3f:0d
ONBOOT=yes
HOTPLUG=no
BOOTPROTO=none
TYPE=Ethernet
VLAN=yes
BRIDGE=cloudbr1

Create an interface to bridge the VMs to VLAN 200 public

vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0
DEVICE=cloudbr0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
STP=yes

Create an interface to bridge the VMs to VLAN 300 private

vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1
DEVICE=cloudbr1
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
IPV6_AUTOCONF=no
DELAY=5
STP=yes