openstack-logoOpenStack merupakan salah satu teknologi cloud computing yang banyak dikembangkan dan diterapkan oleh berbagai lembaga, perusahaan, serta organisasi non profit untuk mendukung High Availability, Reliability dan Scalability dalam pemenuhan serta pengingkatan kualitas layanan dengan dapat memungkinkan proses integrasi resource yang sangat tinggi, mulai dari hardware, network, storage dan lainnya. Detail informasi, dokumentasi serta terminologi service atau layanannya dapat diketahui dan ditemukan melalui situs resmi pengembangan projek OpenStack.org tersebut.

Prerequisites

Artikel ini merupakan dokumentasi instalasi OpenStack dengan kondisi infrastruktur yang masih Single Node atau masih menggunakan satu fisik server beserta dengan detail ip address nya yaitu 192.168.137.2/24 dan dengan menggunakan spesifikasi hardwarenya sebagai berikut.

Prosesor : Intel Core i7-870 @ 2.93 GHz
Storage : 1x 500 GB Hardisk Drive (HDD)
Memory : 2x 4 GB DDR3
Network Interface Card : 1x GigabitEthernet
Operating System : GNU/Linux CentOS 7.2.1151 x86_64 (64 bit)

Rekomendasi Sistem Operasi minimum menggunkan Red Hat Enterprise Linux (RHEL) 7 atau dengan versi turunannya seperti CentOS 7 dan Scientific Linux 7 dengan arsitektur x86_64 atau 64 bit, minimum memory 4 GB, prosesor yang sudah mendukung teknologi virtualisasi serta memiliki minimal satu network interface card.

Instalasi

Proses instalasi paket beserta dengan dependensisnya menggunakan perintah yum terhadap server repositori rdoproject.org. Apabila menggunakan sistem operasi GNU/Linux RHEL 7 maka perlu ditambahkan terlebih dahulu server repositori RDO Project tersebut dengan instalasi paket binary file RPM nya melalui perintah yum sebagai berikut.

[root@openstack~]# yum install -y https://www.rdoproject.org/repos/rdo-release.rpm

Namun apabila menggunakan GNU/Linux CentOS 7 terdapat extras repository yang sudah menyediakan paket RPM untuk proses aktifasi OpenStack Repository. Extras repository tersebut sudah aktif secara default didalam GNU/Linux CentOS 7. Proses instalasi RPM untuk konfigurasi OpenStack repository dapat menggunakan perintah yum sebagai berikut.

[root@openstack~]# yum install -y centos-release-openstack-mitaka

Update setiap paket yang telah terinstall di sisi node server terhadap repository server dengan masih menggunakan pertinah yum sebagai berikut.

[root@openstack~]# yum -y update

Install packstack yang berfungsi sebagai utilitas OpenStack installer untuk penerapan Cloud Computing (proof of concept) dalam infrastruktur satu node. Packstack tersebut juga dapat difungsikan untuk penambahan node server sebagai penerapan More High Availabe, More Reliable and More Scalable Cloud Computing dalam infrastruktur Multi Node.

[root@openstack~]# yum install -y openstack-packstack

Setelah packstack terinstall maka selanjutnya proses instalasi OpenStack dalam satu server atau single node.

[root@openstack~]# packstack --allinone

Hasil dari proses instalasinya adalah sebagai berikut.

Welcome to the Packstack setup utility

