Site icon Free Linux Tutorials

Installing Openstack RDO Packstack in CentOS

Want to deploy Openstack and experience your own cloud platform the easier way? One way is to install Openstack via RDO Packstack*.
*Packstack is a utility that uses Puppet modules to deploy various parts of OpenStack . It is suitable for deploying both single node proof of concept  or more complex multi node installations.

Components used and tested in:
CentOS 7 Linux 3.10.0-693.el7.x86_64
Openstack Packstack (latest stable release, Pike)

Advisable to stop firewalld, NetworkManager and enable network

#service firewalld stop
#chkconfig firewalld off
#service NetworkManager stop
#chkconfig NetworkManager off
#service network start
#chkconfig network on

Sample Output:

[root@freelinux vinyard]# service firewalld stop
Redirecting to /bin/systemctl stop firewalld.service
[root@freelinux vinyard]# chkconfig firewalld off
Note: Forwarding request to ‘systemctl disable firewalld.service’.
[root@freelinux vinyard]# service NetworkManager stop
Redirecting to /bin/systemctl stop NetworkManager.service
[root@freelinux vinyard]# chkconfig NetworkManager off
Note: Forwarding request to ‘systemctl disable NetworkManager.service’.
[root@freelinux vinyard]# service network start
Starting network (via systemctl): [ OK ]
[root@freelinux vinyard]# chkconfig network on

1. Enable repository in CentOS (latest stable release as of this writing is Pike)

# yum install -y centos-release-openstack-pike

Sample Output:
[root@freelinux ~]# yum install -y centos-release-openstack-pike
Loaded plugins: fastestmirror

================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
centos-release-openstack-pike x86_64 1-1.el7 extras 5.3 k
Installing for dependencies:
centos-release-ceph-jewel noarch 1.0-1.el7.centos extras 4.1 k
centos-release-qemu-ev noarch 1.0-2.el7 extras 11 k
centos-release-storage-common noarch 1-2.el7.centos extras 4.5 k
centos-release-virt-common noarch 1-1.el7.centos extras 4.5 k

Transaction Summary
================================================================================
Install 1 Package (+4 Dependent packages)

Installing : centos-release-virt-common-1-1.el7.centos.noarch 1/5
Installing : centos-release-qemu-ev-1.0-2.el7.noarch 2/5
Installing : centos-release-storage-common-1-2.el7.centos.noarch 3/5
Installing : centos-release-ceph-jewel-1.0-1.el7.centos.noarch 4/5
Installing : centos-release-openstack-pike-1-1.el7.x86_64 5/5

Installed:
centos-release-openstack-pike.x86_64 0:1-1.el7

Dependency Installed:
centos-release-ceph-jewel.noarch 0:1.0-1.el7.centos
centos-release-qemu-ev.noarch 0:1.0-2.el7
centos-release-storage-common.noarch 0:1-2.el7.centos
centos-release-virt-common.noarch 0:1-1.el7.centos

Complete!

2. Update current packages

# yum update -y

[root@freelinux ~]# yum update -y
Loaded plugins: fastestmirror
centos-ceph-jewel | 2.9 kB 00:00
centos-openstack-pike | 2.9 kB 00:00
centos-qemu-ev | 2.9 kB 00:00
(2/3): centos-openstack-pi 0% [ ] 0.0 B/s | 0 B –:– ETA (2/3): centos-openstack-pi 2% [ ] 0.0 B/s | 31 kB –:– ETA (1/3): centos-qemu-ev/7/x86_64/primary_db | 33 kB 00:15
(2/3): centos-ceph-jewel/7/x86_64/primary_db | 64 kB 00:16
(3/3): centos-openstack-pi 16% [==- ] 159 kB/s | 172 kB 00:05 ETA (3/3): centos-openstack-pi 20% [=== ] 154 kB/s | 215 kB 00:05 ETA (3/3): centos-openstack-pi 26% [==== ] 153 kB/s | 280 kB 00:05 ETA (3/3): centos-openstack-pi 31% [===== ] 150 kB/s | 338 kB 00:04 ETA (3/3): centos-openstack-pi 39% [====== ] 151 kB/s | 414 kB 00:04 ETA (3/3): centos-openstack-pi 45% [======= ] 150 kB/s | 479 kB 00:03 ETA (3/3): centos-openstack-pi 53% [========- ] 155 kB/s | 571 kB 00:03 ETA (3/3): centos-openstack-pi 63% [========== ] 163 kB/s | 678 kB 00:02 ETA (3/3): centos-openstack-pi 74% [===========- ] 172 kB/s | 793 kB 00:01 ETA (3/3): centos-openstack-pi 87% [============== ] 184 kB/s | 929 kB 00:00 ETA (3/3): centos-openstack-pike/x86_64/primary_db | 963 kB 00:20
Loading mirror speeds from cached hostfile

