Sunday, December 7, 2014

Openstack or Open stack Installation and Configuration + Red Hat Linux

Friends,

Thanks to Red Hat for providing free download and installation option for Open Stack Implementation and giving learning opportunity. Sharing the same with all so that we can all learn this not very new but a best technology which can offer many option to reduce cost on Infrastructure and reducing the resource requirement. 

What I learn about new technology and movement towards cloud, etc. is cost cutting. which is the major cause and keeping in mind to shift the work load to the User/Client. Giving potential and idea directly to the user. "Demanded By the User, Provided To the User, Work For the User". These all comes from User's power to Pay for resource, as he understands his work better than anyone under less cost. There will be lot to say and also there will be lot to discuss from User end to IT and then again IT to User.  

Below are the steps which we would require to take to implement Open stack on your Work station/ V Centers / Oracle VMs, or even on Redhat Virt-managers. I have installed it with the help available from Red Hat and the best friend of everyone's life Mr. Google. Red Hat Provides this free evaluation version for 60 days. 

1. You need to have VMware Workstation or any Desktop level Workstation on your Laptop/desktops/HP/DELL or any machine. 
2. Install Red Hat 7 (which i have used) on your workstation with minimum 2 GB of RAM and minimum 2 cores of CPU, Disk Space 30 GB is fine (Which i have kept). Depends upon your requirement you can vary all the resources,
3. Red Hat provides Red Hat 7 ISO image, we can download the same and also we need to register for Openstack subscription and its installation. 


"Registration to Redhat site is mandatory as the Credentials will be used to install the Openstack packages and update the machine. It is like subscription for RHN satellite".  


4. As you completes your download and Subscription part, we are ready with the installation of Red Hat 7 and Openstack.
before you proceed, If you are not aware of "How to create and Install a Virtual Machine" then please click below link. else you can proceed further with the installation.

5. While completing all the basic needs of Installation of RED HAT 7, we have to keep in mind the file system structure of CENT OS 7/ Red Hat 7. i.e. Default file system which these choose is XFS file system, if you are ok with this then keep choosing the default layout of File system else you can alter the file system and choose LVM type i.e. EXT4 or EXT 3. 

6. with choosing the installation packages or repos in GUI MODE and packages. We can complete the installation. Though there is lot to say and learn about new features of Red Hat 7. We will stick now only with installation of Openstack. Once we are ready with the machine. we need to follow below steps to install and configure openstack. 

Log in to the machine using username as root perform below steps :-

login as: admin
admin@192.168.233.128's password:
Last login: Sat Dec  6 10:22:29 2014
[admin@localhost ~]$
[admin@localhost ~]$
[admin@localhost ~]$ sudo su -
[sudo] password for admin:
Last login: Sat Dec  6 11:18:29 EST 2014 on pts/0
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   22G  3.0G   17G  15% /
devtmpfs               2.0G     0  2.0G   0% /dev
tmpfs                  2.0G   88K  2.0G   1% /dev/shm
tmpfs                  2.0G  9.0M  2.0G   1% /run
tmpfs                  2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/sda1              497M  120M  378M  25% /boot
[root@localhost ~]#
[root@localhost ~]# yum clean all
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
There are no enabled repos.
 Run "yum repolist all" to see the repos you have.
 You can enable repos with yum-config-manager --enable
[root@localhost ~]#
[root@localhost ~]# cat /etc/resolv.conf
# Generated by NetworkManager
domain localdomain
search localdomain
nameserver 192.168.233.2
[root@localhost ~]#
[root@localhost ~]# vi /etc/resolv.conf
[root@localhost ~]#
[root@localhost ~]# ping google.com ----  Testing Internet connection.
PING google.com (173.194.117.104) 56(84) bytes of data.
64 bytes from sin01s17-in-f8.1e100.net (173.194.117.104): icmp_seq=1 ttl=128 time=109 ms
64 bytes from sin01s17-in-f8.1e100.net (173.194.117.104): icmp_seq=2 ttl=128 time=106 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 106.336/107.853/109.370/1.517 ms
[root@localhost ~]#
[root@localhost ~]# date
Sat Dec  6 11:20:34 EST 2014
[root@localhost ~]# subscription-manager register
Username: amit.chopra
Password:
The system has been registered with ID: 79a91a06-e182-47b7-9a51-d49625b7c2d9
[root@localhost ~]#
[root@localhost ~]#  subscription-manager subscribe --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Not Subscribed

[root@localhost ~]# subscription-manager list --consumed
No consumed subscription pools to list

"There was some issue with my credentials so i registered again and then run the same commands"

[root@localhost ~]# subscription-manager attach --pool=XYZ01234567
Pool with id XYZ01234567 could not be found.
[root@localhost ~]# subscription-manager register
This system is already registered. Use --force to override

