Installation of Three node OpenStack Queens Cluster – Part Ten

Posted on 90 views

Create and Start Virtual Machine Instance ad Installation of Horizon

Step One: Log in with a new user we created earlier in the system and let us get going on with creating an instance

[[email protected] ~(keystone)]# su - tech ##use your username
 [[email protected] ~]$
 [[email protected] ~]$ vim ~/keystonerc
 export OS_PROJECT_DOMAIN_NAME=default
 export OS_USER_DOMAIN_NAME=default
 export OS_PROJECT_NAME=helloworld #remember the project we had created
 export OS_USERNAME=penchant   #remember the username we had created for the project
 export OS_PASSWORD=helloworld123 #remember the password we had created for the project
 export OS_AUTH_URL=http://192.168.122.130:5000/v3
 export OS_IDENTITY_API_VERSION=3
 export OS_IMAGE_API_VERSION=2
 export PS1='[\[email protected]\h \W(keystone)]\$ '
[[email protected] ~]$ chmod 600 ~/keystonerc
[[email protected] ~]$ source ~/keystonerc 
[[email protected] ~(keystone)]$ echo "source ~/keystonerc " >> ~/.bash_profile

Step Two: Check the flavors, network and images available

[[email protected] ~(keystone)]$ openstack flavor list                         
 +----+-------+-----+------+-----------+-------+-----------+
 | ID | Name  | RAM | Disk | Ephemeral | VCPUs | Is Public |
 +----+-------+-----+------+-----------+-------+-----------+
 | 0  | Basic | 512 |   10 |         0 |     1 | True      |
 +----+-------+-----+------+-----------+-------+-----------+
[[email protected] ~(keystone)]$ openstack network list 
 +--------------------------------------+-----------+--------------------------------------+
 | ID                                   | Name      | Subnets                              |
 +--------------------------------------+-----------+--------------------------------------+
 | e9927eb9-7467-4e7e-844a-fc07db9c9b85 | firstnet1 | 800efe16-5a49-40f9-8523-e43a48560650 |
 +--------------------------------------+-----------+--------------------------------------+
[[email protected] ~(keystone)]$ openstack image list   
 +--------------------------------------+---------+--------+
 | ID                                   | Name    | Status |
 +--------------------------------------+---------+--------+
 | c13fd621-0d74-4e8f-9481-5cbb02decbd3 | CentOS7 | active |
 +--------------------------------------+---------+--------+

Step Three: Create a security group for the instances, you can call it any name for “securegroupone” part

[[email protected] ~(keystone)]$ openstack security group create securegroupone
 +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
 | Field           | Value                                                                                                                                                 |
 +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+
 | created_at      | 2019-03-14T10:41:10Z                                                                                                                                  |
 | description     | securegroupone                                                                                                                                        |
 | id              | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04                                                                                                                  |
 | name            | securegroupone                                                                                                                                        |
 | project_id      | f5547f8c879c41bea9c60e4541745c35                                                                                                                      |
 | revision_number | 2                                                                                                                                                     |
 | rules           | created_at='2019-03-14T10:41:10Z', direction='egress', ethertype='IPv6', id='80d35496-b370-4699-ac7b-a55e96466d23', updated_at='2019-03-14T10:41:10Z' |
 |                 | created_at='2019-03-14T10:41:10Z', direction='egress', ethertype='IPv4', id='ddc1edd5-8ce2-411a-933c-acb1765d43b1', updated_at='2019-03-14T10:41:10Z' |
 | updated_at      | 2019-03-14T10:41:10Z                                                                                                                                  |
 +-----------------+-------------------------------------------------------------------------------------------------------------------------------------------------------+

Step Four: Create a SSH keypair that will be used for connecting to instances

[[email protected] ~(keystone)]$ ssh-keygen -q -N ""                                                              
 Enter file in which to save the key (/home/tech/.ssh/id_rsa):

Step Five: Add public-key

[[email protected] ~(keystone)]$ openstack keypair create --public-key ~/.ssh/id_rsa.pub penchantkey
 +-------------+-------------------------------------------------+
 | Field       | Value                                           |
 +-------------+-------------------------------------------------+
 | fingerprint | b6:25:cb:6c:a6:ff:29:5b:4f:59:76:aa:d2:6e:0c:25 |
 | name        | penchantkey                                     |
 | user_id     | 1e03edc140cf47858778ab44319391f6                |
 +-------------+-------------------------------------------------+
