ZHAW Service Engineering ICCLab sporadically sends Newsletters with short information about latest activities of the lab and relevant events.

In this issue

Welcome message

FI-PPP at FIA 2014 in Athens

ICClab node on XiPi portal of Future Internet infrastructures

Major event: 1st European Conference on the Future Internet in Bruxelles

Next events: Open Cloud Day 2014, ICCLab workshop

Relevant call for papers

Project Corner

Tutorial: Cloud Native Applications

Welcome

The InIT Cloud Computing Lab (ICCLab) and the Service Engineering focus area of the ZHAW University welcome you to this first issue of the New Letter. We will provide you with all updates on relevant scientific and technological activities in Europe and Switzerland with main topics and initiatives carried out by our Lab. The News always includes progress on our projects and a technical tutorial at the end. ________________________________________

FI-PPP at FIA 2014 in Athens

Athens hosted the annual Future Internet Assembly conference at Megaron Athens International Conference Centre on 18-20 March, where more than 400 European Internet scientific and economic actors, researchers, industrialists, SMEs, users, service and content provider representatives have attended, delivered new ideas, and shared views, aiming at advancing activities for reshaping the Future Internet. The themes of this year event went along new Internet technologies based on network/cloud integration & virtualization and innovative software, services and cloud technologies to enable the innovation of the applications. The presence of the Future Internet Public Partnership Programme, Twitter ) at FIA 2014 has been assured by dedicated sessions and by FI PPP project booths represented by relevant projects like XI-FI (ZHAW is partner), FI-WARE (ZHAW), FI-CONTENT2, FINESCE, FI-STAR and FITMAN.

___________________________________________

ICCLab node on XI-PI portal.

Within the activities of the project FI–PPP Infinity, last year it was created a dedicated portal to improve and facilitate the registration, discovery and uptake of the Future Internet experimental infrastructures, and to make it easier for Future Internet developers and experimenters to use the XiPi portal in order to find relevant infrastructures for their testing requirements. The datacentre of ZHAW ICClab, hosted at Equinix Zurich, is part of the XI-FI federation since 2014 and you can find all information on ICCLab node in this XI-PI portal.

__________________________________________

Major Event:

1st European Conference on the Future Internet

On 2-3 April 2014, the Future Internet PPP organised the 1st European Conference on the Future Internet (ECFI) in Brussels. This ha brought together key stakeholders to discuss how Europe can achieve global leadership in ICT by 2020 through innovative Internet technologies. ZHAW ICCLab was part of the event organisation as partners of the CONCORD project.

Motivation and Goal

Cloud Computing becomes more and more important. To get the full power of clouds in the view of /ch/open these clouds should be open according of the principles open cloud initiative. The goal is to foster open clouds and interoperability of clouds. Especially, taking into account the requirements of public administrations and SMEs. In this conference especially concrete stacks are discussed. In the afternoon are held specific workshops. The developments in Gov Clouds are also discussed.

The conference builds on the success of two previous Open Cloud Days in 2012 and 2013.

Possible Program

The event is planned as a full day event with a single track and 1-2 training session for specific cloud stacks. The themes will be: Clouds for Public Administration, Success Stories of implemented clouds, Details of Cloud Technology, Cloud interoperability, How to avoid/minimize lock-ins, Platform as a Service.

The ICCLab is pleased to invite you to the upcoming Workshop on Scientific Computing in the ICCLab Cloud. This workshop will focus on how to leverage the ICCLab Cloud infrastructures for executing scientific applications in a distributed, high performance environment.

The workshop’s agenda will include several talks describing applications from different areas of science (physics, mathematics, machine learning, etc.), highlighting their requirements from the ICT perspective. The workshop will also include a comprehensive overview of Hadoop and a tutorial on how to deploy, configure and use a Hadoop cluster on the ICCLab Cloud through the Savanna OpenStack project.

The workshop date and the full program are to be announced.

_____________________________________________

Relevant Calls for papers

The IEEE Transactions on Cloud Computing (TCC) is seeking original and innovative research papers in all areas related to Cloud computing.

From 2014, TCC will publish 4 issues per year. For details of the submission process, please consult the relevant Web pages

The project held its XIFI World Summit 2014 on 26-28 March in Zurich. One of the objective of the meeting was to start the inclusion of new partners as result of the open calls. ZHAW ICCLab is one of the new partners joining the consortium. Technical aspects, needed to include new data centers in the XI-FI federation, have been introduced as well as the project status and relevant deliverables.

