SlideShare una empresa de Scribd logo
Project Builder: 
A GPL continuous packaging solution 
Bruno Cornec 
WW Linux Community Lead, HP Open Source Profession 
V2.2 October 2014 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Introducing Myself 
● Software engineering and Unices since 1988 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
2 
– Mostly Configuration Management Systems, Build systems, quality tools, on multiple commercial Unix systems 
– Discover Open Source & Linux (OSL) & first contributions in 1993 
– Full time on OSL since 1995, first as HP reseller then @HP 
● Currently: 
– Distinguished Technologist on OSL for HP EMEA Presales, Innovation Solution Center, Grenoble 
– HP OSL Advocate and Converged Infrastructure Ambassador 
– HP EMEA OSL Profession Lead 
– Solutions Linux Conference and AFUL board member. Conferences at WW level in LinuxCon, Linux.conf.au 
– MondoRescue, Project-Builder.org, UUWL and PUSK Project Lead 
– LinuxCOE, mrepo, tellico, rinse, fossology, collectl contributor 
– FOSSBazaar and OSL Governance enthusiast 
– Mandriva, Mageia, Fedora packager 
● And also: 
– Amateur singer (Alto / Tenor) and recorder player since 1976 and Choir director since 1987 
– CD collector since 1981 (5000+ and counting) – Hundreds of concert attendance since 1976 
– Amateur photograph since 1976
What is project-builder.org’s goal ? 
Make upstream projects life 
easier with regards to 
packaging their software 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
3
What is project-builder.org’s itch ? 
Make my life 
easier with regards to 
packaging my software 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
4
Users / Sysadmins want packaged software 
>= 90% ● Ease of use: GUI, CLI 
< 10% 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
5 
< 1% 
● Distribution compliance 
● Smooth Integration with 
deployment tools Ambassador 
● Lag between SW and Pkg 
availability 
● Test of alpha/beta/VCS SW 
● Too many: 
● distributions, 
● versions, 
● package formats, 
● tools to generate packages 
● tools to manage repositories 
U 
D
Upstream benefits from Continuous packaging 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
6 
Packaging should be a project concern as well as coding, testing, 
installing, .... especially for smaller projects 
Packaging as your only way of delivery (not a dream) 
Minimal overhead, maximum benefit: 
Consistency and reproduceability for devs and users 
Distribution & deployment server integration, 
Improved deployment without risk of screwing up the system 
Packaging as a marketing activity for the upstream project. Easy way to 
extend your user base, and improve your community relationship and is 
a “competitive advantage”. 
New mantra: “Package early, package always” 
THE SOLUTION IS INDEED CONTINUOUS PACKAGING (whatever the tool)
Continuous Packaging Architecture 
Build + 
metadata 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
7 
Project 
VM or VE Build 
Local build 
RM Build 
Farm 
(may host VMs) Remote build 
Repository 
Server 
Local Build Server (may host VMs and/or VEs) 
Packagers 
Developers
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
8 
Project-builder main goal: help package continuously being agnostic 
VCS agnostic: no VCS but guys it's 21st century now, SVN, CVS, 
Mercurial, GIT and GIT/SVN, SVK.... 
OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 150+ distro tuples 
made and counting – repositories for yum, urpmi, apt. Solaris pkg. HP-UX 
sd in roadmap 
Build environment agnostic: local, VM (QEMU, KVM...), VE (chroot, 
Docker, rpmbootstrap, rinse, mock, debootstrap...), RM (build farm) 
No project impact: preserves the md5sum of the delivered upstream 
sources. Can be completely external to the upstream project. 
Avoids duplication of code and metadata 
THE SOLUTION IS INDEED CONTINUOUS PACKAGING (with project-builder. 
org !) 
Goals
Share Dedicate OS Virt HW Virt 
OS Virtualization HW Virtualization 
Container A 
App. A 
Env. A 
OS Resource Control 
% CPU 
% RAM 
% CPU 
% RAM 
App. A App. B 
CPU bind CPU bind 
cgroups NUMA 
Operating System (OS) 
LXC / Docker 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
9 
Container B 
App. B 
Env. B 
Operating System (OS) 
VM B 
App. B 
Env. B 
OS B 
VM A 
App. A 
Env. A 
OS A 
Hypervisor 
Single Kernel - Enhanced chroot - 
Direct access to I/O devices - 
Isolation 
Flexibility (multi OS) 
Requires HW support 
Kernel module 
Hardware 
Single Kernel – Rresources cont.: 
shared cpu, memory, blkio, 
dedicated cpusets 
Hardware Hardware 
performance good best good 
isolation security normal good best 
runtime flexibility best good normal 
maintenance best normal normal 
KVM 
Various Virtualization architectures
Linux Control Groups 
– Help to manage groups of processes 
– Dedicated subsystems to manage specific resources: 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
10 
– Resource management: CPU shares, memory, blkio 
– Resource pools: CPU sets, ns, freezer, checkpoint/restart 
– Implemented as a special cgroup file system 
– Cgroup commands: cgcreate, cgexec, cgclear, cgclassify, ... 
– Cgroup services : 
Share 
Dedicate 
● cgconfig (/etc/cgconfig.conf), defines cgroups and mount points 
● cgred (/etc/cgrules.conf), defines rules between tasks and cgroups 
– These are provided by libcgroup on top of the kernel cgroup virtual file system 
to allow persistence across reboot and ease of use. 
– Docker associates a cgroup to each container
Linux technologies for HW Virtualization 
HW virtualization ('KVM' virtual machines) HW Virt 
– Proposed in RHEL 5.4+/RHEL 6/RHEV and TP in SLES 11 
– Requires a kernel module and HW support 
– Applications in a VM are isolated from the others 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
11 
• Security (Svirt) 
• Fully separated environment (own OS, kernel, init, admin, user, network, PID) 
• Paravirtualized drivers, PCI-Attach, SR-IOV. 
• Excellent performances / Full transparency. 
– Can use all nice features (NUMA, cgroups, SELinux, iptables…) in the guest, if Linux, and 
on the host. 1 VM == 1 Linux process 
– Being part of the standard kernel : no specific certification required. 
– Supports X2APIC (reduce guest overhead), transparent huge pages, Async I/O
Linux Containers 
OS Virtualization example: ‘LXC / Docker’ OS Virt 
– Applications in a zone are isolated from the others 
• Security 
• New namespaces (own admin, user, group, network, PID, init) 
• Granularity (sub-cpu granularity) 
• Virtualization (underlying OS manages HW accesses) 
• Performance / transparency: neither emulation nor full virtualization 
– Built upon cgroup resource management and namespaces 
– Other technos available 
• V-Server 
• Virtuozzo 
• OpenVZ 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
12
What is Docker ? 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
13 
Docker main goal: run applications in containers 
in a neutral, lightweight and portable way 
Bundle: Everything packed together 
Layers: Images (ro) and containers (rw) can be 
build upon other images (using a union FS) 
Registry: public and/or private registry of images 
availability 
Dockerfile: descriptive build of an image 
Volumes: loopback mounting host FS into 
container 
Ports: expose container services port to the host 
1 application + its deps == 1 container
Continuous Packaging Architecture with docker 
Build + 
metadata 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
14 
Project 
Docker 
containers 
Local build 
Repository 
Server 
Local Build Server (hosting VEs) 
Packagers 
Developers
Docker containers Management 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
15 
Phase 0 (tag: d-v-a) - newve 
– Local Image Creation 
(debootstrap/rpmbotstrap) 
– Reuse Image from Docker Registry 
Phase 1 (tag: d-v-a-pb) - (sbx2|)setupve 
adds pb tools and build account 
Phase 2 (tag: d-v-a-pb-proj) - prepve 
adds project build dependencies 
Phase 3 (container) - build2ve 
– Build project in the Docker container 
Minimal OS Image 
Image + Proj1 deps 
Image + pb tools 
Image + Proj2 deps 
Proj1 container Proj2 container
Additional Goodies 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
16 
Project-builder provides additional goodies 
Easy VMs/VEs/RMs installation/setup. Update not mandatory. 
Macro system with perl variables to avoid duplication of metadata 
Skeleton generation to help starting 
Manages package delivery up to your repository (ssh based) with 
repository management (yum, apt, urpmi) 
Manages patches/additional sources when not upstream 
Checks validity of packages built (lintian, rpmlint) 
Easy creation of new versions for upstream management 
Manages website delivery, announces on mailing-lists
Configuration file usage 
Macro example: 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
17 
./rpmbootstrap/pbfilter/all.pbf:filter PBSUMMARY = rpmbootstrap is a tool 
similar to debootstrap for RPM based distributions 
./rpmbootstrap/rpm/rpmbootstrap.spec:Summary: PBSUMMARY 
./rpmbootstrap/deb/control:Description: PBSUMMARY 
./rpmbootstrap/pkg/pkginfo:NAME="PBSUMMARY" 
Instantiation possible from distro-ver-arch, distro-ver, distro, distro-family, 
distro-type, os 
Similar approach for all other parameters (Cf: man pb.conf) 
Metadata isolated - No duplication 
Packaging process independent of the project and external
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
18 
DEMONSTRATION
To be done 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
19 
Support for libvirt, virsh, openstack API, LXC (?) 
Other CMS (Bazaar, …) only when/if needed 
Other VMs (VMWare, Xen, ...) only when/if needed 
Multiple delivery means – usage of ansible ? 
Look at interactions with Buildbot 
Add non-interactive signature support for .deb 
Config-Model for configuration file management 
REST API and Web Interface would be nice. Any contributor ?
Learn Project-Builder.org 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
20 
Start with the Lab (63 pages) 
Use man (pb, pb.conf + 8 
ProjectBuilder::* man pages) 
Use the mailing-list pb-announce 
and pb-devel at 
http://www.mondorescue.org/sympa 
Use examples from 
http://trac.project-builder.org/browser/projects/
Web Resources Related tools 
Project-Builder.org Web sites: 
● http://www.project-builder.org 
● http://trac.project-builder.org 
Projects using project-builder.org: 
● http://www.project-builder.org (of 
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
21 
course :-) 
● http://www.mondorescue.org 
● Http://www.linuxcoe.org 
● http://www.fossology.org 
Project-Builder.org is mostly suited for 
upstream projects wanting to package 
their applications 
Distributions provide each their build 
tools 
● SuSE: Open Build Service (Multi 
distro, Web based, BaaS) 
● Fedora (Koji) 
● Mandriva/Mageia (Youri, mdvsys, 
mgarepo...) 
Other complementary tools: 
● Buildbot 
● Parallel::ForkManager, DBI, 
DB::SQLite, File::MimeInfo, 
Mail::Sendmail
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 
22 
”Changes are never easy to make. 
There is comfort and safety in 
tradition, but change must come, 
no matter how painful or expensive 
it may be.” 
Bill Hewlett 
Contact 
Thanks 
Open Source at HP 
http://opensource.hp.com 
Bruno_Cornec@hp.com 
(Open Source &Linux Strategist in the HP 
EMEA Innovation Solution Center) 
http://www.hp.com/linux 
Linus Torvalds, Richard Stallman, Eric 
Raymond, Nat Makarevitch, René 
Cougnenc, Eric Dumas, Rémy Card, Bdale 
Garbee, Bryan Gartner, Gallig Renaud, 
Joachim Langenbach among others, for 
their work and devotion to the Open 
Source Software cause... and my family 
for his patience :-)

