2. # whoami
EmilienM on IRC
25 old
Student in Master Degree (Part time)
OpenStack Operator at eNovance :
Maintain and manage eNoCloud (Public
Cloud using OpenStack)
Building CloudWatt Cloud
OpenStack contributor (HA stuffs + doc)
3. OpenStack
Created in 2010 by NASA & RackSpace
Licence Apache 2.0
Manage IaaS
Open-Source Framework
API, Plugins, Drivers
Multi-tenancy, Scalable, multi-plateform
Developed in Python
4. OpenStack in the IaaS*
IaaS Components OpenStack Projects
Nova
Compute (Virtual Machines)
Swift
(Object Storage)
Storage
Cinder
(Block Storage)
Quantum
Networking
(Virtual Networking)
* Infrastructure as a Service
5. Get the VM
Download it : http://goo.gl/01Dr5
Ubuntu 12.04 with Cloud Archives
root / password
MySQL installed
Scripts already in /root
Packages downloaded, NOT installed
Usable with VMware & Virtual Box
7. Networking
1 NIC for Management (192.168.0.0/24)
→ « NAT »
1 NIC for Data (10.10.10.0/24)
→ « Internal »
1 NIC for Public (7.7.7.0/24)
→ « Bridge » with WLAN or Ethernet
8. Common Services
MySQL (Backend Databases)
→ Used by Keystone, Glance, Nova,
Cinder, and Quantum.
RabbitMQ (Middleware for queuing)
→ Used by Glance, Nova, Cinder and
Quantum.
9. Keystone : Identity as a Service 1/2
Identity (Users, tenants, roles, metadata)
→ Can be backed by LDAP
Token : Authentify requests from user /
tenant
Service Catalog : Endpoint registry
Policy Services : Rule-based authorization
engine
10. Keystone : Identity as a Service 2/2
1) Install packages & Configuration
2) Synchronize the Database
3) Create Users, Tenants, Roles
4) Create Services and Endpoints
5) Test the identity.
11. Glance : Image Delivery 1/2
Discovering, Registring, Retrieving Virtual
Machine images.
The images can be stored in : regular FS,
RBD (Ceph), Amazon S3 or Swift.
Disk Formats : raw, vhd, vmdk, vdi, iso,
qcow2, aki, ari, ami.
Container Formats : bare, ovf, aki, ami, ari.
13. Cinder : Block Storage 1/2
Formerly « nova-volume »
Create / Delete / Attach / Detach volumes
to a VM
Storage backed by : NFS, iSCSI, SolidFire,
NetAPP, etc...
14. Cinder : Block Storage 2/2
1) Prepare the second disk with LVM
2) Install packages & Configuration
3) Synchronize the Database
4) Create a 1GB volume for testing
15. Quantum : Networking 1/2
Provides connectivity to Vms
Manage L2 & L3 with an API
Networking backed by plugins : Open-
vSwitch, Linux Bridge, Cisco, OpenFlow
(BigSwitch, Floodlight, NEC, Ryu, etc),
Midonet (Midokura) and NVP (Nicira /
Vmware).
16. Quantum : Networking 2/2
1) Install packages & Configuration
2) Create virtual L2 with Open-vSwitch
3) Create virtual L3 with the script
4) Configure L3 Agent
17. Nova : Compute Service 1/2
Manages Virtual Machines
Libvirt friendly
Hypervisors supported : KVM / qemu, Xen,
Hyper-V (all ready for production)
Interact with other services (Cinder,
Quantum, Glance, Keystone, etc)
18. Nova : Compute Service 2/2
1) Install packages & Configuration
2) Synchronize the Database
3) Configure the Hypervisor
4) Spawn a VM with CLI
19. Horizon : Dashboard 1/2
Developped with Python / Django
Manage VMs, Images, Identity, Volumes
Not yet full-integraded with Quantum :
only L2 is working. L3 should be managed
from CLI.
20. Horizon : Dashboard 2/2
1) Install the packages
2) Connect to the dashboard :
→ http://<ip>/horizon
21. Start your first VM !
Use demo tenant / user
Check networking before
Spawn a VM from CirrOS image
Attach the virtual port to a floating IP
(from Quantum CLI)
Ping the VM
SSH the VM
Play with volumes