* base: centos.usonyx.net
* extras: centos.usonyx.net
* updates: centos.usonyx.net
Resolving Dependencies
–> Running transaction check
—> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be updated
—> Package mariadb-libs.x86_64 3:10.1.20-2.el7 will be an update
–> Processing Dependency: mariadb-common(x86-64) = 3:10.1.20-2.el7 for package: 3:mariadb-libs-10.1.20-2.el7.x86_64
–> Running transaction check
—> Package mariadb-common.x86_64 3:10.1.20-2.el7 will be installed
–> Processing Dependency: /etc/my.cnf for package: 3:mariadb-common-10.1.20-2.el7.x86_64
–> Running transaction check
—> Package mariadb-config.x86_64 3:10.1.20-2.el7 will be installed
—> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be updated
—> Package mariadb-libs.x86_64 1:5.5.56-2.el7 will be updated
–> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Updating:
mariadb-libs x86_64 3:10.1.20-2.el7 centos-openstack-pike 643 k
Installing for dependencies:
mariadb-common x86_64 3:10.1.20-2.el7 centos-openstack-pike 63 k
mariadb-config x86_64 3:10.1.20-2.el7 centos-openstack-pike 26 k

Transaction Summary
================================================================================
Install ( 2 Dependent packages)
Upgrade 1 Package

Dependency Installed:
mariadb-common.x86_64 3:10.1.20-2.el7 mariadb-config.x86_64 3:10.1.20-2.el7
Updated:
mariadb-libs.x86_64 3:10.1.20-2.el7
Complete!

3. Install Openstack Packstack Installer

# yum install -y openstack-packstack

Sample output:

[root@freelinux ~]# yum install -y openstack-packstack
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.usonyx.net
* extras: centos.usonyx.net
* updates: centos.usonyx.net
Resolving Dependencies
–> Running transaction check
—> Package openstack-packstack.noarch 1:11.0.1-1.el7 will be installed
–> Processing Dependency: openstack-packstack-puppet = 1:11.0.1-1.el7 for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: pyOpenSSL >= 16.2.0 for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: python-setuptools for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: python-pbr for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: python-netifaces for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: python-netaddr for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: python-docutils for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Processing Dependency: PyYAML for package: 1:openstack-packstack-11.0.1-1.el7.noarch
–> Running transaction check
—> Package PyYAML.x86_64 0:3.10-11.el7 will be installed

Installed:
openstack-packstack.noarch 1:11.0.1-1.el7

