SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
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 :-)

Mais conteúdo relacionado

Mais procurados

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 YoctoMarco Cavallini
 
Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Training Ensimag OpenStack 2016
Training Ensimag OpenStack 2016Bruno Cornec
 
Docker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupDocker and OpenStack Boston Meetup
Docker and OpenStack Boston MeetupKamesh Pemmaraju
 
Docker open stack boston
Docker open stack bostonDocker open stack boston
Docker open stack bostondotCloud
 
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 DornPROIDEA
 
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 2019Marco Cavallini
 
Evoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationEvoluation of Linux Container Virtualization
Evoluation of Linux Container VirtualizationImesh Gunaratne
 
SCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefSCALE 2011 Deploying OpenStack with Chef
SCALE 2011 Deploying OpenStack with ChefMatt 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 ClusterYazz 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 2013dotCloud
 
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 P2302Boden Russell
 
Rishidot research briefing notes Cloudscaling
Rishidot research briefing notes   CloudscalingRishidot research briefing notes   Cloudscaling
Rishidot research briefing notes CloudscalingRishidot 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 InfrastructureBruno 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 worldJorge 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
 

Mais procurados (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)
 

Semelhante 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 presentationBruno 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 DevOpsDocker, Inc.
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio 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 containersDr Ganesh Iyer
 
Using MySQL Containers
Using MySQL ContainersUsing MySQL Containers
Using MySQL ContainersMatt 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 BigDatainside-BigData.com
 
OpenStack State of Fibre Channel
OpenStack State of Fibre ChannelOpenStack State of Fibre Channel
OpenStack State of Fibre Channelhemna6969
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and DockerFabio Fumarola
 
Galera on kubernetes_no_video
Galera on kubernetes_no_videoGalera on kubernetes_no_video
Galera on kubernetes_no_videoPatrick 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 2015Filipe Miranda
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and dockerFabio Fumarola
 
Docker module 1
Docker module 1Docker module 1
Docker module 1Liang 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 installationRobert Bohne
 
Helion meetup-2014
Helion meetup-2014Helion meetup-2014
Helion meetup-2014Bruno 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.pdfssuser9e06a61
 

Semelhante 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
 

Mais de Bruno Cornec

Diaporama-2023.pdf
Diaporama-2023.pdfDiaporama-2023.pdf
Diaporama-2023.pdfBruno Cornec
 
Concert Amicus Meus 2023
Concert Amicus Meus 2023Concert Amicus Meus 2023
Concert Amicus Meus 2023Bruno Cornec
 
intro-linux-v4.pdf
intro-linux-v4.pdfintro-linux-v4.pdf
intro-linux-v4.pdfBruno Cornec
 
Diaporama Exultate 2022
Diaporama Exultate 2022Diaporama Exultate 2022
Diaporama Exultate 2022Bruno Cornec
 
Diaporama-2021.pdf
Diaporama-2021.pdfDiaporama-2021.pdf
Diaporama-2021.pdfBruno Cornec
 
Introduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libresBruno Cornec
 
Diaporama Variations 2019
Diaporama Variations 2019Diaporama Variations 2019
Diaporama Variations 2019Bruno Cornec
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 
Diaporama Exultate 2019
Diaporama Exultate 2019Diaporama Exultate 2019
Diaporama Exultate 2019Bruno Cornec
 
Diaporama Exultate 2018
Diaporama Exultate 2018Diaporama Exultate 2018
Diaporama Exultate 2018Bruno Cornec
 
Diaporama Exultate 2017
Diaporama Exultate 2017Diaporama Exultate 2017
Diaporama Exultate 2017Bruno Cornec
 
Diaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansDiaporama 2018 Guerre de 100 ans
Diaporama 2018 Guerre de 100 ansBruno Cornec
 
Introduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxIntroduction aux logiciels libres et à Linux
Introduction aux logiciels libres et à LinuxBruno Cornec
 
Diaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeDiaporama 2011 Musique pour la Vierge
Diaporama 2011 Musique pour la ViergeBruno Cornec
 
Diaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleDiaporama 2012 Musique polychorale
Diaporama 2012 Musique polychoraleBruno Cornec
 
Diaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeDiaporama 2016 Musique Allemande
Diaporama 2016 Musique AllemandeBruno Cornec
 
Diaporama 2015 François Ier
Diaporama 2015 François IerDiaporama 2015 François Ier
Diaporama 2015 François IerBruno Cornec
 
Guide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueGuide Open Source Syntec Numérique
Guide Open Source Syntec NumériqueBruno 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 packagesBruno Cornec
 

Mais 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

Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIVijayananda Mohire
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Alkin Tezuysal
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTopCSSGallery
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1DianaGray10
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxSatishbabu Gunukula
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.IPLOOK Networks
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3DianaGray10
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)codyslingerland1
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTxtailishbaloch
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfTejal81
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024Brian Pichman
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud DataEric D. Schabell
 

Último (20)

Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
My key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAIMy key hands-on projects in Quantum, and QAI
My key hands-on projects in Quantum, and QAI
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
 
Top 10 Squarespace Development Companies
Top 10 Squarespace Development CompaniesTop 10 Squarespace Development Companies
Top 10 Squarespace Development Companies
 
UiPath Studio Web workshop series - Day 1
UiPath Studio Web workshop series  - Day 1UiPath Studio Web workshop series  - Day 1
UiPath Studio Web workshop series - Day 1
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Oracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptxOracle Database 23c Security New Features.pptx
Oracle Database 23c Security New Features.pptx
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.Introduction - IPLOOK NETWORKS CO., LTD.
Introduction - IPLOOK NETWORKS CO., LTD.
 
UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3UiPath Studio Web workshop Series - Day 3
UiPath Studio Web workshop Series - Day 3
 
The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)The New Cloud World Order Is FinOps (Slideshow)
The New Cloud World Order Is FinOps (Slideshow)
 
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENTSIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
SIM INFORMATION SYSTEM: REVOLUTIONIZING DATA MANAGEMENT
 
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdfQ4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
Q4 2023 Quarterly Investor Presentation - FINAL - v1.pdf
 
AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024AI Workshops at Computers In Libraries 2024
AI Workshops at Computers In Libraries 2024
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data3 Pitfalls Everyone Should Avoid with Cloud Data
3 Pitfalls Everyone Should Avoid with Cloud Data
 

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 :-)