If you have registered your machine once then you need to use "force" option to over ride the previous one with the new one like below. 
[root@localhost ~]#
[root@localhost ~]# subscription-manager subscribe --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Not Subscribed
[root@localhost ~]# subscription-manager --force register
Username: amit_chopra
Password:
The system has been registered with ID: " "
[root@localhost ~]# subscription-manager subscribe --auto
Installed Product Current Status:
Product Name: Red Hat Enterprise Linux Server
Status:       Subscribed

the above shows that we are ready to go with the installation. we are following the steps given on Red hat to furnish the Installation.

[root@localhost ~]# subscription-manager list --consumed
+-------------------------------------------+
   Consumed Subscriptions
+-------------------------------------------+
Subscription Name: 60 Day Self-Supported Red Hat Enterprise Linux OpenStack Platform Preview
Provides:          Oracle Java (for RHEL Server)
                   Red Hat Software Collections Beta (for RHEL Server)
                   Red Hat OpenStack
                   Red Hat Enterprise Linux Load Balancer (for RHEL Server)
                   Red Hat OpenStack Beta
                   Red Hat Enterprise Linux Server
                   Red Hat Enterprise MRG Messaging
                   Red Hat Beta
                   Red Hat Software Collections (for RHEL Server)
                   Red Hat Enterprise Linux High Availability (for RHEL Server)
                   Red Hat Enterprise MRG Messaging 2 for RHEL 7
SKU:               SER0406
Contract:          10592048
Account:           5530263
Serial:            7117916016893808521
Pool ID:           8a85f98149fa65f1014a11b9042377cc
Active:            True
Quantity Used:     1
Service Level:     Self-Support
Service Type:      L1-L3
Status Details:
Subscription Type: Standard
Starts:            12/03/2014
Ends:              01/31/2015
System Type:       Virtual

[root@localhost ~]# subscription-manager repos --disable=*
Repo 'rhel-7-server-rhn-tools-beta-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-v2vwin-1-debug-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-beta-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-beta-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-v2vwin-1-rpms' is disabled for this system.
Repo 'rhel-7-server-extras-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-beta-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-fastrack-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-rhn-tools-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-debug-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-debug-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-extras-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-debug-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-beta-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-fastrack-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-source-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-v2vwin-1-source-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-thirdparty-oracle-java-source-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-extras-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-fastrack-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-source-rpms' is disabled for this system.
Repo 'rhel-7-server-thirdparty-oracle-java-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-rhn-tools-debug-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-rpms' is disabled for this system.
Repo 'rhel-7-server-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-5.0-source-rpms' is disabled for this system.
Repo 'rhel-7-server-rh-common-beta-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-beta-debug-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-5.0-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-rhn-tools-rpms' is disabled for this system.
Repo 'rhel-server-rhscl-7-beta-debug-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-rhn-tools-source-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-fastrack-source-rpms' is disabled for this system.
Repo 'rhel-7-server-thirdparty-oracle-java-rpms' is disabled for this system.
Repo 'rhel-7-server-fastrack-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-5.0-rpms' is disabled for this system.
Repo 'rhel-7-server-thirdparty-oracle-java-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-fastrack-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-fastrack-source-rpms' is disabled for this system.
Repo 'rhel-ha-for-rhel-7-server-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-openstack-beta-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-rpms' is disabled for this system.
Repo 'rhel-7-server-rhn-tools-beta-source-rpms' is disabled for this system.
Repo 'rhel-7-server-fastrack-source-rpms' is disabled for this system.
Repo 'rhel-x86_64-server-7-mrg-messaging-2-source-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-rpms' is disabled for this system.
Repo 'rhel-x86_64-server-7-mrg-messaging-2-rpms' is disabled for this system.
Repo 'rhel-7-server-fastrack-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-supplementary-source-rpms' is disabled for this system.
Repo 'rhel-7-server-beta-debug-rpms' is disabled for this system.
Repo 'rhel-x86_64-server-7-mrg-messaging-2-debug-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-beta-rpms' is disabled for this system.
Repo 'rhel-7-server-optional-source-rpms' is disabled for this system.
[root@localhost ~]# subscription-manager repos --enable=rhel-7-server-rpms
Repo 'rhel-7-server-rpms' is enabled for this system.
[root@localhost ~]# subscription-manager repos --enable=rhel-7-server-optional-rpms
Repo 'rhel-7-server-optional-rpms' is enabled for this system.
[root@localhost ~]# subscription-manager repos --enable=rhel-7-server-openstack-5.0-rpms
Repo 'rhel-7-server-openstack-5.0-rpms' is enabled for this system.

Here we have disabled the extra repos which we will not be using. 