From 27 January to 31 March, participants have submitted their ideas for the Smart Society Challenge or prototypes for FI-WARE Excellence.20. Selected teams for each challenge will receive a €2,800 prize and enter the final phase of the contest. During this phase a jury composed of FI-WARE platform developers and other experts will advise candidates on how to improve their prototypes before ultimately presenting their final versions.

ZHAW is actively engaged in the GEYSER project which is focused on making urban Data Centres more energy efficient. One of the key aspects of the project is the relationship between the Smart City and the Data Centre: Data Centres can generate energy as well as be flexible with respect to energy consumption. For this reason they are particularly interesting players in an urban grid. The project had a meeting in ZHAW in February and is working through the requirements definition of the GEYSER system.

_________________________________________

Tutorial:

Cloud Native Applications

A cloud-native application is drafted and designed to take full advantage of cloud platforms. The cloud-fication also identifies any application re-architecting or service to take advantage of cloud principles. The result of this process is a cloud-native target. Such targets have common behaviors and characteristics. A cloud-native application is assumed to have as main properties to leverage cloud-platform services for reliable, scalable infrastructure and to scales horizontally, adding resources as demand increases and releasing resources as demand decreases. In particular, it upgrades without downtime and scales automatically using proactive and reactive actions.

Some key design principles include: the use of non-blocking asynchronous communication, in a loosely coupled architecture, and handles transient failures without user experience degradation with node failures without downtime. Since the under lied architecture is based on cloud resources, the cloud native applications optimize the costs to run efficiently and without wasting resources. However, they are designed to using geographical distribution to minimize network latency and include monitors and application logs even as nodes come and go.

Where did these characteristics come from?

There is evidence that companies with a large web presence have clouds with some similar capabilities.

As these characteristics show, an application does not need to support millions of users to benefit from cloud-native patterns. The architecture of the application makes a solution cloud-native, not the choice of platform. It is more cost-effective to architect new applications to be cloud-native from the start then transforming legacy applications. There is no need to for every application to be cloud- native. This is a business choice defined driven by technical insight.

Ceph is one of the most interesting distributed storage systems available, with a very active development and a complete set of features that make it a valuable candidate for cloud storage services. This tutorial goes through the required steps (and some related troubleshooting), required to setup a Ceph cluster and access it with a simple client using librados. Please refer to the Ceph documentation for detailed insights on Ceph components.

Assumptions

Cluster architecture

In a minimum Ceph deployment, a Ceph cluster includes one Ceph monitor (MON) and a number of Object Storage Devices (OSD).

Administrative and control operations are issued from an admin node, which must not necessarily be separated from the Ceph cluster (e.g., the monitor node can also act as the admin node). Metadata server nodes (MDS) are required only for Ceph Filesystem (Ceph Block Devices and Ceph Object Storage do not use MDS).

Preparing the storage

WARNING: preparing the storage for Ceph means to delete a disk’s partition table and lose all its data. Proceed only if you know exactly what you are doing!

Ceph will need some physical storage to be used as Object Storage Devices (OSD) and Journal. As the project documentation recommends, for better performance, the Journal should be on a separate drive than the OSD. Ceph supportsext4, btrfs and xfs. I tried setting up clusters with both btrfs and xfs, however I could achieve stable results only with xfs, so I will refer to this latter.

Prepare a GPT partition table (I have observed stability issues when using a dos partition)

If there is no repository for your Ubuntu version, you can try to select the newest one available by manually editing the file /etc/apt/sources.list.d/ceph.list and changing the Ubuntu codename (e.g., trusty -> raring)

$ deb http://ceph.com/debian-emperor raring main

Install ceph-deploy

$ sudo apt-get update
$ sudo apt-get install ceph-deploy

Setup the admin node

Each Ceph node will be setup with an user having passwordless sudo permissions and each node will store the public key of the admin node to allow for passwordless SSH access. With this configuration, ceph-deploy will be able to install and configure every node of the cluster.

NOTE: the hostnames (i.e., the output of hostname -s) must match the Ceph node names!

[optional] Create a dedicated user for cluster administration (this is particularly useful if the admin node is part of the Ceph cluster)

$ sudo useradd -d /home/cluster-admin -m cluster-admin -s /bin/bash

then set a password and switch to the new user

$ sudo passwd cluster-admin
$ su cluster-admin

Install SSH server on all the cluster nodes (even if a cluster node is also an admin node)

$ sudo apt-get install openssh-server

Add a ceph user on each Ceph cluster node (even if a cluster node is also an admin node) and give it passwordless sudo permissions

