Post on 11-Jun-2018
Getting Started withSUSE® OpenStack Cloud 6
Simon Flood
HPC System Administrator / SUSE Knowledge Partner
University of Cambridge
S.M.Flood@uis.cam.ac.uk
2
Agenda
● What is OpenStack and why SUSE OpenStack Cloud?● Software and hardware requirements● Setting up the Administration Server● Deploying OpenStack Nodes and Services● Launching an instance● Troubleshooting● Summary● Further information
3
Disclaimer
● I am not an OpenStack expert● I am not a SUSE employee
Fortunately at SUSECon there are people who are both!
4
What is OpenStack?
Open source software for creating private and public clouds
… collection of confusingly named projects (a.k.a. services)
… new code releases every six months
5
Common OpenStack architecture
http://docs.openstack.org/admin-guide/_images/openstack-arch-kilo-logical-v1.png
6
OpenStack releases
2010• October: Austin
2011• February: Bexar
• April: Cactus
• September: Diablo
2012• April: Essex
• August: SUSE Cloud released (Essex)
• September: Folsom
2013• April: Grizzly
• September: SUSE Cloud 2 released (Grizzly)
• October: Havana
2014• February: SUSE Cloud 3 released (Havana)
• April: Icehouse
• August: SUSE Cloud 4 released (Icehouse)
• October: Juno
2015• April: Kilo
• July: SUSE OpenStack Cloud 5 released (Juno)
• October: Liberty
2016• March: SUSE OpenStack Cloud 6 released
(Liberty)
• April: Mitaka
• October: Newton
7
Why SUSE OpenStack Cloud?
● SUSE is founding member and platinum sponsor of OpenStack Foundation
● SUSE were first to launch commercially supported OpenStack distribution
● Widest hypervisor support available● KVM● Xen● Microsoft Hyper-V● VMware vSphere● z/VM
● As easy to install as SUSE Linux Enterprise Server
8
What is SUSE OpenStack Cloud 6?
● Based on OpenStack Liberty release● Includes following as Technology Previews (unsupported)
● MongoDB as database for Ceilometer (Telemetry)● EqualLogic driver for Cinder (Block Storage)● Designate (DNS Service)● Ironic (Bare-Metal Provisioning)● Docker driver in Nova (Compute)● Sahara (Elastic Map Reduce)● Trove (Database)
● Uses SUSE Linux Enterprise Server 12 SP1● Integrates with SUSE Enterprise Storage 2.1 (Ceph)
9
SUSE OpenStack Cloud Infrastructure
Based on https://www.suse.com/documentation/suse-openstack-cloud-6/book_cloud_deploy/graphics/cloud_node_structure.png
10
RTFM
… or at least the Deployment Guide
Unsurprisingly it contains useful information like default network configuration!
11
My development environment
Dell Precision T5500• 2x Intel Xeon X5500 2.66GHz Quad Core CPU
• 24GB RAM
• 2x 2TB HDD (RAID 1)
openSUSE Leap 42.1• VirtualBox 5
● Add Host-only Network with IPv4 Address 192.168.124.1 (DHCP Server disabled)
• NTP server for 192.168.124.0/24● /etc/ntp.conf: restrict 192.168.124.0 mask 255.255.255.0
Was going to be 4x Dell OptiPlex Desktops!
Unfortunately MacBook with 8GB RAM too slow ...
12
Required software
● SUSE Linux Enterprise Server 12 SP1 for AMD64/Intel 64● https://download.suse.com/Download?buildid=oge_9GL0hBs~ (DVD1)
● SUSE OpenStack Cloud 6● https://download.suse.com/Download?buildid=3Y-KQIzQfnk~ (DVD1)
● python-requests >= 2.5.2● https://download.suse.com/Download?buildid=hZyJcXiceTk~ (2.8.1)
Free 60-day trial including patches and updates
13
Updated python-requests
Installation of SUSE OpenStack Cloud 6 assumes latest versions of packages
Later version of python-requests than supplied with SUSE Linux Enterprise Server 12 SP1 required for Keystone (Control) and Cinder (Storage)
Check● /var/log/zypper.log (Node)● /var/log/crowbar/chef-client/<node>.log (Administration Server)
14
Hardware requirements
RAM● Administration Server: 1024MB (physical at least 2GB, 4GB recommended)● Control Node: 1280MB (at least 2GB, 12GB recommended)● Compute Node: 1280MB (sufficient for your maximum concurrent instances)● Storage Node: 1280MB (1 or 2GB)
Hard disk● 50GB per server/node
● More in storage node● Thin provision
Networking● Single NIC attached to Host-only Network● Make sure Network is above Hard Disk in Boot Order
15
Deploying OpenStack
● Many ways to deploy OpenStack, including:● TripleO – OpenStack on OpenStack (OoO)
● Create an “undercloud” (deployment cloud) with enough to deploy and manage the “overcloud” (workload cloud)
● PackStack● Uses Puppet modules to deploy on pre-installed servers
● Most OpenStack distributions have their own way● SUSE OpenStack Cloud involves setting up an Administration
Server● Chef● Crowbar
17
Install the Administration Server
SUSE Linux Enterprise Server 12 SP1
Static IPv4 Address• 192.168.124.10
• admin.cloud.example.com
Default IPv4 Gateway• 192.168.124.1
Skip Registration
Add-On SUSE OpenStack Cloud 6
Edit Proposal Settings• Uncheck Propose Separate Home Partition
18
Install the Administration Server (continued)
NTP• Server Address 192.168.124.1
Change Software Patterns• Remove AppArmor, 32-Bit Runtime Environment, GNOME Desktop
Environment, and X Window System
• Check Meta package for pattern cloud_admin is selected
Disable Firewall
In Crowbar Configuration Overview set Repositories to Custom• Doesn’t appear to take any notice though!
19
Create Product Media repositories
● mount /dev/sr0 /mnt/● rsync -avP /mnt/ /srv/tftpboot/suse-12.1/x86_64/install/● umount /mnt● mount /dev/sr1 /mnt/● rsync -avP /mnt/ /srv/tftpboot/suse-12.1/x86_64/repos/Cloud/● umount /mnt
20
Pool and Update repositories
● SMT Server installed on Administration Server● Remote SMT Server● Remote SUSE Manager Server● Mount repositories from remote server● Synchronize repositories from remote server● Manually synchronize repositories from removable media
Or …● Create local repositories on Administration Server (currently
unsupported)
21
Create local software repositories
SUSE Linux Enterprise Server 12 SP1● mkdir -p /srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-Pool/rpm
● rsync -avP /srv/tftpboot/suse-12.1/x86_64/install/suse/{noarch,x86_64} /srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-Pool/rpm/
● createrepo /srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-Pool/● mkdir -p /srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-Updates/rpm/noarch
● copy updated python-requests RPM to above directory● createrepo /srv/tftpboot/suse-12.1/x86_64/repos/SLES12-SP1-Updates/
22
Create local software repositories (continued)
SUSE OpenStack Cloud 6● mkdir -p /srv/tftpboot/suse-12.1/x86_64/repos/SUSE-OpenStack-Cloud-6-Pool/rpm
● rsync -avP /srv/tftpboot/suse-12.1/x86_64/repos/Cloud/suse/{noarch,x86_64} /srv/tftpboot/suse-12.1/x86_64/repos/SUSE-OpenStack-Cloud-6-Pool/rpm/
● createrepo /srv/tftpboot/suse-12.1/x86_64/repos/SUSE-OpenStack-Cloud-6-Pool/
● mkdir -p /srv/tftpboot/suse-12.1/x86_64/repos/SUSE-OpenStack-Cloud-6-Updates/rpm
● createrepo /srv/tftpboot/suse-12.1/x86_64/repos/SUSE-OpenStack-Cloud-6-Updates/
23
Create local software repositories (continued)
Edit /opt/dell/crowbar_framework/config/repos-cloud.yml• Comment out repo-md “sections” for sles12-sp1-pool and sles12-sp1-updates
Otherwise Crowbar Dashboard will report wrong repository and won’t allow to be marked as active
24
Check the Administration Server
Check time synchronisation• /etc/ntp.conf should contain server 192.168.124.1
Check hostname -f returns fully qualified host name (admin.cloud.example.com)• /etc/hosts should contain one line for 192.168.124.10
– 192.168.124.10 admin.cloud.example.com admin
28
Allocate Nodes
Alias Public Name Description Group Intended Role
Admin admin admin
Control control control.cloud.example.com Control node control Controller
Storage storage1 storage1.cloud.example.com Storage node storage Storage
Compute compute1 compute1.cloud.example.com Compute node compute Compute
30
Apply OpenStack Barclamps
• Database– database-server: control
• RabbitMQ (messaging)– rabbitmq-server: control
• Keystone (identity)– keystone-server: control
• Glance (image service)– glance-server: control
• Cinder (block storage)– cinder-controller: control
– cinder-volume: storage1
• Neutron (networking)– neutron-server: control
– neutron-network: control
• Nova (compute)– nova-controller: control
– nova-compute-docker:• Technology Preview
– noval-compute-hyperv:
– nova-compute-kvm:
– nova-compute-qemu:• Not supported
– nova-compute-vmware:
– nova-compute-xen: compute1 (default)
– nova-compute-zvm:
• Horizon (dashboard)– horizon-server: control
31
A word on virtualization
VirtualBox• If want to simulate deploying KVM hypervisor to Compute Node deploy QEMU
hypervisor instead
KVM• For KVM on KVM need to configure nested KVM virtualization
34
Create an Image
CirrOS (for testing)• http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
SUSE Linux Enterprise Server 12 SP1 JeOS• https://download.suse.com/Download?buildid=6GivJqBH5WA~
OpenSUSE Leap 42.1• http://download.opensuse.org/repositories/Cloud:/Images:/Leap_42.1/images/
Others• http://docs.openstack.org/image-guide/obtain-images.html
35
Allowing external access
Add rules to Default security group• All ICMP Ingress CIDR 0.0.0.0/0
• SSH CIDR 0.0.0.0/0
Need to provide an external gateway• IPv4 192.168.126.1 (VLAN 300)
38
Troubleshooting
Nodes don’t appear in Crowbar Dashboard• Check time synchronization
● /var/log/crowbar/sledgehammer/<MAC_address>.<domain>.transcript
OpenStack services don’t deploy• Check error messages
● /var/log/zypper.log
Instances don’t deploy to a Compute Node• Check hypervisor type
39
Summary
● Install an Administration Server● Boot then allocate Nodes● Deploy OpenStack Services● Create an Image● Launch an Instance
You can see why SUSE won Intel’s Rule the Stack competition at three consecutive OpenStack Summits!
41
Further information
● SUSE OpenStack Cloud 6 documentation● https://www.suse.com/documentation/suse-openstack-cloud-6/
● OpenStack documentation● http://docs.openstack.org/liberty/
● SUSE OpenStack Cloud forum● https://forums.suse.com/forumdisplay.php?65-SUSE-OpenStack-Cloud