[root@localhost ~]# yum install -y yum-plugin-priorities yum-utils
Loaded plugins: langpacks, product-id, subscription-manager
rhel-7-server-openstack-5.0-rpms                                                                                                                 | 3.1 kB  00:00:00
rhel-7-server-optional-rpms                                                                                                                      | 2.9 kB  00:00:00
rhel-7-server-rpms                                                                                                                               | 3.7 kB  00:00:00
(1/3): rhel-7-server-openstack-5.0-rpms/7Server/x86_64/primary_db                                                                                | 284 kB  00:00:32
(2/3): rhel-7-server-optional-rpms/7Server/x86_64/primary_db                                                                                     | 1.8 MB  00:01:16
(3/3): rhel-7-server-rpms/7Server/x86_64/primary_db                                                                                              | 7.9 MB  00:04:16
(1/4): rhel-7-server-optional-rpms/7Server/x86_64/updateinfo                                                                                     |  98 kB  00:00:11
(2/4): rhel-7-server-openstack-5.0-rpms/7Server/x86_64/updateinfo                                                                                |  91 kB  00:00:15
(3/4): rhel-7-server-rpms/7Server/x86_64/group_gz                                                                                                | 133 kB  00:00:17
(4/4): rhel-7-server-rpms/7Server/x86_64/updateinfo                                                                                              | 132 kB  00:00:17
Resolving Dependencies
--> Running transaction check
---> Package yum-plugin-priorities.noarch 0:1.1.31-25.el7_0 will be installed
---> Package yum-utils.noarch 0:1.1.31-24.el7 will be updated
---> Package yum-utils.noarch 0:1.1.31-25.el7_0 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
 Package                                     Arch                         Version                               Repository                                         Size
========================================================================================================================================================================
Installing:
 yum-plugin-priorities                       noarch                       1.1.31-25.el7_0                       rhel-7-server-optional-rpms                        23 k
Updating:
 yum-utils                                   noarch                       1.1.31-25.el7_0                       rhel-7-server-rpms                                111 k

Transaction Summary
========================================================================================================================================================================
Install  1 Package
Upgrade  1 Package

Total download size: 134 k
Downloading packages:
No Presto metadata available for rhel-7-server-rpms
warning: /var/cache/yum/x86_64/7Server/rhel-7-server-optional-rpms/packages/yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Public key for yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm is not installed
(1/2): yum-plugin-priorities-1.1.31-25.el7_0.noarch.rpm                                                                                          |  23 kB  00:00:08
Public key for yum-utils-1.1.31-25.el7_0.noarch.rpm is not installed  89% [====================================================-      ]  43 kB/s | 120 kB  00:00:00 ETA
(2/2): yum-utils-1.1.31-25.el7_0.noarch.rpm                                                                                                      | 111 kB  00:00:09
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                    14 kB/s | 134 kB  00:00:09
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Importing GPG key 0xFD431D51:
 Userid     : "Red Hat, Inc. (release key 2) "
 Fingerprint: 567e 347a d004 4ade 55ba 8a5f 199e 2f91 fd43 1d51
 Package    : redhat-release-server-7.0-1.el7.x86_64 (@anaconda/7.0)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Importing GPG key 0x2FA658E0:
 Userid     : "Red Hat, Inc. (auxiliary key) "
 Fingerprint: 43a6 e49c 4a38 f4be 9abf 2a53 4568 9c88 2fa6 58e0
 Package    : redhat-release-server-7.0-1.el7.x86_64 (@anaconda/7.0)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : yum-utils-1.1.31-25.el7_0.noarch                                                                                                                     1/3
  Installing : yum-plugin-priorities-1.1.31-25.el7_0.noarch                                                                                                         2/3
  Cleanup    : yum-utils-1.1.31-24.el7.noarch                                                                                                                       3/3
rhel-7-server-openstack-5.0-rpms/7Server/x86_64/productid                                                                                        | 1.7 kB  00:00:00
rhel-7-server-rpms/7Server/x86_64/productid                                                                                                      | 1.7 kB  00:00:00
  Verifying  : yum-plugin-priorities-1.1.31-25.el7_0.noarch                                                                                                         1/3
  Verifying  : yum-utils-1.1.31-25.el7_0.noarch                                                                                                                     2/3
  Verifying  : yum-utils-1.1.31-24.el7.noarch                                                                                                                       3/3

Installed:
  yum-plugin-priorities.noarch 0:1.1.31-25.el7_0

Updated:
  yum-utils.noarch 0:1.1.31-25.el7_0