[[email protected] ~(keystone)]$ netID=$(openstack network list | grep firstnet1 | awk ' print $2 ')
[[email protected] ~(keystone)]$ openstack server create --flavor Basic --image CentOS7 --security-group securegroupone --nic net-id=$netID --key-name penchantkey Cent7
 +-----------------------------+------------------------------------------------+
 | Field                       | Value                                          |
 +-----------------------------+------------------------------------------------+
 | OS-DCF:diskConfig           | MANUAL                                         |
 | OS-EXT-AZ:availability_zone |                                                |
 | OS-EXT-STS:power_state      | NOSTATE                                        |
 | OS-EXT-STS:task_state       | scheduling                                     |
 | OS-EXT-STS:vm_state         | building                                       |
 | OS-SRV-USG:launched_at      | None                                           |
 | OS-SRV-USG:terminated_at    | None                                           |
 | accessIPv4                  |                                                |
 | accessIPv6                  |                                                |
 | addresses                   |                                                |
 | adminPass                   | SLpUbJgmuwd4                                   |
 | config_drive                |                                                |
 | created                     | 2019-03-14T10:53:50Z                           |
 | flavor                      | Basic (0)                                      |
 | hostId                      |                                                |
 | id                          | 37822ec3-7b4b-4354-bafe-76d1e34c90c2           |
 | image                       | CentOS7 (c13fd621-0d74-4e8f-9481-5cbb02decbd3) |
 | key_name                    | penchantkey                                    |
 | name                        | Cent7                                          |
 | progress                    | 0                                              |
 | project_id                  | f5547f8c879c41bea9c60e4541745c35               |
 | properties                  |                                                |
 | security_groups             | name='05e8cdf2-d59b-40fa-ad55-59d9a3c8af04'    |
 | status                      | BUILD                                          |
 | updated                     | 2019-03-14T10:53:51Z                           |
 | user_id                     | 1e03edc140cf47858778ab44319391f6               |
 | volumes_attached            |                                                |
 +-----------------------------+------------------------------------------------+
[[email protected] ~(keystone)]$ openstack server list
 +--------------------------------------+-------+--------+----------+---------+--------+
 | ID                                   | Name  | Status | Networks | Image   | Flavor |
 +--------------------------------------+-------+--------+----------+---------+--------+
 | 37822ec3-7b4b-4354-bafe-76d1e34c90c2 | Cent7 | BUILD  |          | CentOS7 | Basic  |
 +--------------------------------------+-------+--------+----------+---------+--------+

Step Six: Configure security settings for the security group you created above that will give you the ability SSH and ICMP

[[email protected] ~(keystone)]$ openstack security group rule create --protocol icmp --ingress securegroupone
 +-------------------+--------------------------------------+
 | Field             | Value                                |
 +-------------------+--------------------------------------+
 | created_at        | 2019-03-14T15:17:04Z                 |
 | description       |                                      |
 | direction         | ingress                              |
 | ether_type        | IPv4                                 |
 | id                | 43a93b70-0907-407f-a559-2be73a395cdd |
 | name              | None                                 |
 | port_range_max    | None                                 |
 | port_range_min    | None                                 |
 | project_id        | f5547f8c879c41bea9c60e4541745c35     |
 | protocol          | icmp                                 |
 | remote_group_id   | None                                 |
 | remote_ip_prefix  | 0.0.0.0/0                            |
 | revision_number   | 0                                    |
 | security_group_id | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | updated_at        | 2019-03-14T15:17:04Z                 |
 +-------------------+--------------------------------------+

Step Seven: Allow SSH

[[email protected] ~(keystone)]$ openstack security group rule create --protocol tcp --dst-port 22:22 securegroupone
 +-------------------+--------------------------------------+
 | Field             | Value                                |
 +-------------------+--------------------------------------+
 | created_at        | 2019-03-14T15:17:36Z                 |
 | description       |                                      |
 | direction         | ingress                              |
 | ether_type        | IPv4                                 |
 | id                | 39f53276-e0c4-4955-8caa-0a62f52a06cd |
 | name              | None                                 |
 | port_range_max    | 22                                   |
 | port_range_min    | 22                                   |
 | project_id        | f5547f8c879c41bea9c60e4541745c35     |
 | protocol          | tcp                                  |
 | remote_group_id   | None                                 |
 | remote_ip_prefix  | 0.0.0.0/0                            |
 | revision_number   | 0                                    |
 | security_group_id | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | updated_at        | 2019-03-14T15:17:36Z                 |
 +-------------------+--------------------------------------+

List the created group rule