Dependency Installed:
PyYAML.x86_64 0:3.10-11.el7
augeas-libs.x86_64 0:1.4.0-2.el7_4.2
facter.x86_64 1:2.4.4-4.el7
hiera.noarch 1:1.3.4-5.el7
jbigkit-libs.x86_64 0:2.0-11.el7
lcms2.x86_64 0:2.6-3.el7
libimagequant.x86_64 0:2.8.2-2.el7
libjpeg-turbo.x86_64 0:1.2.90-5.el7
libselinux-ruby.x86_64 0:2.5-11.el7
libtiff.x86_64 0:4.0.3-27.el7_3
libwebp.x86_64 0:0.3.0-7.el7
libyaml.x86_64 0:0.1.4-11.el7_0
openjpeg2.x86_64 0:2.1.2-1.el7
openstack-packstack-puppet.noarch 1:11.0.1-1.el7
pciutils.x86_64 0:3.5.1-2.el7
puppet.noarch 0:4.8.2-1.el7
puppet-aodh.noarch 0:11.4.0-1.el7
puppet-apache.noarch 0:2.0.0-1.e31a682git.el7
puppet-ceilometer.noarch 0:11.5.0-1.el7
puppet-certmonger.noarch 0:1.1.1-2.d09f0f2git.el7
puppet-cinder.noarch 0:11.5.0-1.el7
puppet-concat.noarch 0:4.0.1-1.b783e1egit.el7
puppet-corosync.noarch 0:5.0.0-4.527cda5git.el7
puppet-firewall.noarch 0:1.8.2-2.2f892e9git.el7
puppet-glance.noarch 0:11.5.0-1.el7
puppet-gnocchi.noarch 0:11.5.0-1.el7
puppet-heat.noarch 0:11.5.0-1.el7
puppet-horizon.noarch 0:11.5.0-1.el7
puppet-inifile.noarch 0:2.0.0-1.16fd47dgit.el7
puppet-ironic.noarch 0:11.5.0-1.el7
puppet-keystone.noarch 0:11.4.0-1.el7
puppet-magnum.noarch 0:11.3.2-1.el7
puppet-manila.noarch 0:11.4.0-1.el7
puppet-memcached.noarch 0:3.0.2-1.adf8b63git.el7
puppet-mysql.noarch 0:3.11.0-1.920dd76git.el7
puppet-neutron.noarch 0:11.5.0-1.el7
puppet-nova.noarch 0:11.5.1-1.el7
puppet-nssdb.noarch 0:1.0.1-1.el7
puppet-openstack_extras.noarch 0:11.5.0-1.el7
puppet-openstacklib.noarch 0:11.5.0-1.el7
puppet-oslo.noarch 0:11.4.0-1.el7
puppet-ovn.noarch 0:11.4.0-1.el7
puppet-panko.noarch 0:11.5.0-1.el7
puppet-rabbitmq.noarch 0:5.6.0-4.5ac45degit.el7
puppet-redis.noarch 0:3.2.0-1.8c61533git.el7
puppet-remote.noarch 0:0.0.1-3.7420908git.el7
puppet-rsync.noarch 0:0.4.0-2.295cfcegit.el7
puppet-sahara.noarch 0:11.4.0-1.el7
puppet-ssh.noarch 0:3.0.1-3.3fb5405git.el7
puppet-staging.noarch 0:1.0.4-1.b466d93git.el7
puppet-stdlib.noarch 0:4.18.0-2.el7
puppet-swift.noarch 0:11.4.0-1.el7
puppet-sysctl.noarch 0:0.0.11-1.el7
puppet-tempest.noarch 0:11.5.0-1.el7
puppet-trove.noarch 0:11.4.0-1.el7
puppet-vcsrepo.noarch 0:2.0.0-1.e3d28c6git.el7
puppet-vswitch.noarch 0:7.4.0-1.el7
puppet-xinetd.noarch 0:2.0.0-4.1d1e6d4git.el7
python-docutils.noarch 0:0.11-0.2.20130715svn7687.el7
python-enum34.noarch 0:1.0.4-1.el7
python-ipaddress.noarch 0:1.0.16-3.el7
python-netaddr.noarch 0:0.7.18-1.el7
python-netifaces.x86_64 0:0.10.4-3.el7
python-ply.noarch 0:3.4-11.el7
python-pycparser.noarch 0:2.14-1.el7
python2-cffi.x86_64 0:1.5.2-1.el7
python2-cryptography.x86_64 0:1.7.2-1.el7_4.1
python2-idna.noarch 0:2.5-1.el7
python2-olefile.noarch 0:0.44-1.el7
python2-pbr.noarch 0:3.1.1-1.el7
python2-pillow.x86_64 0:4.0.0-1.el7
python2-pyOpenSSL.noarch 0:16.2.0-3.el7
python2-pyasn1.noarch 0:0.1.9-7.el7
python2-setuptools.noarch 0:22.0.5-1.el7
python2-six.noarch 0:1.10.0-9.el7
ruby.x86_64 0:2.0.0.648-30.el7
ruby-augeas.x86_64 0:0.5.0-1.el7
ruby-irb.noarch 0:2.0.0.648-30.el7
ruby-libs.x86_64 0:2.0.0.648-30.el7
ruby-shadow.x86_64 0:1.4.1-23.el7
rubygem-bigdecimal.x86_64 0:1.2.0-30.el7
rubygem-io-console.x86_64 0:0.4.2-30.el7
rubygem-json.x86_64 0:1.7.7-30.el7
rubygem-psych.x86_64 0:2.0.0-30.el7
rubygem-rdoc.noarch 0:4.0.0-30.el7
rubygem-rgen.noarch 0:0.6.6-2.el7
rubygems.noarch 0:2.0.14.1-30.el7

