Вы находитесь на странице: 1из 5

International Conference on Recent Advances in Mechanical Engineering and Interdisciplinary Developments [ICRAMID - 2014]

Managing resources in cloud : Chrome Extension


to OpenStack
1

P. Aruna1, Dr. S. Vasantha2, D. Sudha Devi1, Dr. K. Thilagavathy2 and J.Renuka Devi1
Department of Computer Technology and Applications, Coimbatore Institute of Technology, Coimbatore, Tamil Nadu 641014, India
2
Department of Physics, Coimbatore Institute of Technology, Coimbatore, Tamil Nadu - 641014, India
Email: aruna2023@gmail.com, dsudhadevi25@gmail.com, vasanthicit@yahoo.com

Abstract One of the emerging techniques is cloud


computing. This cloud service provides the access to the
computers and their resources virtually through different
models like public, private and hybrid. This paper concentrates
in setting up a private cloud using the open source software
OpenStack. The existing dashboard Horizon shows the
memory size and number of virtual CPUs allocated to each
instance but does not give the summary of the resources
consumed on the whole by the host. We focus on creating a
chrome extension that provides the state of the instances and
total amount of resources consumed in each host. This resource
utilization information can be utilized by the administrator to
do the dynamic migration to use the resources in an effective
way, minimize the power consumption by migrating instances
from less utilized hosts to other hosts. The developed chrome
extension provides details of instances such as the state of each
instance which shows whether the instance is in Build, Active or
Terminated state. Besides, it provides details such as CPU
utilization, memory utilization and disk utilization of each host
which are not displayed in the default dashboard of OpenStack.
This extension also provides an alert message to the
administrator when there is over-utilization and underutilization of resources in a host. In this paper we have
designed a chrome extension for OpenStack which can be
utilized by the cloud administrators to manage the resources in
the data center.
Index Terms Cloud Computing, OpenStack, Chrome
Extension, Dynamic consolidation, Resource Management

I. INTRODUCTION
Cloud includes IaaS models often provide automatic
support for on demand scalability of computing and storage
resources [1]. This cloud service can be categorised in to
different models. Among them, the most utilised models are
public cloud and private cloud. Both of them are using the
same underneath technologies like virtualization, but differed
in the nature of demand, availability of resources and
provisioning of resources. In public cloud the cloud
infrastructure is owned by the cloud providers. The users can
avail the services on demand through internet on pay for use
basis. The main benefit of public cloud is no capital
expenses for infrastructure, dynamic scaling, and no
maintenance for resources. But the drawback is security, the
resources are not present in the users site. Whereas in
private cloud, the cloud infrastructures are owned by the
organization, hence the investment for infrastructure is not
negligible. The access to the resource is restricted with the

organization. The resources may exist on premise or off


premise. The major benefits of private clouds are higher
security and privacy, more control, and cloud bursting.
Benefits and features of private cloud are:
Allows the IT users to access the resources in a selfservice manner
Optimize the resource utilization with the help of
virtualization
Well management and control over the resources
Cloud bursting is possible when there is spike in the
demand
For the above said reasons, a private cloud is set up
to develop a chrome extension. In this paper we have
undergone the following works. Section 2 describes about
the private cloud setup using OpenStack, Section 3
elaborates how chrome extension is developed and deployed,
Section 4 narrates about giving an alert message to the
administrators regarding the status of the host resources,
Section 5 gives our study towards the package powernap and
WoL and future work focuses on integrating powernap &
WoL with the private cloud setup OpenStack.
II. PRIVATE CLOUD IMPLEMENTATION USING OPENSTACK
OpenStack is open source cloud software. Hence the
OpenStack does not depend on any licensed software, it is
easier to adopt it into the existing infrastructure without any
difficulties. It is a cloud operating System, a new
management layer that adds automation and control for pool
of resources such as computation, storage and network,
empower administrators & users via self-service portals and
empower developers to make apps cloud-aware via APIs[2].
The project is managed by the OpenStack Foundation,
established in September 2012 to promote OpenStack
software and its community. OpenStack has a modular
architecture and it has various components.
A. Components of OpenStack
OpenStack has many components like Nova, Glance,
KeyStone, Swift and Horizon. All the components should be
installed in the cloud controller. It is enough that the
compute nodes to have the Nova component. The nova
component creates the virtualization environment in the