[[email protected] ~(keystone)]$ openstack security group rule list
 +--------------------------------------+-------------+-----------+------------+--------------------------------------+--------------------------------------+
 | ID                                   | IP Protocol | IP Range  | Port Range | Remote Security Group                | Security Group                       |
 +--------------------------------------+-------------+-----------+------------+--------------------------------------+--------------------------------------+
 | 39f53276-e0c4-4955-8caa-0a62f52a06cd | tcp         | 0.0.0.0/0 | 22:22      | None                                 | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | 3f2d46e5-3ca5-4b0f-b263-e09d27184707 | None        | None      |            | None                                 | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 |
 | 43a93b70-0907-407f-a559-2be73a395cdd | icmp        | 0.0.0.0/0 |            | None                                 | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | 6c80f5c1-be37-431d-ac6f-323d959e8ce2 | None        | None      |            | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 |
 | 80d35496-b370-4699-ac7b-a55e96466d23 | None        | None      |            | None                                 | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | 9f71dd53-cf8a-4871-b404-a4ab9c429958 | None        | None      |            | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 |
 | ddc1edd5-8ce2-411a-933c-acb1765d43b1 | None        | None      |            | None                                 | 05e8cdf2-d59b-40fa-ad55-59d9a3c8af04 |
 | e998a70b-4cf4-48cd-ab3d-23e5c195b633 | None        | None      |            | None                                 | 4ca419b0-6e49-49ad-a365-b3fda3f409e1 |
 +--------------------------------------+-------------+-----------+------------+--------------------------------------+--------------------------------------+

Install Horizon

Head over to the root user and follow through the following to have Horizon installed.

[[email protected] ~(keystone)]$ sudo su -
[[email protected] ~(keystone)]#
[[email protected] ~(keystone)]#  yum --enablerepo=centos-openstack-queens,epel -y install openstack-dashboard
 Loaded plugins: fastestmirror
 Loading mirror speeds from cached hostfile
 base: mirror.ucu.ac.ug
 centos-qemu-ev: mirror.ucu.ac.ug
 extras: mirror.ucu.ac.ug
 updates: mirror.ucu.ac.ug
 base                                                                                      | 3.6 kB  00:00:00     
 centos-ceph-luminous                                                                      | 2.9 kB  00:00:00     
 centos-openstack-queens                                                                   | 2.9 kB  00:00:00     
 centos-qemu-ev                                                                            | 2.9 kB  00:00:00     
 extras                                                                                    | 3.4 kB  00:00:00     
 updates                                                                                   | 3.4 kB  00:00:00     
 Resolving Dependencies
 --> Running transaction check
 ---> Package openstack-dashboard.noarch 1:13.0.1-1.el7 will be installed

Go ahead and configure Horizon

[[email protected] ~(keystone)]# vim /etc/openstack-dashboard/local_settings
# Jump to line 38 and add Dashboard Host depending on the domain name you require here
 ALLOWED_HOSTS = ['horizon.example.com', 'localhost'] #input your FQDN at horizon.example.com
# on line 64: uncomment the lines to look like below
 OPENSTACK_API_VERSIONS = 
 "data-processing": 1.1,
 "identity": 3, "volume": 2, "compute": 2,  # on line 75: uncomment, edit as shown OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True # uncomment line 97 as shown below OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = 'Default' # on about line 167 and 168: change the IP and add Memcache server to your own CACHES =  'default':  'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '192.168.122.130:11211', ,  # on the line 189: change OPENSTACK_HOST to the ip of your host OPENSTACK_HOST = "192.168.122.130" OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST OPENSTACK_KEYSTONE_DEFAULT_ROLE = "member"

Edit the httpd file for dashboard like below:

[[email protected] ~(keystone)]# vim /etc/httpd/conf.d/openstack-dashboard.conf
# on about line 4: add the following lines
 WSGIDaemonProcess dashboard
 WSGIProcessGroup dashboard
 WSGISocketPrefix run/wsgi
 WSGIApplicationGroup %GLOBAL

Access to your dashboard via a web browser by inputting the URL below
http://(input server’s hostname or IP address here)/dashboard/

And there you go. On the dashboard, you can create other images, create networks, subnets, launch instances and many more. It has been a successful journey and we would wish to thank you for following through to the end.

Below are previous posts in case you missed them. Cheers guys:

Installation of Openstack three Node Cluster on CentOS 7 Part One

Installation of Three node OpenStack Queens Cluster – Part Two

Installation of Three node OpenStack Queens Cluster – Part Three

Installation of Three node OpenStack Queens Cluster – Part Four

Installation of Three node OpenStack Queens Cluster – Part Five

Installation of Three node OpenStack Queens Cluster – Part Six

Installation of Three node OpenStack Queens Cluster – Part Seven

Installation of Three node OpenStack Queens Cluster – Part Eight

Installation of Three node OpenStack Queens Cluster – Part Nine

 

coffee

Gravatar Image
A systems engineer with excellent skills in systems administration, cloud computing, systems deployment, virtualization, containers, and a certified ethical hacker.