Jump to content
From ArchWiki

OpenStack is a global collaboration of developers and cloud computing technologists producing the ubiquitous open source cloud computing platform for public and private clouds. The project aims to deliver solutions for all types of clouds by being simple to implement, massively scalable, and feature rich. The technology consists of a series of interrelated projects delivering various components for a cloud infrastructure solution

## Components

- Compute (Nova) — Nova is the OpenStack project that provides a way to provision compute instances (aka virtual servers).

  https://docs.openstack.org/nova/latest/ || openstack-novaAUR

- Networking (Neutron) — Neutron is an OpenStack project to provide "network connectivity as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., nova). It implements the OpenStack Networking API.

  https://docs.openstack.org/neutron/latest/ || openstack-neutronAUR

- Image Service (Glance) — The Image service (glance) project provides a service where users can upload and discover data assets that are meant to be used with other services.

  https://docs.openstack.org/glance/latest/ || openstack-glanceAUR

- Block Storage (Cinder) — Cinder is the OpenStack Block Storage service for providing volumes to Nova virtual machines, Ironic bare metal hosts, containers and more.

  https://docs.openstack.org/cinder/latest/ || openstack-cinderAUR

- Identity (Keystone) — Keystone is an OpenStack service that provides API client authentication, service discovery, and distributed multi-tenant authorization by implementing OpenStack’s Identity API.

  https://docs.openstack.org/keystone/latest/ || openstack-keystoneAUR

- Dashboard (Horizon) — Horizon is the canonical implementation of OpenStack’s Dashboard, which provides a web based user interface to OpenStack services including Nova, Swift, Keystone, etc.

  https://docs.openstack.org/horizon/latest/ || openstack-horizonAUR

## Deploy OpenStack

This article or section needs expansion.

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:OpenStack)

## Images

### Available images

Official Openstack images are available from most popular distributions of GNU/Linux.

The official Arch cloud-image can be downloaded from: https://gitlab.archlinux.org/archlinux/arch-boxes

### Creating images yourself

OpenStack images need to meet certain requirements. An image can be prepared manually or with help from a tool.

For a tool, image-bootstrap with the `--openstack` parameter may be of help. As of 2015-06-24, resulting images are still in experimental stage.

For manual creation, the essential steps are:

- Partitioning a disk with a single ext3/4 partition.
- Installing a base system (e.g. using `pacstrap` of arch-install-scripts) to it
- Installing a boot loader (e.g. GRUB or extlinux)
- Installing and configuring cloud-init
- Adding an unpriviliged user able to run sudo without a password
- Configuring `eth0` for DHCP
  - Configuring udev to name network interfaces `eth*`
  - Configuring systemd-networkd to use DHCP on `eth0`
- Installing SSH server
- Adjusting initramfs creation and regenerating initramfs images
  - Disabling the `autodetect` hook (since autodetection works differently from a chroot)
  - Either activating hook `growfs` from mkinitcpio-growrootfsAUR or installing `growpart` from cloud-utils and have cloud-init do resizing by itself
- Making services start automatically by enabling them
- Deleting generated keys (i.e. those of the SSH server and pacman); optionally generating new ones during first boot
- Delete machine IDs (`/etc/machine-id` and `/var/lib/dbus/machine-id`) so that two systems are not mistaken for the same thing

## See also

- Wikipedia:OpenStack

Category:

- Networking

Hidden category:

- Pages or sections flagged with Template:Expansion