Introduction

Last changed: 2019-08-05

The UH-IaaS cloud is based on OpenStack, which is a large framework of software components used to deliver an Infrastructure-as-a-Service consisting of compute, networking and storage resources.

This document is aimed at the end user. We’ll borrow a lot from the OpenStack End User Guide, including linking to this guide where appropriate.

Who can use the UH-IaaS cloud?

Important

Before using this cloud service, you should familiarize yourself with our Terms of Service.

All users at educational institutions that are allegeable for access can use the UH-IaaS cloud. All you need is an account any of these universities or colleges.

University / College / Organization Type of access
The Arctic University of Norway (UiT) Limited testing
Norwegian University of Life Sciences (NMBU) Limited testing
UNINETT Limited testing
University of Bergen (UiB) Full Access
University of Oslo (UiO) Full Access

Before using the service, you must register with the authentication mechanism and the service itself. This is explained in detail in Logging in.

What can you do with the UH-IaaS cloud?

As an OpenStack cloud end user, you can provision your own resources within the limits set by cloud administrators.

The examples in this guide show you how to perform tasks by using the following methods:

  • OpenStack dashboard. Use this web-based graphical interface to view, create, and manage resources.
  • OpenStack command-line clients. Each core OpenStack project has a command-line client that you can use to run simple commands to view, create, and manage resources in a cloud and automate tasks by using scripts.

You can modify these examples for your specific use cases.

In addition to these ways of interacting with a cloud, you can access the OpenStack APIs directly or indirectly through cURL commands or open SDKs. You can automate access or build tools to manage resources and services by using the native OpenStack APIs.

To use the OpenStack APIs, it helps to be familiar with HTTP/1.1, RESTful web services, the OpenStack services, and JSON or XML data serialization formats.

Concepts

Overview

According to standard definitions of cloud computing, there are three layers:

Public Domain, https://commons.wikimedia.org/w/index.php?curid=18327835

The UH-IaaS cloud provides

  • Self service via a web portal to create, manage and delete virtual machines.
  • Programmable through command line tools and programming language libraries.
  • Elasticity, in that you can create virtual machines (up to your quota) and delete them when they are no longer needed.
  • Efficiency by consolidating small virtual machines onto physical hardware.
OpenStack overview

OpenStack is an open source cloud computing software, which provides an efficient pooling of on-demand, self-managed virtual infrastructure, consumed as a service.

OpenStack components

OpenStack is a large framework that consists of an increasingly growing number of components. The following components are installed in the UH-IaaS cloud. Each of the components have a general description and a code name. The latter is mostly used in development, but both terms are used interchangeably.

Component Description
Compute (Nova) Manages the lifecycle of compute instances in an OpenStack environment. Responsibilities include spawning, scheduling and decomissioning of machines on demand.
Block Storage (Cinder) Provides persistent block storage to running instances. Its pluggable driver architecture facilitates the creation and management of block storage devices.
Identity service (Keystone) Provides an authentication and authorization service for other OpenStack services. Provides a catalog of endpoints for all OpenStack services.
Image service (Glance) Stores and retrieves virtual machine disk images. OpenStack Compute makes use of this during instance provisioning.
Dashboard (Horizon) Provides a web-based self-service portal to interact with underlying OpenStack services, such as launching an instance, assigning IP addresses and configuring access controls.
Networking (Neutron) Enables network connectivity as a service for other OpenStack services, such as OpenStack Compute. Provides an API for users to define networks and the attachments into them. Has a pluggable architecture that supports many popular networking vendors and technologies.

Glossary

BGO
The OpenStack infrastructure located at the University of Bergen (UiB).
OSL
The OpenStack infrastructure located at the University of Oslo (UiO).
Project
A container used to group a set of resources such as virtual machines, volumes and images with the same access rights and quota.
Quota
A per-project limit such as the total number of cores or RAM permitted for a set of virtual machines.
Flavor
A Flavor is the definition of the size of a virtual machine and its characteristics (such as 2 core virtual machine with 8 GB of RAM).
Image
A virtual machine image is a single file that contains a virtual disk that has a bootable operating system installed on it. Images are used to create virtual machine instances within the cloud.
Volume
Volumes are block storage devices that you attach to instances to enable persistent storage. You can attach a volume to a running instance or detach a volume and attach it to another instance at any time. You can also create a snapshot from or delete a volume.
Snapshot
A snapshot provides a copy of a currently running VM or volume which can be stored into an external service such as Glance.

Conventions

Notices

You may encounter the following notices:

Note

A regular note, usually to explain something in more detail.

Important

An important notice, something you need to be aware of.

Tip

A practical tip, shortcuts etc.

Caution

Tread carefully, easy to make mistakes..

Warning

Warns about something potentially dangerous or destructive.

Command prompts

A lot of OpenStack interaction is possible by utilizing the command prompt. When describing something that should be done on the command line, this text will use the following convention:

$ command
Some command output

If the command should be run by the root user, the prompt will instead be the following:

# command
Some command output