OpenStack

From ArchWiki
Jump to: navigation, search

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)

novaAUR[broken link: archived in aur-mirror] is available in the AUR.

Networking (Neutron)

neutron-serverAUR[broken link: package not found] is available in the AUR.

Image Service (Glance)

glanceAUR[broken link: archived in aur-mirror] is available in the AUR.

Block Storage (Cinder)

cinder-icehouseAUR is available in the AUR.

Object Storage (Swift)

Swift is not available in Arch, yet.

Identity (Keystone)

keystone is available in the AUR.

Dashboard (Horizon)

horizon-debAUR[broken link: archived in aur-mirror] is available in the AUR.

Telemetry (Ceilometer)

Orchestration (Heat)

heat-engineAUR[broken link: package not found] is available in the AUR.

Deploy OpenStack

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

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.

Images for Arch are work in progress. http://linuximages.de/openstack/arch/ has experimental images for download.

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
  • 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-utilsAUR and have cloud-init do resizing by itself
  • Making services start automatically (e.g. using systemctl enable ...)
  • 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