Complete!
[root@localhost ~]# yum-config-manager --setopt=”rhel-7-server-openstack-5.0-rpms.priority=1” --enable rhel-7-server-openstack-5.0-rpms
Loaded plugins: langpacks, priorities, product-id
================================================================ repo: rhel-7-server-openstack-5.0-rpms ================================================================
[rhel-7-server-openstack-5.0-rpms]
async = True
bandwidth = 0
base_persistdir = /var/lib/yum/repos/x86_64/7Server
baseurl = https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/openstack/5.0/os
cache = 0
cachedir = /var/cache/yum/x86_64/7Server/rhel-7-server-openstack-5.0-rpms
check_config_file_age = True
cost = 1000
deltarpm_metadata_percentage = 100
deltarpm_percentage =
enabled = True
enablegroups = True
exclude =
failovermethod = priority
gpgcadir = /var/lib/yum/repos/x86_64/7Server/rhel-7-server-openstack-5.0-rpms/gpgcadir
gpgcakey =
gpgcheck = True
gpgdir = /var/lib/yum/repos/x86_64/7Server/rhel-7-server-openstack-5.0-rpms/gpgdir
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
hdrdir = /var/cache/yum/x86_64/7Server/rhel-7-server-openstack-5.0-rpms/headers
http_caching = all
includepkgs =
ip_resolve =
keepalive = True
keepcache = False
mddownloadpolicy = sqlite
mdpolicy = group:small
mediaid =
metadata_expire = 86400
metadata_expire_filter = read-only:present
metalink =
minrate = 0
mirrorlist =
mirrorlist_expire = 86400
name = Red Hat OpenStack 5.0 for RHEL 7 (RPMs)
old_base_cache_dir =
password =
persistdir = /var/lib/yum/repos/x86_64/7Server/rhel-7-server-openstack-5.0-rpms
pkgdir = /var/cache/yum/x86_64/7Server/rhel-7-server-openstack-5.0-rpms/packages
priority = 99
proxy = False
proxy_dict =
proxy_password =
proxy_username =
repo_gpgcheck = False
retries = 10
skip_if_unavailable = False
ssl_check_cert_permissions = True
sslcacert = /etc/rhsm/ca/redhat-uep.pem
sslclientcert = /etc/pki/entitlement/7117916016893808521.pem
sslclientkey = /etc/pki/entitlement/7117916016893808521-key.pem
sslverify = True
throttle = 0
timeout = 30.0
ui_id = rhel-7-server-openstack-5.0-rpms/7Server/x86_64
ui_repoid_vars = releasever,
   basearch
username =

[root@localhost ~]# yum update -y
Loaded plugins: langpacks, priorities, product-id, subscription-manager
rhel-7-server-openstack-5.0-rpms                                                                                                                 | 3.1 kB  00:00:00
rhel-7-server-optional-rpms                                                                
As update completes, kindly disable the NetWorkManager i.e. DHCP and reboot the machine. 

 Replaced:
  libcacard.x86_64 10:1.5.3-60.el7        qemu-img.x86_64 10:1.5.3-60.el7        qemu-kvm.x86_64 10:1.5.3-60.el7        qemu-kvm-common.x86_64 10:1.5.3-60.el

Complete!
[root@localhost ~]# systemctl disable NetworkManager
rm '/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service'
rm '/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service'
rm '/etc/systemd/system/multi-user.target.wants/NetworkManager.service'
[root@localhost ~]# reboot
Terminated

------------

Log in again and run below commands :-

[root@localhost ~]# yum install -y openstack-packstack
Loaded plugins: langpacks, priorities, product-id, subscription-manager

this command may not complete successfully due to different errors so request you to run this thrice or four times to confirm that all packages are installed and verified. In my fourth attempt all packages got successfully installed. 