ISBN 978-93-80609-17-1
1160

International Conference on Recent Advances in Mechanical Engineering and Interdisciplinary Developments [ICRAMID - 2014]

compute nodes by the hypervisors. OpenStack is hypervisor


agnostic, it supports many hypervisors like kvm, XEN, etc.
Among the components in OpenStack, Nova is the core
component. Nova contains nova_compute, nova_volume,
nova_network and nova_scheduler. For a virtual machine
request, the infrastructure to the VM like the number of
cores, RAM, virtual network are provided through the Nova
component. The nova_scheduler chooses the host for the
VM to be launch on according to the scheduling algorithm
configured by the administrator. There are rich set of
scheduling algorithms available in the OpenStack. It is a
customizable component, hence an organization may
customize the scheduling algorithms according to their need.
Nova_volume is a persistent storage, it can be attached or
detached with any instance. Even if the instance is
terminated the nova_vloume exist.
Glance component maintains a database of the images.
When the user raises a request for the virtual machine, he
can choose the image from the glance or he can upload an
image with the glance component and choose it. This glance
has two services, glance_api and glance_registry. In that
glance_api is the public interface used to upload and manage
the images. Glance_registry is private interface to metadata
database. Glance supports many image formats like iso, ami,
and vdi etc.
Keystone provides the identity and access policy
services for all OpenStack components. This identity service
includes authentication and authorization of all the
components. All the components and users of OpenStack are
registered with the KeyStone. Swift provides the services for
storing the data and managing the data. It uses the native
API and it is compatible with Amazon S3. Horizon is the
user interface for the OpenStack. The user can manage their
virtual machines through commands or with the Horizon
dashboard.
B. OpenStack Implementation
In our previous work[3] we have implemented private
cloud setup using the open source cloud operating system
OpenStack. To implement and experience the private cloud
infrastructure, minimum two dedicated systems are needed: a
front end and one or more node(s) with minimum 2GB
memory. Any number of compute nodes can be added up
with the cloud controller to increase the resource availability
of the cloud. In our setup, we have two one server with 2
cores and 4 GB ram. Three compute nodes are connected
with the server, their configurations are 8 cores and 16 GB
ram and 2 cores and 4 GB ram. Fig. 1 shows the
implementation diagram of the private cloud set up we have
done.

Fig. 1 Implementation diagram for OpenStack

Cloud Controller (Server1) Installation


1. In the cloud controller Ubuntu 12.04 version is
installed as the base operating system. Server1
contains all nova- services (nova-compute, nova-api,
nova-volume,
nova-scheduler,
nova-network),
Glance, Swift, Keystone and Horizon. Cloud
Controller has two network interface cards (NICs).
2. Set the network configurations (Public IP and Private
IP). Restart the network configuration.
3. Edit the ntp.conf to make sure that the time on the
server stays in sync with an external server.
4. MySql is installed to store the details of the users.
5. Keystone is installed for registering the components.
6. Installed glance component by
installing the
packages glance-api, glance-client, glance-common,
glance-registry and python-glance
7. Installed nova component by installing the packages
nova-api, nova-cert, nova-compute, nova-computekvm, nova-doc, nova-network, nova-objectstore,
nova-scheduler,
nova-volume,
rabbitmq-server,
novnc and nova-consoleauth
8. Create nova-volume.
9. Installed OpenStack Dashboard by installing the
package openstack-dashboard.
10. Installed swift. The primary components of swift are
the proxy, account, container and objectservers.
Compute Node Installation
1. In the compute nodes (Server2, Server3, and
Server4) Ubuntu 12.04 version is installed as the base
operating system. All the nova- services(novacompute, nova-api, nova-volume, nova-scheduler,
nova-network) are installed in the compute nodes. It
has two network interface cards (NICs).
2. Set the network configurations like public IP and
private IP. Restart the network services.
3. Install the NTP package and sync this compute node
with the cloud controller by editing the ntp.conf file.
Then restart the ntp client.
4. Install the nova-compute and restart it.
Fig. 2 shows the image formats available for the creation
of virtual machines and Fig. 3 shows the virtual machine
instances created in OpenStack.

