Office of Technology
Zuul
Ansible
Technical Committee
Foundation Board of Directors
Developer Infrastructure Core Team
As an application developer,
I want to deploy and run an application on the internet
so that my customers all over the world can consume it.
As an operator,
I want to deploy the application across multiple clouds
so that my service survives issues in any one of them.
As a compliance officer,
I want to deploy and run an application in a location of my choosing
so that I can comply with regulatory demands.
10-20k VMs per-day
12 Cloud Regions in 8 clouds
Only using OpenStack APIs
Every commit is fully integration tested (twice) before landing
This is that "cloud scale out" part

A library to handle config information for openstack clients
Tracks differences in vendors that can't be discovered
In use in python-openstackclient and ansible
~/.config/openstack/clouds.yaml
clouds:
citycloud:
profile: citycloud
auth:
username: mordred
password: XXXXXXXXXXXXXXXXXXXXX
project_id: 65222a4d09ea4c68934fa1028c77f394
user_domain_id: d0919bd5e8d74e49adf0e145807ffc38
project_domain_id: d0919bd5e8d74e49adf0e145807ffc38
regions:
- Kna1
- Sto2
- Lon1
dreamcompute:
profile: dreamhost
auth:
username: montay6
project_name: dhc2111978
password: XXXXXXXXXXXXX
region_name: RegionOne
A library to wrap business logic around client libraries
cloud.create_image('image-name', filename='image-filename.qcow2')
cloud.create_server('my-server', image='immage-name', auto_ip=True)
In use in Infra Nodepool and ansible
Brand new modules, based on shade
Part of 2.0 release
- os_keypair:
cloud: citycloud
name: mordred
public_key_file: ~/.ssh/id_rsa.pub
- os_image:
cloud: citycloud
name: Monty Ubuntu
file: ubuntu.vhd
- os_server:
cloud: citycloud
name: my-server
flavor_ram: 1024
image: Monty Ubuntu
multi-cloud support
- os_keypair:
cloud: "{{ item }"
name: mordred
public_key_file: ~/.ssh/id_rsa.pub
with-items:
- citycloud
- elastx
- zetta
Why should you care?
Cloud-native 12-factor application
Traditional Java web application
Kerberos Server
Baremetal for hardware enabled transcoding
CityCloud: Sweden, UK
Datacentred: UK
Elastx: Sweden
Enter Cloud Suite: Italy, Germany, Frankfurt
Internap: Netherlands, US
OVH: France
Ultimum: Czech Republic
Zetta: Norway
UnitedStack
Huawei
UMCloud
EasyStack
99 Cloud