Install openstack liberty using packstack

Packstack is a utility that uses Puppet modules to deploy various parts of OpenStack on multiple pre-installed servers over SSH automatically. This utility is still in the early stages, a lot of the configuration options have yet to be added Currently its support Fedora, Red Hat Enterprise Linux (RHEL) and compatible derivatives of both are supported. Here we can discuss to Install openstack liberty using packstack in centos server.

packstack

How to install OpenStack liberty using packstack in centos 7

 

Update all your existing packages.

#yum update -y

Install all other useful tools

#yum install -y wget net-tools mlocate

Flush yum cache

#yum clean all #yum repolist

Set the Selinux in Permissive Mode

# setenforce 0

Disable firewalld & NetworkManager Service

# systemctl stop firewalld
# systemctl disable firewalld
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

# systemctl stop NetworkManager
# systemctl disable NetworkManager
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.

 

Install packstack repos.

#wget https://repos.fedorapeople.org/repos/openstack/openstack-liberty/rdo-release-liberty-2.noarch.rpm
#rpm -ivh rdo-release-liberty-2.noarch.rpm

Install openstack packstack

yum install -y openstack-packstack

Generate a openstack answerfile and customize your services to enable and disable components, also make sure to update the management IP address.

#packstack --gen-answer-file=youranwserfile.packstack

NOTE: If you want to ssl support for the horizon you need to install your certs into /etc/ssl/certs and enable SSL
CONFIG_HORIZON_SSL=y

Once the modification is done.

Install packstack

#packstack --answer-file=youranwserfile.packstack

It will take few minutes to complete that installation and will update admin user credential and demo user credential.

 

**** Installation completed successfully ******

Additional information:
* A new answerfile was created in: /root/packstack-answers-20160105-040349.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* Warning: NetworkManager is active on 127.0.0.1. OpenStack networking currently does not work on systems that have the Network Manager service enabled.
* File /root/keystonerc_admin has been created on OpenStack client host 127.0.0.1. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://127.0.0.1/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* To use Nagios, browse to http://127.0.0.1/nagios username: nagiosadmin, password:
* The installation log file is available at: /var/tmp/packstack/20160105-040348-S2GgMl/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20160105-040348-S2GgMl/manifests

 

Once the installation is completed,

Setup network bridge for external network

In order to connect OpenStack with external network, you should configure network bridge on your server. Install and configuration network bridge

Next add the following to the /etc/neutron/plugin.ini file.

network_vlan_ranges = physnet1
bridge_mappings = physnet1:br-ex

Restart network and nuetron services.

Setup cinder-volumes to your secondary drive

After you installed openstack using packstack, default it will create 20G cinder volume. If you need to modify cinder volume with your secondary drive.

remove your old volume group cinder volume

#vgremove cinder-volumes

Create physical volume from your secondary drive

#pvcreate /dev/sdb

Create volume group using that physical volume.

#vgcreate cinder-volumes /dev/sdb

That’s it.

 

Verify your installation and admin credential.

keystonerc_admin keystonerc_demo

[[email protected] ~(keystone_admin)]#source /root/keystone_admin
[[email protected] ~(keystone_admin)]# nova image-list
+--------------------------------------+--------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+--------+--------+--------+
| 0aecad86-309f-43fc-925c-a6c9bba81b6f | cirros | ACTIVE | |
+--------------------------------------+--------+--------+--------+
[[email protected] ~(keystone_admin)]# nova hypervisor-list
+----+--------------------------------+-------+---------+
| ID | Hypervisor hostname | State | Status |
+----+--------------------------------+-------+---------+
| 1 | openstack-liberty.apporbit.com | up | enabled |
+----+--------------------------------+-------+---------+

That’s it, You can login openstack horizon dashboard.

http://10.47.13.196/dashboard/

 

Errors:
1) ERROR : Error appeared during Puppet run: 10.47.13.196_ring_swift.pp
Error: /Stage[main]/Swift::Ringbuilder/Swift::Ringbuilder::Rebalance[object]/Exec[rebalance_object]: Failed to call
refresh: swift-ring-builder /etc/swift/object.builder rebalance returned 1 instead of one of [0]

Solutioin

Remove everything in /etc/swift/* then try to install packstack again.

2) Error: Unable to retrieve volume limit information.

Solutioin

vi /etc/cinder/cinder.conf
[keystone_authtoken]
auth_uri = http://192.168.1.10:5000
auth_url = http://192.168.1.10:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = services
username = cinder
password = eertr6645643453

 

Enable thin provisioning for the cinder volume

Add the following entries under your driver section i.e. [lvm]

vi /etc/cinder/cinder.conf

volume_clear = none
lvm_type = thin
volume_clear_size = 0

change the following values in nova configuration.

vi /etc/nova/nova.conf

volume_clear=none
volume_clear_size=0

restart both nova and cinder services.

 

  • cinder volume tweaks to enable thin and delete volumes.

    vi /etc/cinder/cinder.conf
    volume_clear = none
    lvm_type = thin