Install ceph in all the nodes of the cluster. Use the --no-adjust-repos option if you are using different apt configurations for ceph. NOTE: you may need to confirm the authenticity of the hosts if your accessing them on SSH for the first time!
Example (replace mon0 osd0 osd1 with your node names):

If you haven’t already prepared your storage, or if you want to reformat a partition, use the zap command (WARNING: this will erase the partition)

$ ceph-deploy disk zap --fs-type xfs osd0:/dev/sd<x>1

Prepare and activate the disks (ceph-deploy also has a create command that should combine this two operations together, but for some reason it was not working for me). In this example, we are using /dev/sd<x>1 as OSD and /dev/sd<y>2 as journal on two different nodes, osd0 and osd1

Before getting a healthy Ceph cluster I had to purge and reinstall many times, cycling between the “Setup the cluster”, “Prepare OSDs and OSD Daemons” and “Final steps” parts multiple times, while removing every warning that ceph-deploy was reporting.

How does one remove a faulty/un/re-provisioned physical machine from the list of managed physical nodes in OpenStack nova? Recently we had to remove a compute node in our cluster for management reasons (read, it went dead on us). But nova perpetually maintains the host entry hoping at some point in time, it will come back online and start reporting its willingness to host new jobs.

Normally, things will not break if you simply leave the dead node entry in place. But it will mess up the overall view of the cluster if you wish to do some capacity planning. The resources once reported by the dead node will continue to show up in the statistics and things will look all ”blue” when in fact they should be ”red”.

There is no straight forward command to fix this problem, so here is a quick and dirty fix.

log on as administrator on the controller node

locate the nova configuration file, typically found at /etc/nova/nova.conf

location the ”connection” parameter – this will tell you the database nova service uses

Depending on whether the database is mysql or sqlite endpoint, modify your queries. The one shown next are for mysql endpoint.

# mysql -u root
mysql> use nova;
mysql> show tables;

The tables of interest to us are ”compute_nodes” and ”services”. Next find the ”host” entry of the dead node from ”services” table.

The output for one of our test cloud is shown above, clearly the node that we want to remove is ”002590628c0c”. Note down the corresponding id for the erring host entry. This ”id” value will be used for ”service_id” in the following queries. Modify the example case with your own specific data. It is important that you first remove the corresponding entry from the ”compute_nodes” table and then in the ”services” table, otherwise due to foreign_key dependencies, the deletion will fail.

mysql> delete from compute_nodes where service_id=7;
mysql> delete from services where host='002590628c0c';

Change the values above with corresponding values in your case. Voila! The erring compute entries are gone in the dashboard view and also from the resource consumed metrics.

The famous Nagios open source monitoring system has become a de facto standard in recent years. Unlike commercial monitoring solutions Nagios does not come as a one-size-fits-all monitoring system with thousands of monitoring agents and monitoring functions. Nagios is rather a small, lightweight monitoring system reduced to the bare essential of monitoring: an event management and notification engine. Nagios is very lightweight and flexible, but it must be extended in order to become a solution which is valuable for your organization. Plugins are a very important part in setting up a Nagios environment. Though Nagios is extremely customizable, there are no plugins that capture OpenStack specific metrics like number of floating IPs or network packets entering a virtual machine (even if there are some Nagios plugins to check that OpenStack services are up and running).

Ceilometer is the OpenStack component that captures these metrics. OpenStack measures typical performance indices like CPU utilization, Memory allocation, disk space used etc. for all VM instances within OpenStack. When an OpenStack environment has to be metered and monitored, Ceilometer is the right tool to do the job. Though Ceilometer is a quite powerful and flexible metering tool for OpenStack, it lacks capabilities to visualize the collected data.

It can easily be seen that Nagios and Ceilometer are complementary products which can be used in an integrated solution. There are no Nagios plugins to integrate the Ceilometer API (though Enovance has developed plugins to check that OpenStack components alive) with the Nagios monitoring environment and therefore allow Nagios to monitor not only the OpenStack components, but also all the hosted VMs and other services.

The ICCLab has developed a Nagios plugin which can be used to capture metrics through the Ceilometer API. The plugin is available download on Github. The Ceilometer call plugin can be used to capture a Ceilometer metric and define thresholds for employing the nagios alerting system.

In order to use the plugin simply copy it into your Nagios plugins folder (e. g. /usr/lib/nagios/plugins/) and define a Nagios command in your commands.cfg file (in /etc/nagios/objects/commands.cfg). Don’t forget to make your Nagios plugin executable to the Nagios API (chmod u+x).

This workshop addresses the three main topics that are significant for the realization of the Future Internet Architecture, which are the Mobile Networking, Network Function Virtualization and Service Virtualization.