[root@localhost ~]# yum install -y openstack-packstack
Loaded plugins: langpacks, priorities, product-id, subscription-manager
[Errno -2] Name or service not known
Resolving Dependencies
--> Running transaction check
---> Package openstack-packstack.noarch 0:2014.1.1-0.44.dev1251.el7ost will be installed
--> Processing Dependency: openstack-packstack-puppet = 2014.1.1-0.44.dev1251.el7ost for package: openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch
--> Processing Dependency: python-netaddr for package: openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch
--> Processing Dependency: openstack-puppet-modules for package: openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch
--> Running transaction check
---> Package openstack-packstack-puppet.noarch 0:2014.1.1-0.44.dev1251.el7ost will be installed
---> Package openstack-puppet-modules.noarch 0:2014.1.1-1.el7ost will be installed
--> Processing Dependency: rubygem-json for package: openstack-puppet-modules-2014.1.1-1.el7ost.noarch
---> Package python-netaddr.noarch 0:0.7.5-7.el7 will be installed
--> Running transaction check
---> Package rubygem-json.x86_64 0:1.7.7-22.el7_0 will be installed
--> Processing Dependency: ruby(rubygems) >= 2.0.14 for package: rubygem-json-1.7.7-22.el7_0.x86_64
--> Processing Dependency: ruby(release) for package: rubygem-json-1.7.7-22.el7_0.x86_64
--> Processing Dependency: libruby.so.2.0()(64bit) for package: rubygem-json-1.7.7-22.el7_0.x86_64
--> Running transaction check
---> Package ruby-libs.x86_64 0:2.0.0.353-22.el7_0 will be installed
---> Package rubygems.noarch 0:2.0.14-22.el7_0 will be installed
--> Processing Dependency: rubygem(rdoc) >= 4.0.0 for package: rubygems-2.0.14-22.el7_0.noarch
--> Processing Dependency: rubygem(psych) >= 2.0.0 for package: rubygems-2.0.14-22.el7_0.noarch
--> Processing Dependency: rubygem(io-console) >= 0.4.2 for package: rubygems-2.0.14-22.el7_0.noarch
--> Processing Dependency: /usr/bin/ruby for package: rubygems-2.0.14-22.el7_0.noarch
--> Running transaction check
---> Package ruby.x86_64 0:2.0.0.353-22.el7_0 will be installed
--> Processing Dependency: rubygem(bigdecimal) >= 1.2.0 for package: ruby-2.0.0.353-22.el7_0.x86_64
---> Package rubygem-io-console.x86_64 0:0.4.2-22.el7_0 will be installed
---> Package rubygem-psych.x86_64 0:2.0.0-22.el7_0 will be installed
--> Processing Dependency: libyaml-0.so.2()(64bit) for package: rubygem-psych-2.0.0-22.el7_0.x86_64
---> Package rubygem-rdoc.noarch 0:4.0.0-22.el7_0 will be installed
--> Processing Dependency: ruby(irb) = 2.0.0.353 for package: rubygem-rdoc-4.0.0-22.el7_0.noarch
--> Running transaction check
---> Package libyaml.x86_64 0:0.1.4-10.el7 will be installed
---> Package ruby-irb.noarch 0:2.0.0.353-22.el7_0 will be installed
---> Package rubygem-bigdecimal.x86_64 0:1.2.0-22.el7_0 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================================================
 Package                                    Arch                   Version                                       Repository                                        Size
========================================================================================================================================================================
Installing:
 openstack-packstack                        noarch                 2014.1.1-0.44.dev1251.el7ost                  rhel-7-server-openstack-5.0-rpms                 205 k
Installing for dependencies:
 libyaml                                    x86_64                 0.1.4-10.el7                                  rhel-7-server-rpms                                55 k
 openstack-packstack-puppet                 noarch                 2014.1.1-0.44.dev1251.el7ost                  rhel-7-server-openstack-5.0-rpms                  44 k
 openstack-puppet-modules                   noarch                 2014.1.1-1.el7ost                             rhel-7-server-openstack-5.0-rpms                 1.3 M
 python-netaddr                             noarch                 0.7.5-7.el7                                   rhel-7-server-rpms                               983 k
 ruby                                       x86_64                 2.0.0.353-22.el7_0                            rhel-7-server-rpms                                66 k
 ruby-irb                                   noarch                 2.0.0.353-22.el7_0                            rhel-7-server-rpms                                87 k
 ruby-libs                                  x86_64                 2.0.0.353-22.el7_0                            rhel-7-server-rpms                               2.8 M
 rubygem-bigdecimal                         x86_64                 1.2.0-22.el7_0                                rhel-7-server-rpms                                78 k
 rubygem-io-console                         x86_64                 0.4.2-22.el7_0                                rhel-7-server-rpms                                49 k
 rubygem-json                               x86_64                 1.7.7-22.el7_0                                rhel-7-server-rpms                                75 k
 rubygem-psych                              x86_64                 2.0.0-22.el7_0                                rhel-7-server-rpms                                76 k
 rubygem-rdoc                               noarch                 4.0.0-22.el7_0                                rhel-7-server-rpms                               317 k
 rubygems                                   noarch                 2.0.14-22.el7_0                               rhel-7-server-rpms                               211 k

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

