Ubuntu OpenStack Reference Architecture on Open Compute Hardware
Visit the Product Pricing Page here.
This document provides a reference architecture for users to build an OpenStack environment with Open Compute Project (OCP) hardware and the Ubuntu 14.04 LTS operating system. It is composed of recommended hardware, software architecture and the validated installation steps to help users to set up clouds from bare metal.
Purpose of this OpenStack reference architecture
OpenStack is the most popular open cloud platform for building and managing clouds. But its complexity creates a barrier to users wishing to adopt it. Therefore, when we performed the first verification of OpenStack on top of OCP designed hardware, Hyperscalers QCT Rackgo X created this reference architecture, including recommended selection of hardware, software logical diagram and installation steps and tips, which serves as guidance for users to easily understand and implement an open cloud environment with The Canonical Distribution of Ubuntu OpenStack using QCT hardware.
QCT OCP hardware Rackgo X overview
Hyperscalers QCT's Rackgo X supports the latest generation of Intel® Xeon® processor E5-2600 v4 product family providing unprecedented compute performance. It is a rack solution based on the Open Compute Motherboard Spec v3.0 design. It’s designed for low CAPEX and OPEX with simplicity, energy and cooling efficiency, high density, serviceability, scalability, and manageability. We’ve verified Canonical’s Ubuntu OpenStack using Rackgo X as it is suited for cloud service providers or enterprise datacenters looking for the highest level of scalability and efficiency.
OpenStack and Canonical
This reference architecture is based on the Canonical Distribution of Ubuntu OpenStack. Canonical, the company behind the Ubuntu operating system, and Platinum Member of the OpenStack foundation, was the first company to commercially distribute and support OpenStack. Ubuntu is the reference operating system for OpenStack deployments, making it the easiest way to build an OpenStack cloud, and since 2011 the latest version of OpenStack has been included in every Ubuntu release. The release schedules of the two projects are synchronized, ensuring that OpenStack updates and releases are immediately available on widely deployed releases of Ubuntu.
Juju is a state of the art, open source service orchestration tool. It forms part of Ubuntu’s cloud portfolio, together with Ubuntu Server, OpenStack, MAAS for bare-metal provisioning, and Landscape for systems management and monitoring. Juju allows you to configure, manage, maintain, deploy and scale cloud services quickly and efficiently on public clouds as well as on bare-metal via MAAS, OpenStack, and LXC. You can choose to use Juju from the command line or through its beautiful and powerful GUI.
Metal As A Service, or ‘MAAS’, is a tool that helps you manage your physical infrastructure with the same ease and flexibility as virtual machines in the cloud. Specifically, MAAS allows you to:
Installing the MAAS server
Installing MAAS is very straightforward; it can be done either during OS installation or after OS has been installed. The following steps will outline installing MAAS version 1.7.1 after the OS has been installed.
The steps below assume that you have created a user called qctroot during the installation of Ubuntu Server. It may also be useful to install openssh-server during package selection.
Additional software repositories may need to be defined before installing some packages or upgrading the system. The commands below can be used for adding repositories to the apt sources.
$ sudo add-apt-repository ppa:maas-maintainers/stable
$ sudo apt-get update
Enable IP forwarding if you are using your MAAS server as your gateway so that Juju nodes can retrieve packages from external repositories.
Enable IPv4 forwarding, please edit /etc/sysctl.conf
$ sudo vi /etc/sysctl.conf
Un/.comment the line:
Save and run the following command to make change effective.
$ sudo sysctl -w net.ipv4.ip_forward=1
Edit /etc/rc.local $ sudo vi /etc/rc.local