Repoman: A Simple RESTful X.509 Virtual Machine Image Repository. Roger Impey

Similar documents
Research computing in a distributed cloud environment

Data intensive high energy physics analysis in a distributed cloud

Shoal: IaaS Cloud Cache Publisher

OpenStack Introduction. November 4, 2015

Evaluation of Nagios for Real-time Cloud Virtual Machine Monitoring

Solution for private cloud computing

Mobile Cloud Computing T Open Source IaaS

Hadoop Distributed File System Propagation Adapter for Nimbus

FREE AND OPEN SOURCE SOFTWARE FOR CLOUD COMPUTING SERENA SPINOSO FULVIO VALENZA

Cloud Models and Platforms

Comparing Open Source Private Cloud (IaaS) Platforms

Experiences with Eucalyptus: Deploying an Open Source Cloud

Cloud Computing for Control Systems CERN Openlab Summer Student Program 9/9/2011 ARSALAAN AHMED SHAIKH

Postgres on OpenStack

CLOUD COMPUTING. When It's smarter to rent than to buy

Building a big IaaS cloud with Apache CloudStack

2) Xen Hypervisor 3) UEC

Virtual Machine Management with OpenNebula in the RESERVOIR project

Snakes on a cloud. A presentation of the OpenStack project. Thierry Carrez Release Manager, OpenStack

Deploying Business Virtual Appliances on Open Source Cloud Computing

Running and Enhancing your own Galaxy. Daniel Blankenberg The Galaxy Team

Mirantis

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.2

JAMF Software Server Installation and Configuration Guide for OS X. Version 9.0

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández

Eucalyptus User Console Guide

T Mobile Cloud Computing Private Cloud & Assignment

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

THE EUCALYPTUS OPEN-SOURCE PRIVATE CLOUD

Sistemi Operativi e Reti. Cloud Computing

Plug-and-play Virtual Appliance Clusters Running Hadoop. Dr. Renato Figueiredo ACIS Lab - University of Florida

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.2

Sun Cloud API: A RESTful Open API for Cloud Computing

About the VM-Series Firewall

Towards an Architecture for Monitoring Private Cloud

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Performance Testing of an IAAS Cloud Software (A CloudStack Use Case)

DiamondStream Data Security Policy Summary

OpenNebula An Innovative Open Source Toolkit for Building Cloud Solutions

JAMF Software Server Installation and Configuration Guide for Windows. Version 9.3

Comparison and Evaluation of Open-source Cloud Management Software

Potential of Virtualization Technology for Long-term Data Preservation

Private Clouds with Open Source

OpenStack Ecosystem and Xen Cloud Platform

Open Source Cloud Computing Management with OpenNebula

OpenStack Towards a fully open cloud. Thierry Carrez Release Manager, OpenStack

Comparing Ganeti to other Private Cloud Platforms. Lance Albertson

Introduction to Cloud Computing

How To Run A Cloud Server On A Server Farm (Cloud)

Table of Contents Introduction and System Requirements 9 Installing VMware Server 35

IBM Cloud Manager with OpenStack. REST API Reference, version 4.1

Technical Overview Simple, Scalable, Object Storage Software

Cloud n Service Presentation. NTT Communications Corporation Cloud Services

Private Distributed Cloud Deployment in a Limited Networking Environment

Leveraging BlobSeer to boost up the deployment and execution of Hadoop applications in Nimbus cloud environments on Grid 5000

THE CC1 PROJECT SYSTEM FOR PRIVATE CLOUD COMPUTING

Introduction to Openstack, an Open Cloud Computing Platform. Libre Software Meeting

JAMF Software Server Installation and Configuration Guide for Linux. Version 9.0

CernVM Online and Cloud Gateway a uniform interface for CernVM contextualization and deployment

Infrastructure as a Service (IaaS)

Citrix Training. Course: Citrix Training. Duration: 40 hours. Mode of Training: Classroom (Instructor-Led)

VMware vcloud Automation Center 6.0

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Clodoaldo Barrera Chief Technical Strategist IBM System Storage. Making a successful transition to Software Defined Storage

Introduction to Cloud computing. Viet Tran

Getting Started Hacking on OpenNebula

Research of Enterprise Private Cloud Computing Platform Based on OpenStack. Abstract

Cloud Computing using

Business applications:

Corso di Reti di Calcolatori M

How to Grow and Transform your Security Program into the Cloud

OGF25/EGEE User Forum Catania, Italy 2 March 2009

Secure your Docker images

Investigating Private Cloud Storage Deployment using Cumulus, Walrus, and OpenStack/Swift

Cloud-pilot.doc SA1 Marcus Hardt, Marcin Plociennik, Ahmad Hammad, Bartek Palak E U F O R I A

Privileged Cloud Storage By MaaS JuJu

Data Storage in Clouds

Transcription:

Repoman: A Simple RESTful X.509 Virtual Machine Image Repository Roger Impey

Project Term University of Victoria R.J. Sobie, M. Anderson, P. Armstrong, A. Agarwal, Kyle Fransham, D. Harris, I. Gable, C. Leavett-Brown, M. Paterson, D. Penfold-Brown, and Matthew Vliet At National Research Council A. Charbonneau, R. Impey, and W. Podaima