Total size: 6.2 M
Total download size: 304 k
Installed size: 22 M
Downloading packages:
No Presto metadata available for rhel-7-server-rpms
No Presto metadata available for rhel-7-server-openstack-5.0-rpms
libyaml-0.1.4-10.el7.x86_64.rp FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/os/Packages/libyaml-0.1.4-10.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
openstack-packstack-puppet-201 FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/openstack/5.0/os/Packages/openstack-packstack-puppet-2014.1.1-0.44.dev1251.el7ost.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
openstack-packstack-2014.1.1-0 FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/openstack/5.0/os/Packages/openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
libyaml-0.1.4-10.el7.x86_64.rp FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/os/Packages/libyaml-0.1.4-10.el7.x86_64.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
openstack-packstack-puppet-201 FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/openstack/5.0/os/Packages/openstack-packstack-puppet-2014.1.1-0.44.dev1251.el7ost.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
(1/3): libyaml-0.1.4-10.el7.x86_64.rpm                                                                                                           |  55 kB  00:00:02
openstack-packstack-2014.1.1-0 FAILED
https://cdn.redhat.com/content/dist/rhel/server/7/7Server/x86_64/openstack/5.0/os/Packages/openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch.rpm: [Errno 14] curl#7 - "Failed connect to cdn.redhat.com:443; Connection refused"
Trying other mirror.
(2/3): openstack-packstack-puppet-2014.1.1-0.44.dev1251.el7ost.noarch.rpm                                                                        |  44 kB  00:00:02
(3/3): openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch.rpm                                                                               | 205 kB  00:00:06
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                   4.2 kB/s | 304 kB  00:01:12
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : ruby-libs-2.0.0.353-22.el7_0.x86_64                                                                                                                 1/14
  Installing : python-netaddr-0.7.5-7.el7.noarch                                                                                                                   2/14
  Installing : openstack-packstack-puppet-2014.1.1-0.44.dev1251.el7ost.noarch                                                                                      3/14
  Installing : libyaml-0.1.4-10.el7.x86_64                                                                                                                         4/14
  Installing : ruby-irb-2.0.0.353-22.el7_0.noarch                                                                                                                  5/14
  Installing : ruby-2.0.0.353-22.el7_0.x86_64                                                                                                                      6/14
  Installing : rubygem-bigdecimal-1.2.0-22.el7_0.x86_64                                                                                                            7/14
  Installing : rubygem-json-1.7.7-22.el7_0.x86_64                                                                                                                  8/14
  Installing : rubygem-io-console-0.4.2-22.el7_0.x86_64                                                                                                            9/14
  Installing : rubygem-rdoc-4.0.0-22.el7_0.noarch                                                                                                                 10/14
  Installing : rubygems-2.0.14-22.el7_0.noarch                                                                                                                    11/14
  Installing : rubygem-psych-2.0.0-22.el7_0.x86_64                                                                                                                12/14
  Installing : openstack-puppet-modules-2014.1.1-1.el7ost.noarch                                                                                                  13/14
  Installing : openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch                                                                                            14/14
  Verifying  : rubygem-psych-2.0.0-22.el7_0.x86_64                                                                                                                 1/14
  Verifying  : ruby-irb-2.0.0.353-22.el7_0.noarch                                                                                                                  2/14
  Verifying  : libyaml-0.1.4-10.el7.x86_64                                                                                                                         3/14
  Verifying  : ruby-2.0.0.353-22.el7_0.x86_64                                                                                                                      4/14
  Verifying  : ruby-libs-2.0.0.353-22.el7_0.x86_64                                                                                                                 5/14
  Verifying  : rubygem-bigdecimal-1.2.0-22.el7_0.x86_64                                                                                                            6/14
  Verifying  : rubygem-json-1.7.7-22.el7_0.x86_64                                                                                                                  7/14
  Verifying  : rubygem-io-console-0.4.2-22.el7_0.x86_64                                                                                                            8/14
  Verifying  : openstack-packstack-puppet-2014.1.1-0.44.dev1251.el7ost.noarch                                                                                      9/14
  Verifying  : openstack-packstack-2014.1.1-0.44.dev1251.el7ost.noarch                                                                                            10/14
  Verifying  : rubygem-rdoc-4.0.0-22.el7_0.noarch                                                                                                                 11/14
  Verifying  : rubygems-2.0.14-22.el7_0.noarch                                                                                                                    12/14
  Verifying  : openstack-puppet-modules-2014.1.1-1.el7ost.noarch                                                                                                  13/14
  Verifying  : python-netaddr-0.7.5-7.el7.noarch                                                                                                                  14/14

Installed:
  openstack-packstack.noarch 0:2014.1.1-0.44.dev1251.el7ost

Dependency Installed:
  libyaml.x86_64 0:0.1.4-10.el7             openstack-packstack-puppet.noarch 0:2014.1.1-0.44.dev1251.el7ost     openstack-puppet-modules.noarch 0:2014.1.1-1.el7ost
  python-netaddr.noarch 0:0.7.5-7.el7       ruby.x86_64 0:2.0.0.353-22.el7_0                                     ruby-irb.noarch 0:2.0.0.353-22.el7_0
  ruby-libs.x86_64 0:2.0.0.353-22.el7_0     rubygem-bigdecimal.x86_64 0:1.2.0-22.el7_0                           rubygem-io-console.x86_64 0:0.4.2-22.el7_0
  rubygem-json.x86_64 0:1.7.7-22.el7_0      rubygem-psych.x86_64 0:2.0.0-22.el7_0                                rubygem-rdoc.noarch 0:4.0.0-22.el7_0
  rubygems.noarch 0:2.0.14-22.el7_0

 complete!.

Once these steps complete we will run our last command to get to go with the Openstack. 

[root@localhost ~]# packstack --allinone
Welcome to Installer setup utility
Packstack changed given value  to required value /root/.ssh/id_rsa.pub

