SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Docker &
January 2014
What?
• Docker driver for Nova accepted in Havana!
• Docker plugin for Heat accepted for Icehouse!
• Docker support in devstack!
• Now spec’ing a project to improve containers support
in OpenStack
Why Docker?!
(an incomplete list)
•

Cross-Cloud compatibility

•

Dockerfiles provide flexible,
repeatable image authoring

•

Global image portability and
delivery through the Registry

•

Incremental images & builds

•

Completeness of vision
(Runtime, Configuration, Build,
Deployment, Orchestration…)
Nova Integration
Docker driver for OpenStack Compute
What?
Enables control of
Docker via OpenStack:
•
•

Nova API
Horizon UI

Supports:
• launch
• terminate
• reboot
• fetch logs
• snapshot
• glance

https://wiki.openstack.org/wiki/HypervisorSupportMatrix
UI Integration (Horizon)
UI Integration (Horizon)
Nova+Docker!
Architecture
Overview
Image Management

docker-registry is a proxy
!

users can upload through dockerregistry or to glance directly
!

docker pulls images through the
docker-registry proxy
Gate Tests
TESTS

passing >90% of tests in Tempest
- not perfect, but we have visibility
- most failures are !docker
non-voting gate coming in Icehouse

Unit Tests
38 unit tests, gating commits

(vs 541 for libvirt and 10 specific to lxc)
Not supported.!
(yet)

Neutron (+OVS)
Cinder Volumes
(Work in progress!
but patches welcome!)
Docker Basics
Example: Run Tempest
(the OpenStack integration test suite)

Based on the project
“Dockenstack” written by Paul Czarkowski
forked and improved by Eric Windisch
Run OpenStack tempest against:
• … a freshly provisioned OpenStack install
• … installed by Devstack
• … in a Docker container
Dockerfile