ISBN 978-93-80609-17-1
1161

International Conference on Recent Advances in Mechanical Engineering and Interdisciplinary Developments [ICRAMID - 2014]

In login module admin provides the user name and password


to the chrome API. Chrome API requests the nova API for
authentication. If the details are valid, nova API
authenticates the admin.

Fig.4 Instance Description Module

Fig. 2 Images available in OpenStack

In the instance description module, user requests the


instance status. Nova API provides the list of instances and
their status to chrome API and it is displayed in the chrome
extension.

Fig. 5 Host Details Module

Fig. 3 Instances available in OpenStack

III. CHROME EXTENSION CREATED FOR THE BENEFIT OF THE


ADMINISTRATOR

The chrome extension provides the state of the instances


and total amount of resources consumed by each host. These
details are displayed using chrome API. The information
those are displayed in the chrome extension are list of
instances with their state such as Build, Active and
Terminated. It also provides the amount of resources
consumed by each host. The threshold value is been set up
for CPU, memory and disk resources. When the resource
utilization of the particular host reaches the threshold value,
chrome provides the alert message to the administrator to
avoid over-provisioning of resources in a host. Chrome API
communicates with nova API to display the above
information.

In instance host details module, user requests the host


details. Nova API provides the total amount of resources
provided for each host to chrome API and chrome calculates
the percentage of resources consumed by each host and it is
displayed in the chrome extension.
Google Chrome Extensions are browser extensions that
modify the Google Chrome browser[4].
Here these are the steps to do the chrome extension for
OpenStack.
1) OpenStack chrome extension has a chrome API which
communicates with nova API through cross height request
(xhr) which serves as a HTTP request and response message
to get the resource information. xhr interacts with the built in
web services of nova to collect the information.
2) Nova API in turn communicates with the nova database to
retrieve the information
3) The response message is being parsed in JSON (Java
Script Object Notation) and is sent to the Chrome API
4) Chrome API calculates the amount of resources such as
memory, disk and CPU utilization based on the information
gathered from Nova API.
5) Chrome API displays the resource utilization information
in chrome extension and sets the threshold limit for each
resource. So that an alert is given to the administrator when
there is over-provisioning or under provisioning of resources
in the host.

Fig. 4 Login Module

ISBN 978-93-80609-17-1
1162

International Conference on Recent Advances in Mechanical Engineering and Interdisciplinary Developments [ICRAMID - 2014]

Fig. 8 shows the host names and the utilization of the


resources in each host.

Fig. 6 Login Screen

Fig. 6 shows the chrome extension, it is plugged with the


chrome browser. When the administrator clicks it will ask for
the login information.

Fig. 9 setting the threshold values

Fig. 9 shows the screen, when an administrator needs the


alert message for overutilization or underutilization of
resources in each host he can set up the threshold values.

Fig. 7 Resource utilization of each host


Fig. 10 Resource alert

Fig. 7 shows the chrome extension, after the login the


resources utilization information will be displayed for the
administrators.
IV. ALERTS FOR ADMINISTRATORS FOR RESOURCE
MANAGEMENT

Chrome extension provides the list of hosts connected to


the server. It also provides resource utilization information
for each host which consists of amount of CPU utilization,
memory utilization and disk utilization in percentage. The
threshold value for each resource has been set and when any
of this resource utilization by a particular host exceeds the
threshold limit or goes below the threshold limit, chrome
extension provides alert message to the administrator to
indicate the over-utilization or under-utilization of resources
in a host. This helps administrator to control the overprovisioning and under-provisioning of resources in a host.
Thanks to virtualization and consolidation techniques,
applications can be embedded in Virtual Machines (VMs)
and deployed on demand on a reduced number of nodes [5].