Complete!

4. Install Openstack by running Packstack

#packstack –allinone

Sample output:

root@freelinux ~]# packstack –allinone
Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20180210-134441-WQ3ii9/openstack-setup.log
Packstack changed given value to required value /root/.ssh/id_rsa.pub

Installing:
Clean Up                                                                                           [ DONE ]
Discovering ip protocol version                                                        [ DONE ]
Setting up ssh keys                                                                           [ DONE ]
Preparing servers                                                                              [ DONE ]
Pre installing Puppet and discovering hosts’ details                         [ DONE ]
Preparing pre-install entries                                                              [ DONE ]
Setting up CACERT                                                                            [ DONE ]
Preparing AMQP entries                                                                   [ DONE ]
Preparing MariaDB entries                                                                [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty       [ DONE ]
Preparing Keystone entries                                                               [ DONE ]
Preparing Glance entries                                                                   [ DONE ]
Checking if the Cinder server has a cinder-volumes vg                    [ DONE ]
Preparing Cinder entries                                                                   [ DONE ]
Preparing Nova API entries                                                               [ DONE ]
Creating ssh keys for Nova migration                                               [ DONE ]
Gathering ssh host keys for Nova migration                                     [ DONE ]
Preparing Nova Compute entries                                                      [ DONE ]
Preparing Nova Scheduler entries                                                     [ DONE ]
Preparing Nova VNC Proxy entries                                                    [ DONE ]
Preparing OpenStack Network-related Nova entries                        [ DONE ]
Preparing Nova Common entries                                                      [ DONE ]
Preparing Neutron LBaaS Agent entries                                            [ DONE ]
Preparing Neutron API entries                                                           [ DONE ]
Preparing Neutron L3 entries                                                             [ DONE ]
Preparing Neutron L2 Agent entries                                                  [ DONE ]
Preparing Neutron DHCP Agent entries                                             [ DONE ]
Preparing Neutron Metering Agent entries                                        [ DONE ]
Checking if NetworkManager is enabled and running                       [ DONE ]
Preparing OpenStack Client entries                                                    [ DONE ]
Preparing Horizon entries                                                                   [ DONE ]
Preparing Swift builder entries                                                            [ DONE ]
Preparing Swift proxy entries                                                              [ DONE ]
Preparing Swift storage entries                                                            [ DONE ]
Preparing Gnocchi entries                                                                    [ DONE ]
Preparing Redis entries                                                                         [ DONE ]
Preparing Ceilometer entries                                                                 [ DONE ]
Preparing Aodh entries                                                                          [ DONE ]
Preparing Puppet manifests                                                                   [ DONE ]
Copying Puppet modules and manifests                                               [ DONE ]
Applying 192.168.1.112_controller.pp

Additional information:
* A new answerfile was created in: /root/packstack-answers-20180210-134442.txt
* Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components.
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.1.112. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.1.112/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.

5. Login to Openstack Dashboard

http://<server.ip> /dashboard

username: admin
pass:  (refer to /root/keystonerc_admin file), sample below

[root@freelinux vinyard]# cat /root/keystonerc_admin
unset OS_SERVICE_TOKEN
export OS_USERNAME=admin
export OS_PASSWORD=’4b5264f3f5674888′
export OS_AUTH_URL=http://192.168.1.112:5000/v3
export PS1='[\u@\h \W(keystone_admin)]\$ ‘

export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3

Exit mobile version