Installing:
Clean Up                                             [ DONE ]
Setting up ssh keys                                  [ DONE ]
Discovering hosts' details                           [ DONE ]
Adding pre install manifest entries                  [ DONE ]
Preparing servers                                    [ DONE ]
Adding AMQP manifest entries                         [ DONE ]
Adding MariaDB manifest entries                      [ DONE ]
Adding Keystone manifest entries                     [ DONE ]
Adding Glance Keystone manifest entries              [ DONE ]
Adding Glance manifest entries                       [ DONE ]
Adding Cinder Keystone manifest entries              [ DONE ]
Adding Cinder manifest entries                       [ DONE ]

Checking if the Cinder server has a cinder-volumes vg[ 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 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 LBaaS Agent manifest entries          [ DONE ]
Adding Neutron Metering Agent manifest entries       [ DONE ]
Adding Neutron Metadata 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 Demo manifest entries            [ DONE ]
Adding Provisioning Glance manifest entries          [ DONE ]
Adding MongoDB manifest entries                      [ DONE ]
Adding Ceilometer manifest entries                   [ DONE ]
Adding Ceilometer Keystone manifest entries          [ DONE ]
Adding Nagios server manifest entries                [ DONE ]
Adding Nagios host manifest entries                  [ DONE ]
Adding post install manifest entries                 [ DONE ]
Installing Dependencies                              [ DONE ]
Copying Puppet modules and manifests                 [ DONE ]
Applying 192.168.233.128_prescript.pp
192.168.233.128_prescript.pp:                        [ DONE ]
Applying 192.168.233.128_amqp.pp
Applying 192.168.233.128_mariadb.pp
192.168.233.128_amqp.pp:                             [ DONE ]
192.168.233.128_mariadb.pp:                          [ DONE ]
Applying 192.168.233.128_keystone.pp
Applying 192.168.233.128_glance.pp
Applying 192.168.233.128_cinder.pp
192.168.233.128_keystone.pp:                         [ DONE ]
192.168.233.128_glance.pp:                           [ DONE ]
192.168.233.128_cinder.pp:                           [ DONE ]
Applying 192.168.233.128_api_nova.pp
192.168.233.128_api_nova.pp:                         [ DONE ]
Applying 192.168.233.128_nova.pp
192.168.233.128_nova.pp:                             [ DONE ]
Applying 192.168.233.128_neutron.pp
192.168.233.128_neutron.pp:                          [ DONE ]
Applying 192.168.233.128_neutron_fwaas.pp
Applying 192.168.233.128_osclient.pp
Applying 192.168.233.128_horizon.pp
192.168.233.128_neutron_fwaas.pp:                    [ DONE ]
192.168.233.128_horizon.pp:                          [ DONE ]
192.168.233.128_osclient.pp:                         [ DONE ]
Applying 192.168.233.128_ring_swift.pp
192.168.233.128_ring_swift.pp:                       [ DONE ]
Applying 192.168.233.128_swift.pp
Applying 192.168.233.128_provision_demo.pp
Applying 192.168.233.128_provision_glance.pp
192.168.233.128_swift.pp:                            [ DONE ]
192.168.233.128_provision_demo.pp:                   [ DONE ]
192.168.233.128_provision_glance.pp:              [ ERROR ]
Applying Puppet manifests                         [ ERROR ]

ERROR : Error appeared during Puppet run: 192.168.233.128_provision_glance.pp
Error: Execution of '/usr/bin/glance -T services -I glance -K 36df093044c34502 -N http://192.168.233.128:35357/v2.0/ image-create --name=cirros --is-public=Yes --container-format=bare --disk-format=qcow2 --copy-from=http://download.cirros-cloud.net/0.3.1/cirros-0.3.1-x86_64-disk.img' returned 1: 400 Bad Request
You will find full trace in log /var/tmp/packstack/20141206-142143-zQzqKD/manifests/192.168.233.128_provision_glance.pp.log
Please check log file /var/tmp/packstack/20141206-142143-zQzqKD/openstack-setup.log for more information

Additional information:
 * A new answerfile was created in: /root/packstack-answers-20141206-142143.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.233.128. To use the command line tools you need to source the file.
 * To access the OpenStack Dashboard browse to http://192.168.233.128/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
 * To use Nagios, browse to http://192.168.233.128/nagios username: nagiosadmin, password: 59a6a067fb6643f0
[root@localhost ~]#

Above error disappointed me, but later when i ignored these error and open the dashboard mentioned above in bold worked fine. 

Once we open the same with explorer or chrome or mozilla. it looked fine to go with. below is teh scree shot. 


login with the credentials available in root's home directory. you will get below screen.


Installation and configuration part completes here. 

Now we can create images, upload ISO images and create the instance using the same. Configure Network, Storage, etc. For all rest we have to study open stack more and bring the same in use. I would like to say thanks to you all for reading this document and keep learning and sharing knowledge. 


Love Sharing
Amit Chopra


Wednesday, September 10, 2014

Dreams of House and Cars, and we are done !!!!

Now a days media is making people not to have any dream except a house and a car here ... Do humans on earth have only this dream or need and don't they have or can't they have any dream except these two... Media please also help in building career and dreaming some people to become and find a perfect human being inside them... Yes i know These will Not Pay to the Media.. 

Thought of the day

Success stops when we stops failing.... 

Love sharing
Amit Chopra 

Tuesday, June 24, 2014

Breaking things is a disease

Breaking things is a disease. Mostly found in humans till he self creates it and knows and pays the exact cost. 


Love sharing 
Amit Chopra 

Sunday, June 15, 2014

Reducing Root LV EXT3 + Linux

Dear Friends,

Had worked on reducing the root file system some days back. So sharing the experience of the same.

A. Our Aim is to reduce the root file system, which is in EXT3. We also have other file systems, need to be reduced to free the space, but they are not allowing us to reduce the same online. All File systems are in EXT3.
B. Name of the file systems are /home, /var, /opt, and root i.e. / .
C. All of the above are not allowing us to unmount them.


 /dev/mapper/VolGroup-LogVol00
 /dev/mapper/VolGroup-LogVol02
 /dev/mapper/VolGroup-LogVol04
 /dev/mapper/VolGroup-LogVol06


Request you to please note down the name of the file system on paper as we may not be able to recall the complete path in RESCUE MODE.

E. Once checked, We can again check status using umount /opt, etc. It will say the message.

FILE SYSTEM/MOUNT POINTS are busy cannot umount.

or

umount: /: device is busy
umount: /var: device is busy
umount: /home: device is busy

F. Now to reduce them, take proper Downtime of the server, Take complete backup of the server. if in case things goes wrong. Then we will be having plan B.

G. Once all done,  We are given approvals Get Set go to reduce the mount points in RESCUE MODE.

H. TO go into RESCUE MODE, We should have a Boot Able DVD, or Boot Able USB.

I. Insert the DVD, Reboot the system, once installation screen appears, press F5.

J. Write LINUX RESCUE on the prompt.
the system will start booting to rescue mode, I have experienced some times the server/system doesn't go in rescue mode in one go. so friends don't panic. Boot up the system again using CTRL+ALT+DEL.
and follow step I and J again.

K. Once server start booting, it will show blue screen Asking for Language selection, {at the same time it will show the heading as LINUX RESCUE also, Friends as it is DVD part which is booting up, not the Hard disk}.
 It will show next screen for switching on NFS {skip this step/NO},
Now it will ask for whether File system to be mounted. Select NO.
 Server/System will bring to the prompt  #, at the same time.

L. Now we can run commands like, df -hT, e2fsck -y, lvm, etc. those we need.

M. Now run commands,

#LVM
#lvm vgchange -a y VolGroup00 ----  It will show VG is active state now.

Now run

#e2fsck -y /dev/mapper/VolGrooupLogVol00

It will do five checks. Once all done successfully.

#resize2fs "name of the file system" "Size need to be set"

Now run lvreduce

#lvm lvreduce -L "size need to be set" "name of the file system"

example :- #lvm lvreduce -L 10G /dev/mapper/VolGroupLvol00

Similar process to reduce other file systems. Do these steps carefully as extension of LV doesn't harm but reduction of the same can corrupt the file system and can also cause Data lose.

* I have tried to reduce the /opt and /home in single user mode or init 1. they were successfully reduced from there. You can also do the same from rescue mode.

once all done, reboot.

The system will be up and running with the desired reduced size.

Precaution :-

a. Take backup of the server/system. Complete backup/Snap shot will be best option in case of VM.
b. Note down the name of the File systems need to be reduced so that no confusion occurs at the time of activity.
c. Never run the command lvreduce without unmouting and running e2fsck, resize2fs before. If you have done this then we have to bring the same size back to earlier size, we can check the same from file ----------- /etc/lvm/backup/VolGroup00. extend the file system using "lvextend -L ....."  and then run resize2fs /dev/mapper/VolGroup-LogVol##. Then again reduce the same using proper steps.
d. Try to reduce to a specific figure till where you feel safe "For those who are starting working new on LVM.
e. Also request you to keep in mind the Logical extents of the logical Volume.
f. There is a way we can check using command "tune2fs -l "name of the filesystem" " whether the file system can be reduced online or in multiple user mode i.e. init 3.
else We can also check with un-mounting the File system after following proper way and process. 

tune2fs -l /dev/mapper/VolGroup-LogVol00

tune2fs -l  /dev/mapper/VolGroup-LogVol02

tune2fs -l /dev/mapper/VolGroup-LogVol04

tune2fs -l /dev/mapper/VolGroup-LogVol06



Please do correct me and if need to edit some steps.... All comments are welcome as learning is our goal. 




Thanks & Love Sharing
Amit Chopra