Open main menu

OpenVZ Virtuozzo Containers Wiki β

Setup OpenStack with Virtuozzo 7

Revision as of 05:37, 16 December 2015 by 203.59.227.101 (talk) (Undo revision 18060 by Corradofiore (talk))

This howto describes steps by step installation of OpenStack devstack with Virtuozzo 7.

Execute the following commands within you Virtuozzo 7 host as root:

Install RDO repo:

$ yum install -y https://rdoproject.org/repos/rdo-release.rpm

Install EPEL repo:

$ yum install -y http://fedora-mirror01.rbc.ru/pub/epel//epel-release-latest-7.noarch.rpm

Install required packages:

$ yum install -y git patch redhat-lsb-core euca2ools mysql-connector-python scsi-target-utils

Reinstall http and mod_wsgi:

$ yum remove -y httpd httpd-tools mod_wsgi
$ yum install -y httpd

Enable IP connection tracking for CT0:

$ echo -ne "options nf_conntrack ip_conntrack_disable_ve0=0\n" > /etc/modprobe.d/vz.conf
$ echo -ne "options nf_conntrack ip_conntrack_disable_ve0=0\n" > /etc/modprobe.d/parallels.conf

Then reboot your system:

$ reboot

Create user "stack" and add him to sudoers:

$ adduser stack -d /vz/stack
$ chmod 755 /vz/stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

Download and unpack container image:

$ su stack -c "cd ~ && wget http://updates.virtuozzo.com/server/virtuozzo/en_us/odin/7/techpreview-ct/centos7-exe.hds.tar.gz"
$ su stack -c "cd ~ && tar -xzvf centos7-exe.hds.tar.gz"

Clone devstack:

$ su stack -c "cd ~ && git clone git://git.openstack.org/openstack-dev/devstack"

Create local.conf file:

$ cat > ~stack/devstack/local.conf << _EOF
[[local|localrc]]
FORCE=yes
HOST_IP=1.1.1.1
MYSQL_PASSWORD=password
SERVICE_TOKEN=password
SERVICE_PASSWORD=password
ADMIN_PASSWORD=password
LIBVIRT_TYPE=parallels
RABBIT_PASSWORD=password
#Basic services
ENABLED_SERVICES=key,rabbit,mysql,horizon
# Enable Nova services
ENABLED_SERVICES+=,n-api,n-crt,n-cpu,n-cond,n-sch,n-novnc,n-cauth
# Enable Glance services
ENABLED_SERVICES+=,g-api,g-reg
# Enable Cinder services
#ENABLED_SERVICES+=,c-sch,c-api,c-vol
# Enable Heat, to test orchestration
#ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
# Enable Neutron services
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
# Destination path for installation
DEST=/vz/stack
# Destination for working data
DATA_DIR=/vz/stack/data
# Destination for status files
SERVICE_DIR=/vz/stack/status
LOG_COLOR=False
LOGDAYS=3
LOGFILE=/vz/stack/logs/stack.sh.log
SCREEN_LOGDIR=/vz/stack/logs/screen
ENABLE_METADATA_NETWORK=True
ENABLE_ISOLATED_METADATA=True
IMAGE_URLS="file:///vz/stack/centos7-exe.hds"
_EOF

Change HOST_IP within created ~stack/devstack/local.conf to a valid IP address of your Virtuozzo 7 host. Change password for OpenStack services to whatever you prefer in ~stack/devstack/local.conf. Make libvirt daemon accessible via socket for stack user:

$ sed -i s/"#unix_sock_group = \"libvirt\""/"unix_sock_group = \"stack\""/ /etc/libvirt/libvirtd.conf
$ sed -i s/"#unix_sock_ro_perms = \"0777\""/"unix_sock_ro_perms = \"0777\""/ /etc/libvirt/libvirtd.conf
$ sed -i s/"#unix_sock_rw_perms = \"0770\""/"unix_sock_rw_perms = \"0770\""/ /etc/libvirt/libvirtd.conf
$ sed -i s/"#unix_sock_dir = \"\/var\/run\/libvirt\""/"unix_sock_dir = \"\/var\/run\/libvirt\""/ /etc/libvirt/libvirtd.conf
$ sed -i s/"#auth_unix_ro = \"none\""/"auth_unix_ro = \"none\""/ /etc/libvirt/libvirtd.conf
$ sed -i s/"#auth_unix_rw = \"none\""/"auth_unix_rw = \"none\""/ /etc/libvirt/libvirtd.conf

Clone nova repository:

$ su stack -c "cd ~ && git clone git://git.openstack.org/openstack/nova"

Make libvirt 1.2.8 be minimum required version to run with Virtuozzo:

$ sed -i -e "s/MIN_LIBVIRT_PARALLELS_VERSION = (1, 2, 12)/MIN_LIBVIRT_PARALLELS_VERSION = (1, 2, 8)/"  ~stack/nova/nova/virt/libvirt/driver.py

Start devstack:

$ su stack -c "~/devstack/stack.sh"

After script finishes, setup your iptables rules to allow incoming http trafic if you want to use OpenStack dashboard. For instance:

$ iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
$ iptables -A INPUT -p tcp --dport http -j ACCEPT
$ iptables -A INPUT -j REJECT

Here you are!