www.suse.com
Best Practices Guide
SUSE
®Cloud Installation: Best
Practices Using an Existing SMT
and KVM Environment
Written by B1 Systems GmbH
Table of Contents
Introduction... 3
Use Case Overview...3
Hardware Requirements... 4
Prerequisites... 5
Allocating Nodes... 6
Deployment... 8
Database... 9
Keystone... 10
Glance... 11
Nova... 12
Nova Dashboard... 13
Sources... 14
I n t r o d u c t i o n
The following best practices guide highlights the installation process of a SUSE® Cloud Environment for a production use case as described in the Use Case Overview section. It is based on SUSE Linux Enterprise Server 11 Service Pack 2, SUSE Cloud 1.0 and Subscription Management Tool (SMT) 11 for SUSE Linux Enterprise.
With this setup you will be able to provide a full Infrastructure-as-a-Service (IaaS) cloud environment to respond rapidly and more accurately to new requirements. Whether launching a new product, rolling out a new internal service, or just responding to a spike in user demand, SUSE Cloud equips you with a dynamic and flexible cloud environment. This setup does not provide an internal SMT, which allows you to use your existing one.
Redundant administration therefore is not necessary.
This best practices guide gives just a quick overview of important steps during installation. Please refer to the official SUSE Cloud Documentation and Deployment Guide to get more detailed information on the installation process. The download and documentation links can be found in the Sources section.
Note: A buggy configuration will lead to unpredictable states during or after installation, which can only be resolved by re-installation. Once you have installed Crowbar on your SUSE Cloud Administration Server, it is no longer possible to change the network configuration. The same situation applies to nodes running OpenStack components. Removing a node from a role (e.g., as Keystone server) will not stop and remove the service on the node itself. You have to reinstall the node via the Administration Server Dashboard to have a “clean” system.
Use Case Overview
With this use case SUSE Cloud will be deployed with the following components:
• SUSE Cloud Administration Server with Crowbar, TFTP, PXE Server and using an external SMT server
• SUSE Cloud Control Node, which includes a database, identity and authentication system (Keystone), image repository (Glance) and user interface (Dashboard)
•
SUSE Cloud Compute Nodes, which will host cloud workloads. These servers will have nova-
compute deployed and are built on SUSE Linux Enterprise Server 11 SP2 with KVM
• Shared storage for live migration
Illustration 1: SUSE Cloud Infrastructure Overview
Hardware Requirements
To set up the environment you need at least four physical machines:
(please refer to chapter “2.1 Requirements” in the official SUSE Cloud Deployment Guide)
• 1 system as SUSE Cloud Administration Server, which runs Crowbar (can run as VM for testing purposes only)
• 1 system as SUSE Cloud Control Node (can run as VM for testing purposes only)
• 2 systems or more as SUSE Cloud Compute Nodes
This setup has been tested with the following x86_64 hardware:
• Administration Server —2 Core CPU, 8 GB RAM, 80 GB HDD for OS
• Control Node — 2 Core CPU, 8 GB RAM, 80 GB HDD for OS
• Compute Node — 2 8 Core CPUs, 128 GB RAM, 80 GB HDD for OS
P r e r e q u i s i t e s
Before we deploy the needed components, we need to install the SUSE Cloud Administration Server (SUSE Cloud Deployment Guide, 3.1 Installation). Since we are using an external SMT server, we do not need to install an SMT server on the SUSE Cloud Administration Server.
After the installation script (/opt/dell/bin/install-chef-suse.sh) is finished configuring the Administration Server, Crowbar should be accessible through the Administration Server Dashboard:
Illustration 2: Administration Server Dashboard
To use an external SMT the AutoYaST file has to be changed:
crowbar:~ # vim /opt/dell/chef/cookbooks/provisioner/templates/default/autoyast.xml.erb
Find the add-on-product section and change every media url to your needs:
http://smt.example.com/$RCE/SUSE-Cloud-1.0-Pool/sle-11-x86_64/
As every configuration will be provided by Chef, we have to upload the new file to the Chef server by using knife, which is the administrators command line tool for interacting with the Chef server:
crowbar:~ # knife cookbook upload -o /opt/dell/chef/cookbooks/ provisioner
Now wait for Chef to publish the new AutoYaST file. The file /srv/tftpboot/suse-11.2/autoyast.xml should be adjusted within several minutes. All nodes that are allocated after this step will use this file for installation.
A l l o c a t i n g N o d e s
After booting either the control node or compute nodes, via PXE, they will appear in the Administration Server Dashboard. Initially they get named by their MAC address and a leading “d” for “discovered.” Wait until the node is marked yellow. Now allocate the nodes:
• Choose the first node, this will be the Control Node
• Click on “Edit”
• Change alias and group according to your needs (we use “controller-node” and “controller” for this manual)
• Click on “Allocate”
Illustration 3: Administration Server Dashboard—Allocate Node
The SUSE Cloud Administration Server using Crowbar will now install SUSE Linux Enterprise Server 11 SP2 on the Control Node. After the installation has finished, the node will be marked green and is now ready to receive the OpenStack components. Repeat this step for every node you want to use in the cloud environment. It is advisable to group the nodes by their use: for example, create separate groups for the control, storage and compute nodes.
After you have allocated all nodes, you can see them grouped in the Nodes Overview.
Illustration 4: Administration Server Dashboard—All Nodes are Allocated
D e p l o y m e n t
Using the SUSE Cloud Administration Server Dashboard you can create different configurations, called
“proposals,” for every component. All proposals of the same component get summarized by Crowbar in barclamps. To deploy an OpenStack component you have to create a proposal and apply this to a node. In the dashboard you can get a list of all existing barclamps for OpenStack:
Illustration 5: Administration Server Dashboard—OpenStack Barclamps
You need to deploy all OpenStack components in the listed order. After you apply a proposal, Crowbar needs some time to update the configuration. While the system is waiting for the configuration to complete, you will see both the proposal and the affected nodes marked as “work in progress” by yellow-green spinning dots. Always wait until the deployment of a proposal is finished before applying the next one.
Database
Create a new Database proposal and change the name and the description according to your needs. In the Node Deployment section you can drag and drop nodes from the Available Nodes column to the desired role. As we want to run the database service on the controller-node, drag it to the role and remove all unwanted nodes.
Illustration 6: Administration Server Dashboard—Create Database Proposal
Do not change the SQL Engine, as MySQL is not supported by SUSE Cloud 1.0. By clicking “Apply” the service will be configured on the assigned node. In addition to using the input fields there is always the option to edit the configuration in the raw edit mode by choosing the link “Raw” at the right side of the panel.
Note: Always save after editing in the raw edit mode before applying any other changes to the proposal.
Keystone
Create a new Keystone proposal. It is advisable to give all proposals the same name if they belong to the same setup (e.g., UseCase02), so it's easier to assign new services to existing proposals later.
Illustration 7: Administration Server Dashboard—Create Keystone Proposal
Choose the previously created Database proposal “UseCase02” as SQL Instance and assign the controller-node to this role. In this screen some log-in credentials can be chosen. You need them later to log in to the OpenStack Dashboard. Apply the proposal if you're finished with the configuration.
Glance
Create a new Glance proposal. From all the options you can set in this proposal, the important ones for our use case are:
• Image Store Directory — In this directory Glance will store all uploaded images. You can define separate partitions or mounted directories here, too.
• Bind to All Addresses (API/Registry) — Set this to “true” to permit image uploads from outside the node Glance is running on.
Illustration 8: Administration Server Dashboard—Create Glance Proposal
After you are finished with the Glance configuration, drop the controller-node to this role, too, and apply the proposal.
Nova
Create a new Nova proposal. In this proposal we have to set the following values:
• Hypervisor — Set to KVM
• Allow Same-Network Traffic — Enable this to access the cloud from the public VLAN
Illustration 9: Administration Server Dashboard—Create Nova Proposal
Now drop the controller-node to the “Nova-multi-controller” role and add every node you want to use as compute node to the “Nova-multi-compute” role. Finally, apply this proposal.
Note: If you add more compute-nodes later, just boot them until they get discovered by Crowbar and add them to the “Nova-multi-compute” role. If they are not installed yet, Crowbar will do so and apply the role when finished.
Nova Dashboard
Create a new Nova Dashboard proposal. As we want to run this service on the controller-node, too, drop it to the
“Nova-dashboard-server” role and apply the proposal.
Illustration 10: Administration Server Dashboard—Create Nova Dashboard Proposal
Note: Once this proposal is installed, the OpenStack deployment is finished. You are now able to log in to the OpenStack Dashboard, which is running on the controller-node (http://192.168.122.2:80 in this setup).
For details on uploading cloud images and managing your OpenStack Cloud (launch instances, administrator, users, etc.), please refer to the official “SUSE Cloud User Guide for Administrators” (part of the official documentation).
S o u r c e s SUSE Cloud 1.0
• Official documentation: https://www.suse.com/documentation/suse_cloud10
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=W1JGPzPqUUU ~ Subscription Management Tool 11
• Installation Guide: https://www.suse.com/documentation/smt11/
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=5qJ9eEidDzs ~ SUSE Linux Enterprise Server 11 SP2
• ISO Images: http://download.novell.com/protected/Summary.jsp?buildid=h0AOp5AT-18~