Más contenido relacionado

La actualidad más candente

Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
Marco Cavallini
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016
Bruno Cornec
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
Kamesh Pemmaraju
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
dotCloud
 
Core os dna_automacon
Core os dna_automaconCore os dna_automacon
Core os dna_automacon
Patrick Galbraith
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
PROIDEA
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
Boden Russell
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
Marco Cavallini
 
Docker_AGH_v0.1.3
Docker_AGH_v0.1.3Docker_AGH_v0.1.3
Docker_AGH_v0.1.3
Witold 'Ficio' Kopel
 
Core os dna_oscon
Core os dna_osconCore os dna_oscon
Core os dna_oscon
Patrick Galbraith
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
Imesh Gunaratne
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
Matt Ray
 
CoreOS automated MySQL Cluster Failover using Galera Cluster
CoreOS automated MySQL Cluster Failover using Galera ClusterCoreOS automated MySQL Cluster Failover using Galera Cluster
CoreOS automated MySQL Cluster Failover using Galera Cluster
Yazz Atlas
 
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
dotCloud
 
Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302
Boden Russell
 
Rishidot research briefing notes Cloudscaling
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes Cloudscaling
Rishidot Research
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
Bruno Cornec
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes world
Jorge Morales
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)
Boden Russell
 
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
Boden Russell
 

