Getting Started with HP Helion OpenStack Using the Virtual Cloud Installation Method 1
What is OpenStack Cloud Software? A series of interrelated projects that control pools of compute, storage, and networking infrastructure exposed as a consistent and open layer (API) for a heterogeneous infrastructure environment. IaaS(+) OpenStack Software delivers a massively scalable cloud operating system The OpenStack word mark and the Square O Design, together or apart, are trademarks or registered trademarks of OpenStack Foundation in the United States and other countries, and are used with the OpenStack Foundation's permission. 2
Back to basics: OpenStack Overview Open Source Infrastructure as a Service (IaaS) cloud computing platform Allocate Computing Resources to users Computing Power (CPU, Memory) Storage Space (Disk) Networking (Subnets) Users manage their Cloud Infrastructure Create / Terminate instances (VMs), Networks, Storage and deployment images http://www.openstack.org New release every 6 months Previous : October 2013 Havana Current : April 2014 IceHouse Next : October 2014 Juno Delivered under the Apache 2.0 license 3
High-Level View 4
OpenStack Components Horizon Heat Ceilometer Swift Glance Nova Cinder Neutron Keystone Interrelated projects, common API 5
Complexity Any Way You Look At It 6
Introducing HP Helion HP Helion is a portfolio of cloud products and services based on OpenStack that enable organizations to build, manage and consume workloads in a hybrid IT environment the enabling path for our customers to the New Style of IT 7
HP Helion OpenStack Community Edition Value Added Services OpenStack Management Distribution/ Upgrade Baremetal Install (TripleO) Dashboard (horizon) OpenStack Services Compute (nova) Volume (cinder) Object (swift) Networking (neutron) OpenStack Services Identity (keystone) Image (glance) Orchestration (heat) Telemetry (ceilometer) 8
HP Helion OpenStack Community Edition Installation and Configuration https://docs.hpcloud.com/helion/community/install-overview/ 2 installation methods: Virtual installation for testing and proof-of-concept use Multi-node, baremetal installation for small-scale production 9
A Cloud On Your Laptop? Why Not Three?... Overcloud Undercloud Seed 10
OpenStack on OpenStack (TripleO) There are many fragmented ways of deploying OpenStack. This is an open source method TripleO reuses OpenStack services and APIs to deploy OpenStack on hardware (Nova and Ironic) Heat provides deployment orchestration for hardware nodes, and captures hardware configurations for repeatable deployments TripleO can be implemented/merged with existing deployment methods. 11
The TripleO Installation Process 1) Deploy the Seed VM The Seed VM contains the minimum services required of OpenStack to be able to provision physical hardware to deploy the Undercloud 2) Deploy the Undercloud The Undercloud server is a single-node OpenStack installation used to deploy, test, manage, and update the Overcloud servers by Cloud Operators 3) Deploy the Overcloud The Overcloud is the functional cloud available to end users for running guest virtual machines and workloads 12
Virtual Installation Includes: 1 Undercloud 1 Overcloud controller 2 Swift nodes (in current release) 1 Overcloud compute node 1 Tenant VM Installer system requirements (per the documentation): At least 48 GB of RAM At least 200 GB of available disk space Ubuntu 13.10 or 14.04 installed 13
Virtual Install Architecture Seed VM 4GB RAM Undercloud 4GB RAM 2 levels of virtualization Overcloud Nova Compute 4GB RAM Overcloud Controller 4GB RAM Demo VM Instance 512MB RAM 14 Note: 2 more Nodes in v1.3
Hardware Requirements (unofficial) At least 16GB RAM Fast drive (to accommodate swapping and virtualization load) Documentation recommends 200GB available, but realistically uses around 80GB for install Virtualization Enabled in BIOS (must have this) 15
Step 1: Setup Base Hardware Install Ubuntu 13.10 or 14.04 LTS** Minimal, clean install recommended Install required packages qemu openvswitch libvirt python-libvirt openssh-server $ sudo apt-get install -y libvirt-bin openvswitch-switch python-libvirt qemu-system-x86 qemu-kvm openssh-server Reboot 16
Step 2: Generate Public/Private Key Pair Login as root: $ sudo su Generate a public SSH key (no passphrase use <ENTER> at prompts) # ssh-keygen -t rsa 17
Step 3: Download the Installation File Register and download the virtual install package from https://helion.hpwsportal.com the file is named Helion_Openstack_Community.tar.gz (5.3GB) Tip: Verify the checksum to confirm package integrity Releases to date: Preview Released May 2014 V1.2 Released June 2014 V1.3 Released July 2014 (Support Available) 18
Step 4: Unpack the Installation File Log in as root $ sudo su - Unpack the file $ tar zxvf ~path/helion_openstack_community.tar.gz This results in creation of a tripleo/ directory in the root s home directory At this point, the preparation process is complete 19
Step 5: Start the Seed VM NOTE: All STEPS MUST BE REPEATED FROM THIS POINT FORWARD EACH TIME THE PHYSICAL MACHINE IS REBOOTED Use the following command to start the seed VM # HP_VM_MODE=y bash -x ~root/tripleo/tripleo-incubator/scripts/hp_ced_start_seed.sh This process can take 10 minutes or more The first time this is run, it will check to ensure all of the required packages are installed. If you are prompted, accept all package installations You will see a lot of logging messages while the script runs If the Seed VM start is successful, a message is displayed Wed Aug 27 11:25:10 UTC 2014 --- completed setup seed 20
Step 6: Verify Seed VM Startup Confirm the seed VM is running by using the virsh list command # virsh list root@mymachine:~# virsh list Id Name State ---------------------------------------------------- 0 seed running Note: The Seed VM continues with self-initialization after the script has competed. Good idea to wait a few minutes.. 21
Possible Seed VM Start Errors Run the script a second time if needed error: unsupported configuration: Domain requires KVM, but it is not available -- Check that virtualization is enabled in the BIOS error: Failed to start domain seed error: unsupported configuration: SATA is not supported with this QEMU binary -- Change sata to ide in the seed machine template in ~/tripleo/tripleo-incubator/templates/vm.xml 22
Optional Aid: Seed VM Memory Management Note: The Seed VM is configured to use 4096MB of RAM. It is possible to reduce the VM memory allocation to conserve resources in extreme cases, although this will increase the load for swap files on your disk Open ~/tripleo/tripleoincubator/scripts/hp_ced_start_seed.sh Find MEMORY=${NODE_MEM:-4096} and change 4096 to the desired amount (ex. 2048) 23
Extras: View Network Updates After Seed Setup Display the newly created network interface $ ifconfig virbr0 24 virbr0 Link encap:ethernet HWaddr fe:54:00:84:dc:89 inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:171 errors:0 dropped:0 overruns:0 frame:0 TX packets:240 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:28599 (28.5 KB) TX bytes:49284 (49.2 KB) Display the new route entries $ route n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 br-eth0 192.0.2.0 192.168.122.106 255.255.255.0 UG 0 0 0 virbr0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br-eth0 192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Step 7: Connect to the Seed VM Confirm logged in as root on the Ubuntu host (if needed) $ sudo su - Connect via SSH to the Seed VM (hlinux) $ ssh 192.0.2.1 Type yes to allow the SSH connection to proceed when prompted for host authentication Ensure language environment is set (using the commands referenced during SSH connection setup), or via other methods* Success = root@hlinux:~# prompt 25
*Setting Language Environments To avoid an unsupported locale error when issuing Neutron commands from within the Seed VM, run the following root@hlinux:~# export LANG=C 26
Step 8: Start Undercloud and Overcloud install On the Seed VM, launch the install script root@hlinux:~# bash -x ~root/tripleo/tripleo-incubator/scripts/hp_ced_installer.sh Learn patience v1.3 release includes informational comments in the script - this could take up to 15 or more minutes - waiting for undercloud to stabililze - waiting for the overcloud stack to be ready - this could take up to 30 or more minutes - this is the final step expect to wait eight or more minutes Success = HP - completed -Wed Aug 27 16:20:02 UTC 2014 27
Step 9: Verify the Install Demo Guest VM On the Seed, setup the environment and list the running instance root@hlinux:~# source ~root/tripleo/tripleo-overcloud-passwords root@hlinux:~# TE_DATAFILE=tripleo/testenv.json root@hlinux:~# source ~root/tripleo/tripleo-incubator/overcloudrc-user root@hlinux:~# nova list The nova list command shows the running demo VM Record the IP address of the demo instance, and verify with PING and SSH* 28
Step 10: Verify the Install Overcloud On the Seed, access the overcloud and list the running instances root@hlinux:~# source ~root/tripleo/tripleo-undercloud-passwords root@hlinux:~# TE_DATAFILE=tripleo/testenv.json root@hlinux:~# source ~root/tripleo/tripleo-incubator/undercloudrc root@hlinux:~# nova list The nova list command shows the running overcloud instances NOTE: 2 instances using older releases, 4 instances using v1.3 (7/22) Record the IP address of the overcloud-controller node 29
Step 11: Connecting to the Horizon Console Obtain the passwords for the demo and admin users root@hlinux:~# grep OVERCLOUD_DEMO_PASSWORD ~root/tripleo/tripleo-overcloud-passwords root@hlinux:~# grep OVERCLOUD_ADMIN_PASSWORD ~root/tripleo/tripleo-overcloud-passwords Connect to the Horizon console http://192.0.8.2 for v1.3 (7/22) http://<ip of overcloud controller> for v1.2 Log in as demo or admin using the corresponding passwords 30
Horizon Interface 31
Demo VM Instance IP Address for SSH (v1.3) * Referenced in Step: 8 Verify the Install Demo Guest VM See PDF attachment for instructions for accessing Instances via SSH 32
Remote Connection to the Horizon Console Establish a tunnel on the local system (Linux) $ ssh -L 9999:<IP of overcloud controller>:80 <hostname or IP of remote system> On Windows, you can use PuTTY Expand SSH + Tunnels properties Enter 9999 as Source Port Enter the Horizon host IP as Destination Click <Add> Connect to the remote Horizon console from the local system http://localhost:9999 Log in as demo or admin using the corresponding passwords 33
Finished - Enjoy Your New HP Helion Cloud(s)!!! 34
Maintenance and Cleanup Notes For best performance, cleanup VMs and environment Delete the KVM VMs and their storage volumes using virsh commands Delete /tmp/seed_options and /var/lib/libvirt/images/ Uninstall any packages that you no longer require (apt) Delete the downloaded.tar package to recover space 35
More Information HP Helion OpenStack Community Documentation Home http://docs.hpcloud.com/helion/community/ Helion Developer Network http://dev.hp.com/helion HP Helion OpenStack Support Forum https://ask.openstack.org/en/questions/scope:all/sort:activitydesc/tags:hphelion/page:1/ (Tag your questions with HPHelion) 36
Thank You! Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.