Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests - Mark Eijsermans

50 %
50 %
Information about Docker-Vancouver Meetup - March 18, 2014 - Contain(erize) the tests -...
Technology

Published on March 19, 2014

Author: bacongobbler

Source: slideshare.net

Contain(erize) The Tests @markeijsermans

Software Engineer Love DevOps Love Docker

When you're a hammer...

Our unit test problems monolithic code base complex setup few mocks hits databases slow

Jenkins Woes Jenkins was bottlenecking our server configurations Php 5.5.x roll-out took months

...the nail

Parallelize the tests solved a problem low risk

Jenkins x Jenkins run tests on 10 (or more) slaves goal: Docker and git are the only dependencies

unittest.sh kickoff script private docker registry container for running test linked container for dbs

Results 25min down to 3min (could still be lower) ...but, not all is rosy

Findings

Configuration Management How to integrate Ansbile? sshd adds +40MB (seems wrong) installed Ansible in base image maybe provision with chroot? (but lose layering) Packer.io? isn't quite there yet CM integration with Docker rumored [soon to be fixed]

Why not just use Ansible directly on slaves? continuous integration is continually integrating itself! automatic refresh (pull) before running tests easy to scale more slaves slaves re-usable for other tasks - not polluted with dependencies part of the experiment!

The "PID 1" problem needs to watch sub-processes if they die and re-launch can't be SIGKILL'd some hacks needed to quiet upstart we used supervisord - works well init integration coming (systemd, SysV, etc.) [soon to be fixed]

libcontainer new in version 0.9 nsinit allows you to attach might be implemented as "docker exec" lxc namespacing still has lxc-attach

Registry is slow from the cloud push/pulling from local network to EC2 is painful +1GB containers! how about a local mirror? EDIT: added to the docker-registry a few weeks ago [fixed]

Trimming the fat installing packages dumps a TON of stuff on the system great way to find out what a package does dpkg --no-install-recommends filter out /usr/share/{man | doc | info} trash apt cache (+100MB) flatten: docker export -> import [solvable]

Container layering questions base -> Ansible -> runtime -> app -> unit test extras

Linking containers cumbersome. lots of verbose ENV VARS ambassador container (hacky)? service discovery - serf, etcd, etc? DB_PORT_3306_TCP=tcp://127.0.0.1 DB_PORT_3306_TCP_ADDR=127.0.0.1 DB_PORT_3306_TCP_PORT=3306 DB_PORT_3306_TCP_PROTO=tcp ... [unknown]

Unknown maintenance profile not all *nix tools ready for namespacing free & top are broken (shows full system memory allocation) logs (on aufs, inside the container - good/bad?) problem? copy container locally, inspect?

API first design *except a some commands like attach

Great for open-sourcing a project docker run ... done!

Thank You! @markeijsermans mark.eijsermans@hootsuite.com

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Fort Collins, Colorado - Wikipedia, the free encyclopedia

Location of Fort Collins shown within the State of Colorado: Coordinates: Coordinates: Country: United States: State: Colorado: County: Larimer County Seat [1
Read more

Docker - Build, Ship, and Run Any App, Anywhere

... ship, and run distributed applications at scale. Deploy Docker using AMIs from the AWS Marketplace. Get started with Docker and AWS now ...
Read more

Article View - United States Department of Defense

Home News Article View. News. News Articles. Casualty Releases. Press Advisories. News Transcripts. Publications. Speeches. Contracts. Testimony. Messages ...
Read more

German Wikipedia - Wikipedia, the free encyclopedia

German Wikipedia community: Launched: 16 March ... to mark article ... based Relevantive AG conducted a usability test of the German Wikipedia. ...
Read more

Microservices and PaaS - Part II | ActiveState

... which was an attempt to distil the wealth of information presented at the microservices meetup ... Microservices and PaaS - Part II ... Contain ...
Read more

Yahoo! Health

Now You Can Test Your ... 7 Unexpected Foods That Contain ... Yahoo Health. Technology. We Have the Technology: 10 Ways You Can Hack Your Body. Yahoo Tech.
Read more

My Little Pony Equestria Girls: Rainbow Rocks - My Little ...

My Little Pony Equestria Girls: Rainbow ... she finds an old book with her cutie mark on the ... Retrieved on 2014 March 27. ↑ Ishi Rudell (2014-04-18 ...
Read more

Watch Free Movie Online | moviehdstream.net

Guardians of the Galaxy (2014) The Maze Runner (2014) The Intern (2015) The Imitation Game (2014) Upcoming Movies. Deadpool (2016) LEGO Friends: Girlz 4 ...
Read more

Portland - Oregon Local News - Oregon Prep Football

Oregon Prep Football Coverage ... 2016 Ford Mustang Turbo Although the the Mustang was redesigned in 2015, it still looks a lot like the previous model.
Read more