La actualidad más candente (20)

Run Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using YoctoRun Qt on Linux embedded systems using Yocto
Run Qt on Linux embedded systems using Yocto
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston Meetup
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack boston
 
Core os dna_automacon
Core os dna_automaconCore os dna_automacon
Core os dna_automacon
 
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornJDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik Dorn
 
Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...Performance characteristics of traditional v ms vs docker containers (dockerc...
Performance characteristics of traditional v ms vs docker containers (dockerc...
 
Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019Autobuilder2 Yocto Project Summit Lyon 2019
Autobuilder2 Yocto Project Summit Lyon 2019
 
Docker_AGH_v0.1.3
Docker_AGH_v0.1.3Docker_AGH_v0.1.3
Docker_AGH_v0.1.3
 
Core os dna_oscon
Core os dna_osconCore os dna_oscon
Core os dna_oscon
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container Virtualization
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with Chef
 
CoreOS automated MySQL Cluster Failover using Galera Cluster
CoreOS automated MySQL Cluster Failover using Galera ClusterCoreOS automated MySQL Cluster Failover using Galera Cluster
CoreOS automated MySQL Cluster Failover using Galera Cluster
 
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
 
Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302Linux Container Brief for IEEE WG P2302
Linux Container Brief for IEEE WG P2302
 
Rishidot research briefing notes Cloudscaling
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes Cloudscaling
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
Build and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes worldBuild and run applications in a dockerless kubernetes world
Build and run applications in a dockerless kubernetes world
 
Lxc – next gen virtualization for cloud intro (cloudexpo)
Lxc – next gen virtualization for cloud   intro (cloudexpo)Lxc – next gen virtualization for cloud   intro (cloudexpo)
Lxc – next gen virtualization for cloud intro (cloudexpo)
 
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
LXC – NextGen Virtualization for Cloud benefit realization (cloudexpo)
 

Similar a Multi-OS Continuous Packaging with docker and Project-Builder.org

Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you
Bruno Cornec
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
Bruno Cornec
 
Docker-v3.pdf
Docker-v3.pdfDocker-v3.pdf
Docker-v3.pdf
Bruno Cornec
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOps
Docker, Inc.
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
Fabio Fumarola
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
Arun prasath
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summits
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
Dr Ganesh Iyer
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
Matt Lord
 
State of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDataState of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigData
inside-BigData.com
 
OpenStack State of Fibre Channel
OpenStack State of Fibre ChannelOpenStack State of Fibre Channel
OpenStack State of Fibre Channel
hemna6969
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
Fabio Fumarola
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_video
Patrick Galbraith
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
Filipe Miranda
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
Fabio Fumarola
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
Liang Bo
 
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Eugenio Minardi
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 
Helion meetup-2014
Helion meetup-2014Helion meetup-2014
Helion meetup-2014
Bruno Cornec
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
ssuser9e06a61
 

Similar a Multi-OS Continuous Packaging with docker and Project-Builder.org (20)

Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you Isn’t it Ironic that a Redfish is software defining you
Isn’t it Ironic that a Redfish is software defining you
 
LCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentationLCA 2014 project-builder.org presentation
LCA 2014 project-builder.org presentation
 
Docker-v3.pdf
Docker-v3.pdfDocker-v3.pdf
Docker-v3.pdf
 
Continuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOpsContinuous Packaging is also Mandatory for DevOps
Continuous Packaging is also Mandatory for DevOps
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
AWS Summit Singapore 2019 | Latest Trends for Cloud-Native Application Develo...
 
Docker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containersDocker - A high level introduction to dockers and containers
Docker - A high level introduction to dockers and containers
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL Containers
 
State of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigDataState of Containers and the Convergence of HPC and BigData
State of Containers and the Convergence of HPC and BigData
 
OpenStack State of Fibre Channel
OpenStack State of Fibre ChannelOpenStack State of Fibre Channel
OpenStack State of Fibre Channel
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_video
 
Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015Linux Containers and Docker SHARE.ORG Seattle 2015
Linux Containers and Docker SHARE.ORG Seattle 2015
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
Docker module 1
Docker module 1Docker module 1
Docker module 1
 
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Helion meetup-2014
Helion meetup-2014Helion meetup-2014
Helion meetup-2014
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
 

Más de Bruno Cornec

Diaporama-TMG.pdf
Diaporama-TMG.pdfDiaporama-TMG.pdf
Diaporama-TMG.pdf
Bruno Cornec
 
Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdf
Bruno Cornec
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023
Bruno Cornec
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdf
Bruno Cornec
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022
Bruno Cornec
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdf
Bruno Cornec
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libres
Bruno Cornec
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019
Bruno Cornec
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
Bruno Cornec
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019
Bruno Cornec
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018
Bruno Cornec
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017
Bruno Cornec
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ans
Bruno Cornec
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
Bruno Cornec
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la Vierge
Bruno Cornec
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychorale
Bruno Cornec
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique Allemande
Bruno Cornec
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François Ier
Bruno Cornec
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec Numérique
Bruno Cornec
 
Using containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packagesUsing containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packages
Bruno Cornec
 

Más de Bruno Cornec (20)

Diaporama-TMG.pdf
Diaporama-TMG.pdfDiaporama-TMG.pdf
Diaporama-TMG.pdf
 
Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdf
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdf
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdf
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libres
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ans
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à Linux
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la Vierge
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychorale
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique Allemande
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François Ier
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec Numérique
 
Using containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packagesUsing containers and Continuous Packaging to Build native FOSSology packages
Using containers and Continuous Packaging to Build native FOSSology packages
 

Último

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Último (20)

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Multi-OS Continuous Packaging with docker and Project-Builder.org

  • 1. Project Builder: A GPL continuous packaging solution Bruno Cornec WW Linux Community Lead, HP Open Source Profession V2.2 October 2014 © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
  • 2. Introducing Myself ● Software engineering and Unices since 1988 © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 2 – Mostly Configuration Management Systems, Build systems, quality tools, on multiple commercial Unix systems – Discover Open Source & Linux (OSL) & first contributions in 1993 – Full time on OSL since 1995, first as HP reseller then @HP ● Currently: – Distinguished Technologist on OSL for HP EMEA Presales, Innovation Solution Center, Grenoble – HP OSL Advocate and Converged Infrastructure Ambassador – HP EMEA OSL Profession Lead – Solutions Linux Conference and AFUL board member. Conferences at WW level in LinuxCon, Linux.conf.au – MondoRescue, Project-Builder.org, UUWL and PUSK Project Lead – LinuxCOE, mrepo, tellico, rinse, fossology, collectl contributor – FOSSBazaar and OSL Governance enthusiast – Mandriva, Mageia, Fedora packager ● And also: – Amateur singer (Alto / Tenor) and recorder player since 1976 and Choir director since 1987 – CD collector since 1981 (5000+ and counting) – Hundreds of concert attendance since 1976 – Amateur photograph since 1976
  • 3. What is project-builder.org’s goal ? Make upstream projects life easier with regards to packaging their software © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 3
  • 4. What is project-builder.org’s itch ? Make my life easier with regards to packaging my software © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 4
  • 5. Users / Sysadmins want packaged software >= 90% ● Ease of use: GUI, CLI < 10% © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 5 < 1% ● Distribution compliance ● Smooth Integration with deployment tools Ambassador ● Lag between SW and Pkg availability ● Test of alpha/beta/VCS SW ● Too many: ● distributions, ● versions, ● package formats, ● tools to generate packages ● tools to manage repositories U D
  • 6. Upstream benefits from Continuous packaging © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 6 Packaging should be a project concern as well as coding, testing, installing, .... especially for smaller projects Packaging as your only way of delivery (not a dream) Minimal overhead, maximum benefit: Consistency and reproduceability for devs and users Distribution & deployment server integration, Improved deployment without risk of screwing up the system Packaging as a marketing activity for the upstream project. Easy way to extend your user base, and improve your community relationship and is a “competitive advantage”. New mantra: “Package early, package always” THE SOLUTION IS INDEED CONTINUOUS PACKAGING (whatever the tool)
  • 7. Continuous Packaging Architecture Build + metadata © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 7 Project VM or VE Build Local build RM Build Farm (may host VMs) Remote build Repository Server Local Build Server (may host VMs and/or VEs) Packagers Developers
  • 8. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 8 Project-builder main goal: help package continuously being agnostic VCS agnostic: no VCS but guys it's 21st century now, SVN, CVS, Mercurial, GIT and GIT/SVN, SVK.... OS agnostic: Linux: RPM, deb, ebuild, slack based, ... 150+ distro tuples made and counting – repositories for yum, urpmi, apt. Solaris pkg. HP-UX sd in roadmap Build environment agnostic: local, VM (QEMU, KVM...), VE (chroot, Docker, rpmbootstrap, rinse, mock, debootstrap...), RM (build farm) No project impact: preserves the md5sum of the delivered upstream sources. Can be completely external to the upstream project. Avoids duplication of code and metadata THE SOLUTION IS INDEED CONTINUOUS PACKAGING (with project-builder. org !) Goals
  • 9. Share Dedicate OS Virt HW Virt OS Virtualization HW Virtualization Container A App. A Env. A OS Resource Control % CPU % RAM % CPU % RAM App. A App. B CPU bind CPU bind cgroups NUMA Operating System (OS) LXC / Docker © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 9 Container B App. B Env. B Operating System (OS) VM B App. B Env. B OS B VM A App. A Env. A OS A Hypervisor Single Kernel - Enhanced chroot - Direct access to I/O devices - Isolation Flexibility (multi OS) Requires HW support Kernel module Hardware Single Kernel – Rresources cont.: shared cpu, memory, blkio, dedicated cpusets Hardware Hardware performance good best good isolation security normal good best runtime flexibility best good normal maintenance best normal normal KVM Various Virtualization architectures
  • 10. Linux Control Groups – Help to manage groups of processes – Dedicated subsystems to manage specific resources: © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 10 – Resource management: CPU shares, memory, blkio – Resource pools: CPU sets, ns, freezer, checkpoint/restart – Implemented as a special cgroup file system – Cgroup commands: cgcreate, cgexec, cgclear, cgclassify, ... – Cgroup services : Share Dedicate ● cgconfig (/etc/cgconfig.conf), defines cgroups and mount points ● cgred (/etc/cgrules.conf), defines rules between tasks and cgroups – These are provided by libcgroup on top of the kernel cgroup virtual file system to allow persistence across reboot and ease of use. – Docker associates a cgroup to each container
  • 11. Linux technologies for HW Virtualization HW virtualization ('KVM' virtual machines) HW Virt – Proposed in RHEL 5.4+/RHEL 6/RHEV and TP in SLES 11 – Requires a kernel module and HW support – Applications in a VM are isolated from the others © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 11 • Security (Svirt) • Fully separated environment (own OS, kernel, init, admin, user, network, PID) • Paravirtualized drivers, PCI-Attach, SR-IOV. • Excellent performances / Full transparency. – Can use all nice features (NUMA, cgroups, SELinux, iptables…) in the guest, if Linux, and on the host. 1 VM == 1 Linux process – Being part of the standard kernel : no specific certification required. – Supports X2APIC (reduce guest overhead), transparent huge pages, Async I/O
  • 12. Linux Containers OS Virtualization example: ‘LXC / Docker’ OS Virt – Applications in a zone are isolated from the others • Security • New namespaces (own admin, user, group, network, PID, init) • Granularity (sub-cpu granularity) • Virtualization (underlying OS manages HW accesses) • Performance / transparency: neither emulation nor full virtualization – Built upon cgroup resource management and namespaces – Other technos available • V-Server • Virtuozzo • OpenVZ © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 12
  • 13. What is Docker ? © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 13 Docker main goal: run applications in containers in a neutral, lightweight and portable way Bundle: Everything packed together Layers: Images (ro) and containers (rw) can be build upon other images (using a union FS) Registry: public and/or private registry of images availability Dockerfile: descriptive build of an image Volumes: loopback mounting host FS into container Ports: expose container services port to the host 1 application + its deps == 1 container
  • 14. Continuous Packaging Architecture with docker Build + metadata © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 14 Project Docker containers Local build Repository Server Local Build Server (hosting VEs) Packagers Developers
  • 15. Docker containers Management © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 15 Phase 0 (tag: d-v-a) - newve – Local Image Creation (debootstrap/rpmbotstrap) – Reuse Image from Docker Registry Phase 1 (tag: d-v-a-pb) - (sbx2|)setupve adds pb tools and build account Phase 2 (tag: d-v-a-pb-proj) - prepve adds project build dependencies Phase 3 (container) - build2ve – Build project in the Docker container Minimal OS Image Image + Proj1 deps Image + pb tools Image + Proj2 deps Proj1 container Proj2 container
  • 16. Additional Goodies © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 16 Project-builder provides additional goodies Easy VMs/VEs/RMs installation/setup. Update not mandatory. Macro system with perl variables to avoid duplication of metadata Skeleton generation to help starting Manages package delivery up to your repository (ssh based) with repository management (yum, apt, urpmi) Manages patches/additional sources when not upstream Checks validity of packages built (lintian, rpmlint) Easy creation of new versions for upstream management Manages website delivery, announces on mailing-lists
  • 17. Configuration file usage Macro example: © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 17 ./rpmbootstrap/pbfilter/all.pbf:filter PBSUMMARY = rpmbootstrap is a tool similar to debootstrap for RPM based distributions ./rpmbootstrap/rpm/rpmbootstrap.spec:Summary: PBSUMMARY ./rpmbootstrap/deb/control:Description: PBSUMMARY ./rpmbootstrap/pkg/pkginfo:NAME="PBSUMMARY" Instantiation possible from distro-ver-arch, distro-ver, distro, distro-family, distro-type, os Similar approach for all other parameters (Cf: man pb.conf) Metadata isolated - No duplication Packaging process independent of the project and external
  • 18. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 18 DEMONSTRATION
  • 19. To be done © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 19 Support for libvirt, virsh, openstack API, LXC (?) Other CMS (Bazaar, …) only when/if needed Other VMs (VMWare, Xen, ...) only when/if needed Multiple delivery means – usage of ansible ? Look at interactions with Buildbot Add non-interactive signature support for .deb Config-Model for configuration file management REST API and Web Interface would be nice. Any contributor ?
  • 20. Learn Project-Builder.org © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 20 Start with the Lab (63 pages) Use man (pb, pb.conf + 8 ProjectBuilder::* man pages) Use the mailing-list pb-announce and pb-devel at http://www.mondorescue.org/sympa Use examples from http://trac.project-builder.org/browser/projects/
  • 21. Web Resources Related tools Project-Builder.org Web sites: ● http://www.project-builder.org ● http://trac.project-builder.org Projects using project-builder.org: ● http://www.project-builder.org (of © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 21 course :-) ● http://www.mondorescue.org ● Http://www.linuxcoe.org ● http://www.fossology.org Project-Builder.org is mostly suited for upstream projects wanting to package their applications Distributions provide each their build tools ● SuSE: Open Build Service (Multi distro, Web based, BaaS) ● Fedora (Koji) ● Mandriva/Mageia (Youri, mdvsys, mgarepo...) Other complementary tools: ● Buildbot ● Parallel::ForkManager, DBI, DB::SQLite, File::MimeInfo, Mail::Sendmail
  • 22. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 22 ”Changes are never easy to make. There is comfort and safety in tradition, but change must come, no matter how painful or expensive it may be.” Bill Hewlett Contact Thanks Open Source at HP http://opensource.hp.com Bruno_Cornec@hp.com (Open Source &Linux Strategist in the HP EMEA Innovation Solution Center) http://www.hp.com/linux Linus Torvalds, Richard Stallman, Eric Raymond, Nat Makarevitch, René Cougnenc, Eric Dumas, Rémy Card, Bdale Garbee, Bryan Gartner, Gallig Renaud, Joachim Langenbach among others, for their work and devotion to the Open Source Software cause... and my family for his patience :-)