automating hard things may 2015
TRANSCRIPT
NYC OpenStack meet
Mark BakerOpenStack Product Group @ Canonical
Automating hard things
The promise of OpenStack
1. Do things faster2. Maybe do them cheaper
Both of these are really hard to achieve without automation
Hard things to automate
1. Hardware2. Deploying OpenStack3. Deploying OpenStack from Source with
code from $your_source
Hard things to automate
1. Hardware2. Deploying OpenStack3. Deploying OpenStack from Source with
code from $your_source
Deploy from source - demo
Why did cloud succeed?
Why did cloud succeed?
1. Re-introduced the concept of pay-as-you-go computing infrastructure
2. Solved a very common use case in a spectacular way
Developer Bob says:Give me a new server to run this
thing I'm working on
Bob's Use Case
1. Give me a new server machine(with this much CPU, RAM, disk)
2. Install my chosen operating system
3. With the drives configured like this
4. On this specific network
5. With my credentials on it
Developer Bob says:Can it be this week? Ah, OK.Well, can it be this month?
Wouldn't it great if bare metal..
was just like the cloud?
Any OSWindows
Custom images
“Please provide a machine with 24 GB RAM, a root
disk of 300GB and at least 6 more 3TB disks, and an
nVidia GPGPU”
Story
Ubuntu, Red Hat, SUSE
MAASMachine configuration
Service orchestration
Manual setup
“Please provide a machine with 24 GB RAM, a root
disk of 300GB and at least 6 more 3TB disks, with an
nVidia GPGPU”
Story
What can MAAS do?
● Discover new hardware● Configure disks● Configure networking● Install an operating system● Set up admin credentials● Configure devops automation
Chef & MAAS● Fully-supported devops automation
● Manage bare metal kit with knife & Chef provisioning
How does MAAS do it?● Packs in a lot of functionality
DHCP, DNS, TFTP, iSCSI, HTTP
IPMI, iLO, DRAC, UCS, AMT
● Probes and configures BMCs and PDUs & remotely controls machine power state
● Unique image-based installer
● Detects hardware component details & auto-tags machines based on capabilities
● Models L2 & L3 networks & interfaces
● Secure decommission
Cloud-style RESTful API● Find me a node
POST /api/1.0/nodes/?op=acquire
[cpu_count, mem, arch, tags, name]
● Install OS & boot
POST /api/1.0/nodes/{id}/?op=start
● Get node hardware & LLDP details
GET /api/1.0/nodes/{id}/?op=details
● Discover servers in a chassis
POST /api/1.0/nodegroups/{id}/?op=probe
What should I use MAAS for?● Managing bare-metal at scale
OpenStack, Web, Storage, Hadoop & more
● Replacing homegrown provisioners
Fully supported PXE & OS install
● Building your own bare-metal cloud
Embedding MAAS is easy
● Keeping your ops team happy
Abstract your bare-metal complexity
Region Controller
- highly available- users and groups- resource allocation- central postgres db- machine inventory
Machine allocation, status, workflows, web UI. Needs low bandwidth to many clusters.
Handles 100,000 machines.
Cluster Controller
- close to machines- typically in-rack- large-file cache
Provides PXE boot and OS delivery for installation.
Has high bandwidth to a few servers - the cluster.
Cluster Controller
Cluster Controller
Cluster Controller
Cluster Controller...
serverserver…typically x 10-200serverserver
… serverserverserver…
1x HA 2000x 100,000xStory
Automating Deployment of OpenStackThe OpenStack Autopilot
1
2
3
4
5
Reality meets design
Autopilot deploys OpenStack
1
2
3
4
5
Reality meets design
Autopilot deploys OpenStack
Autopilot monitors cloud state
1
2
3
4
5
Reality meets design
Autopilot deploys OpenStack
Autopilot monitors cloud state
Administrator allocates additional resources
1
2
3
4
5
Reality meets design
Autopilot deploys OpenStack
Autopilot monitors cloud state
Administrator allocates additional resources
Autopilot calculates delta between current state and desired state
1
2
3
4
5
Reality meets design
Autopilot deploys OpenStack
Autopilot monitors cloud state
Administrator allocates additional resources
Autopilot calculates delta between current state and desired state
Autopilot orchestrates service models until reality meets design
Demo!
Coming soon…..More choices, more flexibility, more OpenStack
More choices
Hypervisor Storage
SwiftLXD Containers Ceth
Networking
1
2
3
4
5
More intelligence
Hardware roles
Hardware quotas
Node maintenance
Controlled cloud reboot
Architecture optimisations
1
2
3
4
5
More intelligence
Hardware roles
Resource quotas
Node maintenance
Controlled cloud reboot
Architecture optimisations
1
2
3
4
5
More intelligence
Hardware roles
Resource quotas
Node maintenance
Controlled cloud reboot
Architecture optimisations
1
2
3
4
5
More intelligence
Hardware roles
Resource quotas
Node maintenance
Controlled cloud reboot
Architecture optimisations
1
2
3
4
5
More intelligence
Hardware roles
Resource quotas
Node maintenance
Controlled cloud reboot
Architecture optimisations
OpenStack upgrades: Kilo -> Liberty
Canonical’s OpenStack CI-as-a-Service
● Validate code with upstream git tip or stable● Validate new vendor code against upstream git tip or stable● Validate enterprise branches against upstream git tip or stable
● Run CI tests in “real-world” multi-node scenarios● Build a cloud of arbitrary scale and complexity from tip● Deploy to metal, cloud, or virtualized environment● Verify deployed cloud with Tempest, Rally, or other tests
MAAS Juju OpenStack Jenkins OILTesting
What’s supported from source?
Questions?
Demo Backup