While mobile communication networks have been established decades ago and are still continuously evolving, cloud computing and cloud services became a hot topic in recent years and is expected to have significant impact on novel applications as well as on ICT infrastructures. Cloud computing and mobile communication networks have been considered separate from each other in the past. However, there are various possible synergies between them. This trend supports the use of cloud computing infrastructures as processing platforms for signal and protocol processing of mobile communication networks, in particular for current (4G) and future (5G) generation networks. This enables several opportunities to optimize performance of cloud applications and services observed by mobile users, whose devices are connected to the cloud via wireless access networks. This trend is also in line with the emerging ETSI activities in Network Functions Virtualization (NFV). The “Mobile Cloud Infrastructures and Services” workshop focuses on the thematic area that the EU project MCN is concentrating on and is addressing emerging technologies in cloud services and mobile communication infrastructures. Emphasis will be put on possible integration scenarios and synergies between them.

Workshop Structure
Based on the successful format of the FUNEMS 2013, “Mobile Cloud Networking and Edge ICT “ workshop, we plan to have a good mix of invited keynote talks from key participants in the EU FP7 projects MCN, iJOIN, CONENT and FLAMINGO and peer-reviewed abstracts of the papers to be presented. Moreover, the panel organized in 2013 was highly appreciated by the participants and therefore is proposed to be part of the program in 2014. The speakers of the workshop will form the panel. During the panel session, the presented papers will be used as the starting point for the panel discussions. The programme associated with this workshop is as follows:

The previous edition of this workshop was entitled: “Mobile Cloud Networking and Edge ICT Services”, and it has been organized during the FUNEMS 2013, http://www.futurenetworksummit.eu/2013/. The duration of the workshop was half a day and has been organised in two sessions. The current edition of this workshop will focus mainly only on one of these sessions, “Mobile Cloud Infrastructures and Services”. The workshop was successful and attracted a relatively high number of attendees compared to other parallel workshops. 25- 50 participants have been permanently in the room at the Mobile Cloud Networking and Edge ICT Services 2013.

Workshop Audience

The target audience will be the telecommunication infrastructures and cloud computing research and industry communities, with an emphasis on European FP7 project involved researchers and organizations. The workshop organizers are participating among others in the EU FP7 IP projects: Mobile Cloud Networking (MCN), CONTENT, iJOIN, FLAMINGO and in Standardization Bodies such as Open Networking Foundation and ETSI NFV (Network Function Virtualisation). It is therefore expected that a significant part of the audience and participants will be the communities involved in Standardization Bodies such as Open Networking Foundation and ETSI NFV and the EU FP7 projects that are and will be cooperating with the EU FP7 IP project “Mobile Cloud Networking” (MCN).

The XiFi project, which we have just recently joined, is starting the process of reaching out to the larger community – primarily developers – to let them know about all the cool capabilities that are offered by Future Internet platform.

In Mobile Cloud Networking (MCN) we rely heavily on OpenStack, OpenShift and of course Automation. So that developers can get working fast with their own local infrastructure, we’ve spent time setting up an automated workflow, using Vagrant and puppet to setup both OpenStack and OpenShift. If you want to experiment with both OpenStack and OpenShift locally, simply clone this project:

$ git clone https://github.com/dizz/os-ops.git

Once it has been cloned you’ll need to initialise the submodules:

$ git submodule init
$ git submodule update

After that just you can begin the setup of OpenStack and OpenShift. You’ll need an installation of VirtualBox and Vagrant.

OpenStack

run in controller/worker mode:

$ vagrant up os_ctl
$ vagrant up os_cmp

There’s some gotchas, so look at the known issues in the README, specific to OpenStack. Otherwise, open your web browser at: http://10.10.10.51.

The ICCLab is pleased to invite you to the upcoming Workshop on Scientific Computing in the ICCLab Cloud. This workshop will focus on how to leverage the ICCLab Cloud infrastructures for executing scientific applications in a distributed, high performance environment.

The workshop’s agenda will include several talks describing applications from different areas of science (physics, mathematics, machine learning, etc.), highlighting their requirements from the ICT perspective. The workshop will also include a comprehensive overview of Hadoop and a tutorial on how to deploy, configure and use a Hadoop cluster on the ICCLab Cloud through the Savanna OpenStack project.

# Please Note
Make sure you provide a valid institutional email address above. If you provide emails ending in yahoo.com, gmail.com and other private domains, your request will not be processed. Please expect a few days of delay before our administrators create and enable a valid cloud account for you.