Fig. 8 List of Hosts and their resource utilization

Fig. 11 Resource alert

Fig. 10 and Fig. 11 show the alert message given to the


administrator.
V. STUDY OF POWERNAP
Lowering the energy usage of data centres becomes a
challenging issue because computing applications and data
are growing so quickly that increasingly larger servers and
disks are needed to process them fast enough within the
required time period [6]. Thus, data centre resources need to
be managed in an energy-efficient manner to drive green
cloud computing. They can even consume as much
electricity as a city [7]. Powernap is a package which can be
installed with ubuntu server. It is a power monitoring system
through which a server can be sent to any of the following
states like sleep, hibernate or going to power save state.
When the server is detected as underutilized, the powernap
switches its state accordingly. This package supports
UEC(Ubuntu Eucalyptus Cloud). We study the functions and

ISBN 978-93-80609-17-1
1163

International Conference on Recent Advances in Mechanical Engineering and Interdisciplinary Developments [ICRAMID - 2014]

feature this package powernap and try to integrate the


package with OpenStack. This powernap uses WoL (Wake
on LAN) to awake the servers from the hibernate state. The
package can be utilized in the OpenStack environment for
putting the idle nodes to sleep state. If the demand goes
higher, we can wake up the sleep nodes by using the
WoL[8]. WoL is a computer network standard that wakes up
a machine from a hibernate state by sending a magic packet.
To send the magic packet, the MAC address of the machine
should be known. When the magic packet received, the NIC
triggers the system to wake up.
FUTURE ENHANCEMENTS

The present system can be further enhanced by


calculating the overall power consumed by each host and
displaying it in the chrome extension. To minimize the
power consumption, a scheduling algorithm can be proposed
which allocates the incoming VM requests to the appropriate
hosts. A daemon process should be made running as a
background process to check the capacity of the hosts and
the number of instances in it. When a host is detected as
underutilized, the instances in the host can be migrated to
some other active host and the host can be put in either idle
or in sleep state. This way of dynamic consolidation of VMs
results in minimal power consumption. This dynamic
consolidation concept is proposed to be integrated with open
source OpenStack.
REFERENCES
[1]
[2]
[3]

[4]
[5]

[6]

[7]
[8]

Zoran Pantic and Muhammad Ali Babar, Guidelines for building a


Private Cloud Infrastructure, Tech Report TR-2012-153, IT
University of Copenhagen, 2012.
OpenStack. OpenStack Compute Administration Manual 2013 [On
line]. Available : http://docs.openstack.org
P. Aruna, L.Yamuna Devi, D.Sudha Devi, N. Priya, S. Vasantha,
K.Thilagavathy, Private cloud for Organizations: An implementation
for OpenStack, International Journal of Scientific and Engineering
Research, October 2013.
Chrome Extension. Manual referred December 2013 [On line]
www.wikipedia.com/chrome extension
Thomas Ristenpart Eran Tromer Hovav Shacham Stefan Savage. Hey,
you, get out of my cloud: exploring information leakage in third-party
compute clouds. CCS '09: Proceedings of the 16th ACM conference
on Computer and communications security, 2009.
J.-G. Lu, Title of paper with only the first word capitalized, J. Name
Stand. Abbrev., in press. Buyya R, Belonglazov A, Abawajy J. Energyefficient management of data center resources for cloud computing: a
vision, architectural elements, and open challenges. In Proc. Of the
2010 International Conference on Parallel and Distributed Processing
Techniques and Applications (PDPTA 2010). Las Vegas, USA, July
2010.
Markoff J, Lohr S. Intels huge bet turns iffy. New York Times
Technology Section, September 2002.
Wake on LAN. Manual referred December 2013.
www.wikipedia.com/WOL

ISBN 978-93-80609-17-1
1164