1 of 29

OpenStack and the Chameleon project

Ph. D. Massimo Canonico - University of Piemonte Orientale (Italy) - massimo.canonico@uniupo.it

2 of 29

Disclaimer

These slide are publicly available.

You can use/share it, if and only if:

  • You cite the author
  • You do not modify its content

3 of 29

Where we are

These slides are used as education material for the High Performance Computing class. Here the complete list of slides provided during the course:

00: Introduction to Cloud Computing

01: Cloud platforms

02: OpenStack and the Chameleon Project

02-01: LAMP+CMS with OpenStack

02-02: Manage volume with OpenStack

02-03: Load balance with OpenStack

4 of 29

OpenStack introduction

  • OpenStack is a set of software tools for building and managing cloud computing platforms for public and private clouds
  • OpenStack is managed by OpenStack Foundation, a non-profit that oversees both development and community-building around the project
  • Created in 2010 by RackSpace and NASA
  • Contributors:

5 of 29

OpenStack introduction

  • Standard de-facto for open-source Cloud Platform
    • Developed by the OpenStack community
  • Focus on IaaS
  • Interface with the services provided
    • REST API
    • Software Development Kits (SDK)
  • Good documentation
  • Good support
    • Internet Relay Chat (IRC)
    • Wiki Pages
    • Mailing lists
    • Events

6 of 29

7 of 29

Deployment models

On-premises distribution: A customer downloads and installs an OpenStack distribution within its internal network

OpenStack-based Public Cloud: A vendor provides a public cloud computing system based on the OpenStack project (like AWS)

Hosted OpenStack Private Cloud: Install OpenStack on customer machines and customer pays only for support

OpenStack-as-a-Service: customer asks for a service (let’s say “start a instance with a webserver”) and the vendor will provide it

8 of 29

OpenStack open-source services

  • Nova (Compute)
  • Zun (Container)
  • Ironic (Bare metal provisioning)
  • Swift (Object store)
  • Cinder (Block storage)
  • Neutron (Networking)
  • Octavia (Load balancer)
  • Designate (DNS service)
  • Keystone (Identity service)
  • Glance (Image service)
  • Barbican (Key management)
  • Ceilometer (Metering)
  • Heat (Orchestration)
  • Mistral (Workflow)
  • Sahara (Big Data processing)
  • Trove (Database as a Service)
  • Freezer (Backup, Restore and Disaster recovery)
  • Horizon (Dashboard)
  • … just to name a few

9 of 29

OpenStack Architecture

Keystone guaratees autentication and autorization for all components

10 of 29

Keystone

  • Identity service: authentication (login and password) and authorization (what you can do)
  • It manages 4 services:
    • Token service: any user will be associated to a token
    • Catalog service: it provides the list of available services
    • Policy service: it checks if the user requests are permitted or they are breaking some law (company or country point of view)
    • Assignment service: it defines a set of rules and it give them a unique name

11 of 29

Glance

  • Repository for images and metadata definitions
  • Services included:
    • Discovering
    • Registering
    • Retrieving virtual machine images

12 of 29

Nova

It is where the computation takes place, where the instances are running

It is fault tolerant, recoverable and provides API like Amazon EC2

It is built on a messaging architecture

13 of 29

Neutron

It is a network project focused on delivering Networking-as-a-Service (Naas)

It creates network and subnet to connect the various services

14 of 29

Swift

Object storage system

Everything is converted into a object (file, database, account, container, …)

It’s efficient, safe and chap

15 of 29

Cinder

It’s the Block Storage Service, it provides persistent block storage resources that OpenStack compute instances can consume

Let’s think Block Storage as a USB pen device

User can write images to a block storage device to use as bootable persistent instance

16 of 29

Horizon

It’s the OpenStack’s Dashboard which provides a web based user interface to OpenStack services including Nova, Swift, Keystone, etc

It allows user and administrator of the environment to interact with and manage the various functional components without having to install any local client tools other than a web browser

17 of 29

OpenStack basic view

18 of 29

OpenStack landscape

19 of 29

Horizon overview

20 of 29

Horizon instances

21 of 29

Horizon images

22 of 29

Horizon volumes

23 of 29

Horizon images

24 of 29

Horizon access and security

25 of 29

Chameleon project

  • Funded by National Science Foundation (NSF)
  • Large-scale platform to the open research community
  • Provides many features
    • OpenStack platform ready to use
    • Bare metal access to hardware types
  • Testbed
    • University of Chicago and Texas Advanced Computing Center
    • 650 multi-core cloud nodes
    • 5 PB of total disk space
    • 100 Gbps connection between sites

26 of 29

Chameleon project: getting started

  • Create a user account from here
    • Do not request PI status
    • Send your Chameleon username to your lecturer
    • Check if you can login into OpenStack dashboard from here

27 of 29

Chameleon project: getting started

  • Create a key pair
    1. Check if you already have a key pair:
      1. $HOME/.ssh/id_rsa and $HOME/.ssh/id_rsa.pub
    2. If yes import from OpenStack dashboard
      • Compute → Access & Security → Key Pairs → Import Key Pair

Use vi editor (or similar) to copy the pub key

28 of 29

Chameleon project: getting started

  • Create a key pair
    • Check if you already have a key pair:
      • $HOME/.ssh/id_rsa and $HOME/.ssh/id_rsa.pub
    • If NO create a new key pair by using terminal
      • ssh-keygen (just enter return at any questions)
      • Import the pub key as described in the previous slide

  • Now you are ready to run new instances

29 of 29

Source of this material

  • OpenStack website
  • What is openstack (youtube video)