Why do we need Repoman? We need Repoman to facilitate the easy sharing, manipulation, storage and management of virtual machines image for use in the work we are doing in with Nimbus, and cloud scheduler. Current software was either too restrictive with one or more the following: Not stand alone. Authentication Scheme could not accommodate x509 grid certificates. Sharing files was difficult without prior knowledge of what files are available. Creating a consistent and enforced set of metadata was not easy.

Basic Architecture of Repoman

Features of Repoman Repoman is an X509 authenticated Web server that stores Virtual machines Images. Nimbus uses X509 It provides a simple API to store, share and manage VM images. Completely stand alone Installed using pypi or pip. Amazon S3 clones come the closest to providing similar functionality. The other one that comes close is Glance from OpenStack When Repoman was started, this did not exist no X509 authentication

Implementation Details Written in Python Pylons web framework - One of the big Python web frameworks (lots of users, been around a while) - Easy to customize to your needs. If you don't like something in, change it. - Pylons apps are WSGI apps SQLAlchemy - Interface to many different databases without worrying about different implementation details Apache mod_wsgi - Allows for running Python WSGI applications within the Apache Web Server mod_ssl - Provides SSL encryption for the webserver - Allows for checking of client certificates - This is KEY for authenticating users with x509 certificates

Repoman Client impeyr@vm019:~> repoman --help usage: repoman [-h] [--help-all] [--version] [-H HOST] [-P PORT] optional arguments: -h, --help --help-all --version -H HOST, --host HOST Override host setting -P PORT, --port PORT Override port setting for host --proxy PROXY Override default proxy certificate SUBCOMMANDS: get Download the specified image file save snapshot and upload current system rename rename an existing image from 'old' to 'new' delete list Delete an image from the repository List a users images stored in the repository

Repoman Client impeyr@vm019:~> grid-proxy-init Your identity: /C=CA/O=Grid/OU=imsb.nrc.ca/CN=Roger Impey Enter GRID pass phrase for this identity: Creating proxy... Done Your proxy is valid until: Tue Mar 15 03:40:39 2011 impeyr@vm019:~> repoman list impey/cole.feb072011.img.gz impey/rhee.feb072011.img.gz impey/thames.jan142011.img.gz impey/rideau.jan172011.img.gz impey/cole.jan142011.img.gz impey/thames.dec172010.img.gz impey/vm019.sao.nrc.ca impeyr@vm019:~> Note; No GUI yet!

Repoman Metadata impeyr@vm019:~> repoman describe-image vm019.sao.nrc.ca {'checksum': {'type': None, 'value': None}, 'description': None, 'expires': None, 'file_url': 'https://vmrepo.cloud.nrc.ca/api/images/raw/impey/vm019.sao.nrc.ca', 'http_file_url': None, 'hypervisor': None, 'modified': 'Tue Mar 8 20:44:17 2011', 'name': 'vm019.sao.nrc.ca', 'os_arch': None, 'os_type': None, 'os_variant': None, 'owner': 'https://vmrepo.cloud.nrc.ca/api/users/impey', 'owner_user_name': 'impey', 'raw_file_uploaded': False, 'read_only': False, 'shared_with': {'groups': [], 'users': []}, 'size': None, 'unauthenticated_access': False, 'uploaded': 'Tue Mar 8 20:44:17 2011', 'uuid': 'd5c71b1749c411e087980025648d3a02', 'version': 0} JSON (JavaScript Object Notation)

Topical Use Case End-user SysAdmin created a base image(s) that was preconfigured with the required software and libraries. Base Image is shared with user or group on Repoman. User boots an interactive version of that image, and customizes it to his/her needs. Once customized, User saves the image back to the Repoman repository. Save option uses rsync on a mounted file system

Distributed Clouds We encapsulate the software in a Virtual Machine, and we can run many types of new and old applications on a single cluster or multiple clusters. This technology (Infrastructure as a Service) already exists: Amazon EC2 / Rackspace (Commercial providers) Nimbus / OpenNebula / Eucalyptus (Open Source) We use Nimbus, together with Job Scheduler and Condor.

The Cloud Scheduler knows about the IaaS resources available, and it polls the job scheduler's queue. When it sees a new job in the queue, the Cloud Scheduler selects a resource and sends the instruction to boot a VM. The VM boots, registers itself with the job scheduler, and runs the job. Cloud Scheduler

Topical Use Case Production User then submits a set of batch jobs to the Condor queue. Cloud Scheduler tells Nimbus to boot virtual machines for the batch jobs in the queue Nimbus retrieves the needed VM from the Repoman server and boots the VM. The jobs run and drain the Queue.

Network Traffic The inbound and outbound network traffic at the NRC cluster in Ottawa. The VMs were stored at NRC and the data at UVIC. The outbound traffic (shown by the blue line) shows the transfer of the 60 VMs to UVIC.

Summary Running a distributed Cloud system in production. Currently used heavily for HEP (BarBar) and Astrophysics (CANFAR). Cloud Scheduler can be used to take advantage of many clouds, including locally owned resources, FutureGrid and Amazon EC2. RepoMan is used by end-users to easily share, manipulate, store and manage virtual machines images 15

Open Source Software Systems employs open source software which are readily available. Missing pieces developed in-house as open source projects. Cloud Scheduler: https://github.com/hep-gc/cloud-scheduler Repoman: https://github.com/hep-gc/repoman

Acknowledgments