The installation log file is available at: /var/tmp/packstack/20160522-104632-BmyCK0/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 ]
Adding pre install manifest entries                  [ DONE ]
Setting up CACERT                                    [ DONE ]
Adding AMQP manifest entries                         [ DONE ]
Adding MariaDB manifest entries                      [ DONE ]
Adding Apache manifest entries                       [ DONE ]
Fixing Keystone LDAP config parameters to be undef if empty[ DONE ]
Adding Keystone manifest entries                     [ DONE ]
Adding Glance Keystone manifest entries              [ DONE ]
Adding Glance manifest entries                       [ DONE ]
Adding Cinder Keystone manifest entries              [ DONE ]
Checking if the Cinder server has a cinder-volumes vg[ DONE ]
Adding Cinder manifest entries                       [ DONE ]
Adding Nova API manifest entries                     [ DONE ]
Adding Nova Keystone manifest entries                [ DONE ]
Adding Nova Cert manifest entries                    [ DONE ]
Adding Nova Conductor manifest entries               [ DONE ]
Creating ssh keys for Nova migration                 [ DONE ]
Gathering ssh host keys for Nova migration           [ DONE ]
Adding Nova Compute manifest entries                 [ DONE ]
Adding Nova Scheduler manifest entries               [ DONE ]
Adding Nova VNC Proxy manifest entries               [ DONE ]
Adding OpenStack Network-related Nova manifest entries[ DONE ]
Adding Nova Common manifest entries                  [ DONE ]
Adding Neutron VPNaaS Agent manifest entries         [ DONE ]
Adding Neutron FWaaS Agent manifest entries          [ DONE ]
Adding Neutron LBaaS Agent manifest entries          [ DONE ]
Adding Neutron API manifest entries                  [ DONE ]
Adding Neutron Keystone manifest entries             [ DONE ]
Adding Neutron L3 manifest entries                   [ DONE ]
Adding Neutron L2 Agent manifest entries             [ DONE ]
Adding Neutron DHCP Agent manifest entries           [ DONE ]
Adding Neutron Metering Agent manifest entries       [ DONE ]
Adding Neutron Metadata Agent manifest entries       [ DONE ]
Adding Neutron SR-IOV Switch Agent manifest entries  [ DONE ]
Checking if NetworkManager is enabled and running    [ DONE ]
Adding OpenStack Client manifest entries             [ DONE ]
Adding Horizon manifest entries                      [ DONE ]
Adding Swift Keystone manifest entries               [ DONE ]
Adding Swift builder manifest entries                [ DONE ]
Adding Swift proxy manifest entries                  [ DONE ]
Adding Swift storage manifest entries                [ DONE ]
Adding Swift common manifest entries                 [ DONE ]
Adding Provisioning manifest entries                 [ DONE ]
Adding Provisioning Glance manifest entries          [ DONE ]
Adding Provisioning Demo bridge manifest entries     [ DONE ]
Adding Gnocchi manifest entries                      [ DONE ]
Adding Gnocchi Keystone manifest entries             [ DONE ]
Adding MongoDB manifest entries                      [ DONE ]
Adding Redis manifest entries                        [ DONE ]
Adding Ceilometer manifest entries                   [ DONE ]
Adding Ceilometer Keystone manifest entries          [ DONE ]
Adding Aodh manifest entries                         [ DONE ]
Adding Aodh Keystone manifest entries                [ DONE ]
Adding Nagios server manifest entries                [ DONE ]
Adding Nagios host manifest entries                  [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.137.2_prescript.pp
192.168.137.2_prescript.pp:                          [ DONE ]
Applying 192.168.137.2_amqp.pp
Applying 192.168.137.2_mariadb.pp
192.168.137.2_amqp.pp:                               [ DONE ]
192.168.137.2_mariadb.pp:                            [ DONE ]
Applying 192.168.137.2_apache.pp
192.168.137.2_apache.pp:                             [ DONE ]
Applying 192.168.137.2_keystone.pp
Applying 192.168.137.2_glance.pp
Applying 192.168.137.2_cinder.pp
192.168.137.2_keystone.pp:                           [ DONE ]
192.168.137.2_glance.pp:                             [ DONE ]
192.168.137.2_cinder.pp:                             [ DONE ]
Applying 192.168.137.2_api_nova.pp
192.168.137.2_api_nova.pp:                           [ DONE ]
Applying 192.168.137.2_nova.pp
192.168.137.2_nova.pp:                               [ DONE ]
Applying 192.168.137.2_neutron.pp
192.168.137.2_neutron.pp:                            [ DONE ]
Applying 192.168.137.2_osclient.pp
Applying 192.168.137.2_horizon.pp
192.168.137.2_osclient.pp:                           [ DONE ]
192.168.137.2_horizon.pp:                            [ DONE ]
Applying 192.168.137.2_ring_swift.pp
192.168.137.2_ring_swift.pp:                         [ DONE ]
Applying 192.168.137.2_swift.pp
192.168.137.2_swift.pp:                              [ DONE ]
Applying 192.168.137.2_provision.pp
Applying 192.168.137.2_provision_glance
192.168.137.2_provision.pp:                          [ DONE ]
192.168.137.2_provision_glance:                      [ DONE ]
Applying 192.168.137.2_provision_bridge.pp
192.168.137.2_provision_bridge.pp:                   [ DONE ]
Applying 192.168.137.2_gnocchi.pp
192.168.137.2_gnocchi.pp:                            [ DONE ]
Applying 192.168.137.2_mongodb.pp
Applying 192.168.137.2_redis.pp
192.168.137.2_mongodb.pp:                            [ DONE ]
192.168.137.2_redis.pp:                              [ DONE ]
Applying 192.168.137.2_ceilometer.pp
192.168.137.2_ceilometer.pp:                         [ DONE ]
Applying 192.168.137.2_aodh.pp
192.168.137.2_aodh.pp:                               [ DONE ]
Applying 192.168.137.2_nagios.pp
Applying 192.168.137.2_nagios_nrpe.pp
192.168.137.2_nagios.pp:                             [ DONE ]
192.168.137.2_nagios_nrpe.pp:                        [ DONE ]
Applying Puppet manifests                            [ DONE ]
Finalizing                                           [ DONE ]

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

Additional information:
 * A new answerfile was created in: /root/packstack-answers-20160522-165300.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 192.168.137.2. 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 192.168.137.2. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.137.2/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * To use Nagios, browse to http://192.168.137.2/nagios username: nagiosadmin, password: 5bef4204f1c14bc9
 * Because of the kernel update the host 192.168.137.2 requires reboot.
 * The installation log file is available at: /var/tmp/packstack/20160522-165259-Agh8rR/openstack-setup.log
 * The generated manifests are available at: /var/tmp/packstack/20160522-165259-Agh8rR/manifests

File /root/packstack-answers-20160522-165300.txt berisi informasi konfigurasi OpenStack beserta dengan login credential yang dapat digunakan kembali apabila suatu kondisi memungkinkan untuk menggunakan informasi login credential terdahulu seperti passwd yang telah tersimpan di dalam file tersebut dengan menggunakan perintah sebagai berikut.

[root@openstack~]# packstack --answer-file=/root/packstack-answers-20160522-165300.txt

Akses Dashboard

Instalasi OpenStack Single Node telah diproses. OpenStack Management mulai dari management user, project, network, hypervisor, deploy instance atau yang biasa disebut dengan virtual machine berbasis cloud, serta penerapan fitur Infrastructure as s Services (IaaS) lainnya sudah dapat diproses melalui Graphical User Interface (GUI) berbasis web melalui Web Panel atau OpenStack Dashboard yang dapat diakses melalui URL http://192.168.137.2/dashboard dengan menggunakan username default nya adalah admin beserta dengan informasi passwordnya yang dapat diketahui melalui /root/keystonerc_admin.

opstack1

opstack2