FROM ubuntu:raring
MAINTAINER Eric Windisch “ewindisch@docker.com”
[…]
RUN apt-get -qqy install mysql-server git socat curl …
RUN useradd devstack && usermod -a -G docker devstack
ADD devstack.sudo /etc/sudoers.d/devstack
RUN chown root /etc/sudoers.d/devstack
ADD tempest /usr/local/bin/start-devstack
RUN chmod 755 /usr/local/bin/start-devstack
VOLUME /var/lib/docker
[…]
RUN git clone https://github.com/openstack-dev/devstack
RUN /devstack/tools/install_prereqs.sh
ADD localrc /devstack/localrc
CMD [“/usr/local/bin/start-devstack"]
Build the container image:
$ docker build -t dockenstack .
Run it:
$ docker run -privileged dockenstack
Publish it on the public Registry:
$ docker tag dockenstack ewindish/dockenstack

$ docker push ewindisch/dockenstack
It’s on the public registry!
another-host$ docker search dockenstack
NAME
DESCRIPTION
ewindisch/dockenstack
OpenStack development environment (using D...

!

another-host$ docker pull ewindisch/dockenstack

… and on github!
https://github.com/ewindisch/dockenstack
Applying Heat
Orchestration for Docker API using OpenStack Heat
Heat Plugin Flow
Heat Template
heat_template_version: 2013-05-23

!

description: Single compute instance with one docker containerruns devstack /w docker and tests it with Tempest!

!

resources:
my_instance:
type: OS::Nova::Server
properties:
key_name: ewindisch_key1
image: ubuntu-precise-docker
flavor: m1.large
my_docker_container:
type: OS::Heat::Docker
docker_endpoint: { get_attr: [my_instance, first_address] }
image: ewindisch/dockenstack-tempest
Heat vs Nova!
Comparison

Integration with other services
Nova features (quota, auth, etc…)
Abstraction layer for other hypervisors
Integrated scheduling

Closer to the Docker workflow
Hybrid-cloud compatible
Scheduled by backing cloud
Q&A

Contenu connexe

Tendances

Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
Balaji Rajan
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
dotCloud
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
dotCloud
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
John Willis
 

Tendances (20)

Docker - The Linux Container
Docker - The Linux ContainerDocker - The Linux Container
Docker - The Linux Container
 
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
Write Once and REALLY Run Anywhere | OpenStack Summit HK 2013
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker presentation | Paris Docker Meetup
Docker presentation | Paris Docker MeetupDocker presentation | Paris Docker Meetup
Docker presentation | Paris Docker Meetup
 
DCA. certificate slide Session 1
DCA. certificate slide Session 1DCA. certificate slide Session 1
DCA. certificate slide Session 1
 
Docker in pratice -chenyifei
Docker in pratice -chenyifeiDocker in pratice -chenyifei
Docker in pratice -chenyifei
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker intro
Docker introDocker intro
Docker intro
 
Architecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based DeploymentsArchitecting .NET Applications for Docker and Container Based Deployments
Architecting .NET Applications for Docker and Container Based Deployments
 
Dockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @TwitterDockerizing your applications - Docker workshop @Twitter
Dockerizing your applications - Docker workshop @Twitter
 
Docker Basic Presentation
Docker Basic PresentationDocker Basic Presentation
Docker Basic Presentation
 
Amazon Web Services and Docker
Amazon Web Services and DockerAmazon Web Services and Docker
Amazon Web Services and Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
 
Docker in real life
Docker in real lifeDocker in real life
Docker in real life
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker, the Future of DevOps
Docker, the Future of DevOpsDocker, the Future of DevOps
Docker, the Future of DevOps
 
Docker - 15 great Tutorials
Docker - 15 great TutorialsDocker - 15 great Tutorials
Docker - 15 great Tutorials
 
Building Reusable Development Environments with Docker
Building Reusable Development Environments with DockerBuilding Reusable Development Environments with Docker
Building Reusable Development Environments with Docker
 
Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
 

En vedette

Agnesian Cancer Care Breast Cancer Binder
Agnesian Cancer Care Breast Cancer BinderAgnesian Cancer Care Breast Cancer Binder
Agnesian Cancer Care Breast Cancer Binder
Agnesian HealthCare
 
Canon T3i Diego Ramírez
Canon T3i Diego RamírezCanon T3i Diego Ramírez
Canon T3i Diego Ramírez
diegodante
 
Personas: Presentación Almachen
Personas: Presentación AlmachenPersonas: Presentación Almachen
Personas: Presentación Almachen
mariana.cremona
 
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracionProyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
NESTOR VILCA
 
Componentes de una placa base
Componentes de una placa baseComponentes de una placa base
Componentes de una placa base
txetxu12
 

En vedette (20)

DockerCon Keynote Ben Golub
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
 
John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14John Engates Keynote at Dockercon 14
John Engates Keynote at Dockercon 14
 
Building a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from Yelp
 
Converse alvaro soria
Converse alvaro soriaConverse alvaro soria
Converse alvaro soria
 
Vanessa martinez hernandez
Vanessa martinez hernandezVanessa martinez hernandez
Vanessa martinez hernandez
 
Proyecto de aula
Proyecto de aulaProyecto de aula
Proyecto de aula
 
Agnesian Cancer Care Breast Cancer Binder
Agnesian Cancer Care Breast Cancer BinderAgnesian Cancer Care Breast Cancer Binder
Agnesian Cancer Care Breast Cancer Binder
 
Phan mem erp omega ho so nang luc
Phan mem erp omega ho so nang lucPhan mem erp omega ho so nang luc
Phan mem erp omega ho so nang luc
 
Ventrevista
VentrevistaVentrevista
Ventrevista
 
Self-Directed IRA
Self-Directed IRASelf-Directed IRA
Self-Directed IRA
 
Canon T3i Diego Ramírez
Canon T3i Diego RamírezCanon T3i Diego Ramírez
Canon T3i Diego Ramírez
 
Personas: Presentación Almachen
Personas: Presentación AlmachenPersonas: Presentación Almachen
Personas: Presentación Almachen
 
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracionProyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
Proyectos.inei.gob.pe convocatorias 2014_convoca_m_declaracion
 
Neles Triple Eccentric Disc Valve, Metal Seated with Flow Balancing Trim
Neles Triple Eccentric Disc Valve, Metal Seated with Flow Balancing TrimNeles Triple Eccentric Disc Valve, Metal Seated with Flow Balancing Trim
Neles Triple Eccentric Disc Valve, Metal Seated with Flow Balancing Trim
 
Brochure Match Hospitality
Brochure Match HospitalityBrochure Match Hospitality
Brochure Match Hospitality
 
Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
 
Componentes de una placa base
Componentes de una placa baseComponentes de una placa base
Componentes de una placa base
 
¿Qué es un wiki?
¿Qué es un wiki?¿Qué es un wiki?
¿Qué es un wiki?
 
Digitale Technologien in der Lehre: Selbststeuerung oder Fremdsteuerung?
Digitale Technologien in der Lehre: Selbststeuerung oder Fremdsteuerung?Digitale Technologien in der Lehre: Selbststeuerung oder Fremdsteuerung?
Digitale Technologien in der Lehre: Selbststeuerung oder Fremdsteuerung?
 
Charla identidad-digital-moot13
Charla identidad-digital-moot13Charla identidad-digital-moot13
Charla identidad-digital-moot13
 

Similaire à OpenStack - Docker - Rackspace HQ

Docker and OpenStack at Rackspace
Docker and OpenStack at RackspaceDocker and OpenStack at Rackspace
Docker and OpenStack at Rackspace
Docker, Inc.
 
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Erica Windisch
 
Docker-Presentation.pptx
Docker-Presentation.pptxDocker-Presentation.pptx
Docker-Presentation.pptx
Vipobav
 

Similaire à OpenStack - Docker - Rackspace HQ (20)

Docker and OpenStack at Rackspace
Docker and OpenStack at RackspaceDocker and OpenStack at Rackspace
Docker and OpenStack at Rackspace
 
Docker From Scratch
Docker From ScratchDocker From Scratch
Docker From Scratch
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
Practical Docker for OpenStack - NYC / PHL OpenStack meetup (4-23-2014)
 
Docker and the Container Ecosystem
Docker and the Container EcosystemDocker and the Container Ecosystem
Docker and the Container Ecosystem
 
Docker presentation
Docker presentationDocker presentation
Docker presentation
 
How to _docker
How to _dockerHow to _docker
How to _docker
 
Orchestrating Docker with OpenStack
Orchestrating Docker with OpenStackOrchestrating Docker with OpenStack
Orchestrating Docker with OpenStack
 
Docker for .NET Developers
Docker for .NET DevelopersDocker for .NET Developers
Docker for .NET Developers
 
Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015Couchbase on Docker - Couchbase Connect 2015
Couchbase on Docker - Couchbase Connect 2015
 
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
Practical Docker for OpenStack (Juno Summit - May 15th, 2014)
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Running the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker ContainerRunning the Oracle SOA Suite Environment in a Docker Container
Running the Oracle SOA Suite Environment in a Docker Container
 
Docker-Presentation.pptx
Docker-Presentation.pptxDocker-Presentation.pptx
Docker-Presentation.pptx
 
Docker - Lightweight Virtualization
Docker - Lightweight VirtualizationDocker - Lightweight Virtualization
Docker - Lightweight Virtualization
 
docker installation and basics
docker installation and basicsdocker installation and basics
docker installation and basics
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Docker DANS workshop
Docker DANS workshopDocker DANS workshop
Docker DANS workshop
 
Docker
DockerDocker
Docker
 

Plus de dotCloud

Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
dotCloud
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
dotCloud
 

Plus de dotCloud (16)

Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2Wot2013云计算架构师峰会 -陈轶飞2
Wot2013云计算架构师峰会 -陈轶飞2
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
 
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Introduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @TwitterIntroduction to Docker - Docker workshop @Twitter
Introduction to Docker - Docker workshop @Twitter
 
Docker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at TwitterDocker links | Docker workshop #2 at Twitter
Docker links | Docker workshop #2 at Twitter
 
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
Dockerfile Basics | Docker workshop #2 at twitter, 2013-11-05
 
Intro Docker october 2013
Intro Docker october 2013Intro Docker october 2013
Intro Docker october 2013
 
[Open stack] heat + docker
[Open stack] heat + docker[Open stack] heat + docker
[Open stack] heat + docker
 
Dockerizing WordPress
Dockerizing WordPressDockerizing WordPress
Dockerizing WordPress
 
Building images from dockerfiles
Building images from dockerfilesBuilding images from dockerfiles
Building images from dockerfiles
 
Docker at DevTable
Docker at DevTableDocker at DevTable
Docker at DevTable
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Installing and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command lineInstalling and running Postfix within a docker container from the command line
Installing and running Postfix within a docker container from the command line
 
LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013LXC, Docker, and the future of software delivery | LinuxCon 2013
LXC, Docker, and the future of software delivery | LinuxCon 2013
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

OpenStack - Docker - Rackspace HQ

  • 2. What? • Docker driver for Nova accepted in Havana! • Docker plugin for Heat accepted for Icehouse! • Docker support in devstack! • Now spec’ing a project to improve containers support in OpenStack
  • 3. Why Docker?! (an incomplete list) • Cross-Cloud compatibility • Dockerfiles provide flexible, repeatable image authoring • Global image portability and delivery through the Registry • Incremental images & builds • Completeness of vision (Runtime, Configuration, Build, Deployment, Orchestration…)
  • 4. Nova Integration Docker driver for OpenStack Compute
  • 5. What? Enables control of Docker via OpenStack: • • Nova API Horizon UI Supports: • launch • terminate • reboot • fetch logs • snapshot • glance https://wiki.openstack.org/wiki/HypervisorSupportMatrix
  • 9. Image Management docker-registry is a proxy ! users can upload through dockerregistry or to glance directly ! docker pulls images through the docker-registry proxy
  • 10. Gate Tests TESTS passing >90% of tests in Tempest - not perfect, but we have visibility - most failures are !docker non-voting gate coming in Icehouse Unit Tests 38 unit tests, gating commits (vs 541 for libvirt and 10 specific to lxc)
  • 11. Not supported.! (yet) Neutron (+OVS) Cinder Volumes (Work in progress! but patches welcome!)
  • 12. Docker Basics Example: Run Tempest (the OpenStack integration test suite) Based on the project “Dockenstack” written by Paul Czarkowski forked and improved by Eric Windisch Run OpenStack tempest against: • … a freshly provisioned OpenStack install • … installed by Devstack • … in a Docker container
  • 13. Dockerfile FROM ubuntu:raring MAINTAINER Eric Windisch “ewindisch@docker.com” […] RUN apt-get -qqy install mysql-server git socat curl … RUN useradd devstack && usermod -a -G docker devstack ADD devstack.sudo /etc/sudoers.d/devstack RUN chown root /etc/sudoers.d/devstack ADD tempest /usr/local/bin/start-devstack RUN chmod 755 /usr/local/bin/start-devstack VOLUME /var/lib/docker […] RUN git clone https://github.com/openstack-dev/devstack RUN /devstack/tools/install_prereqs.sh ADD localrc /devstack/localrc CMD [“/usr/local/bin/start-devstack"]
  • 14. Build the container image: $ docker build -t dockenstack . Run it: $ docker run -privileged dockenstack Publish it on the public Registry: $ docker tag dockenstack ewindish/dockenstack
 $ docker push ewindisch/dockenstack
  • 15. It’s on the public registry! another-host$ docker search dockenstack NAME DESCRIPTION ewindisch/dockenstack OpenStack development environment (using D... ! another-host$ docker pull ewindisch/dockenstack … and on github! https://github.com/ewindisch/dockenstack
  • 16.
  • 17. Applying Heat Orchestration for Docker API using OpenStack Heat
  • 19. Heat Template heat_template_version: 2013-05-23 ! description: Single compute instance with one docker containerruns devstack /w docker and tests it with Tempest! ! resources: my_instance: type: OS::Nova::Server properties: key_name: ewindisch_key1 image: ubuntu-precise-docker flavor: m1.large my_docker_container: type: OS::Heat::Docker docker_endpoint: { get_attr: [my_instance, first_address] } image: ewindisch/dockenstack-tempest
  • 20. Heat vs Nova! Comparison Integration with other services Nova features (quota, auth, etc…) Abstraction layer for other hypervisors Integrated scheduling Closer to the Docker workflow Hybrid-cloud compatible Scheduled by backing cloud
  • 21. Q&A