Last changed: 2024-02-21
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.
NREC is a collaboration project between the University of Bergen and the University of Oslo, with additional sponsorships from NeIC (Nordic e-Infrastructure Collaboration). We’ve been in production since 2016 and are currently providing cloud infrastructure for several high profile academic projects, including CERN’s ALICE and ATLAS experiments. Our hardware is located exclusively on-premise, our services are developed locally and we are almost entirely based on Open Source Software and open standards, making us a more transparent alternative to commercial cloud providers.
We are a community cloud aiming to provide a modern, flexible and secure IT infrastucture, tailored to the needs of the research and higher education sector.
Before using this cloud service, you should familiarize yourself with our Terms of Service.
The following educational institutions are allegeable for using NREC. The requirement is that you have a Feide account from any of these universities or colleges. NREC is free for UiB and UiO. This includes both private and shared projects.
University / College / Organization
Type of access
Before using the service, you must register with the authentication mechanism and the service itself. This is explained in detail in Logging in.
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.
According to standard definitions of cloud computing, there are three layers:
The NREC 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 is an open source cloud computing software, which provides an efficient pooling of on-demand, self-managed virtual infrastructure, consumed as a service.
OpenStack is a large framework that consists of an increasingly growing number of components. The following components are installed in NREC. 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.
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.
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.
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.
The OpenStack infrastructure located at the University of Bergen (UiB).
The OpenStack infrastructure located at the University of Oslo (UiO).
A container used to group a set of resources such as virtual machines, volumes and images with the same access rights and quota.
A per-project limit such as the total number of cores or RAM permitted for a set of virtual machines.
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).
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.
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.
A snapshot provides a copy of a currently running VM or volume which can be stored into an external service such as Glance.
You may encounter the following notices:
A regular note, usually to explain something in more detail.
An important notice, something you need to be aware of.
A practical tip, shortcuts etc.
Tread carefully, easy to make mistakes..
Warns about something potentially dangerous or destructive.
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:
Some command output
If the command should be run by the root user, the prompt will instead be the following:
Some command output