+ All Categories
Home > Technology > An introduction to the Pulp project

An introduction to the Pulp project

Date post: 16-Jul-2015
Category:
Upload: julien-pivotto
View: 2,074 times
Download: 1 times
Share this document with a friend
Popular Tags:
86
Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto Julien Pivotto CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels CentOS DoJo, Brussels January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015 January 30, 2015
Transcript

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

CentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsCentOS DoJo, BrusselsJanuary 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015January 30, 2015

whoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiwhoamiJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien Pivotto

• Open-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.euOpen-Source consultant at inuits.eu

• Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)Linux Sysadmin (mainly CentOS)• FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004FOSS defender since 2004• DevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelistDevOps believer and evangelist• CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011CentOS User since 2011• @roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie on irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/githubon irc/twitter/github

inuits.eu

Distributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing SoftwareDistributing Software

• Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)Plain FTP (+SCM)• TarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarballTarball• Self-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarballSelf-extracting tarball• curl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bashcurl|bash• Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?Containers? What's inside?• Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)Packages (.deb, .rpm,…)

How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?How to do manage your repos?

• using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?using upstream?▶ What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?What if upstream is down?

• rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?rsync?▶ no flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibilityno flexibility

• createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?createrepo?▶ feels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90'sfeels so 90's

• mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?mrepo? reposync?

PackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingPackagingLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/halfbisqued/2353845688

Advantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packagingAdvantages of packaging

• Consistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file listsConsistency checks, file lists• Dependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolvingDependencies resolving• RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories• GPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-SigningGPG-Signing• Lots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of toolsLots of tools• VersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioningVersioning• Unique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible buildUnique artifacts, reproducible build• CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)CfgMgmt integration (Puppet, Chef…)

Disadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packagingDisadvantages(?) of packaging

• Learning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec filesLearning required to write spec files• Hard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to writeHard to write goodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgoodgood spec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec filesspec files• Dozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositoriesDozens of repositories• Packages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflictsPackages conflicts• Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?Where are the dependencies?

FPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMFPMEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package ManagementEffing Package Management

• Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool• Easily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package EverythingEasily Package Everything• I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…I/O: rpm/deb/rubygems/pypi/tar/files/…• Makes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easierMakes packaging easier• Since 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansisselSince 2011, initiated by @jordansissel• https://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpmhttps://github.com/jordansissel/fpm

RepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositoriesRepositories

• Centralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwaresCentralized source of softwares• Needed to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to updateNeeded to update• Dependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructureDependency of your infrastructure• Bad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infraBad packages can broke your infra• Down repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infraDown repos can broke your infra

ChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallengesChallenges

• Packaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CIPackaging is part of CI• Interaction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchainInteraction with the build toolchain• Disk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space mattersDisk space matters• Bandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth mattersBandwidth matters• Reliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability mattersReliability matters

Background licensed under a Creative Commons Attribution 2.0 Licensehttps://www.flickr.com/photos/caitlinator/15729994747/

Picture has been cropped and Pulp logo has been added to foreground

• Manage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software reposManage software repos• Mirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external reposMirror external repos• Publish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these reposPublish content to these repos• Copy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across reposCopy content across repos

Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0Pulp v1.0

• Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012Released in 2012• RPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories managementRPM-Centric repositories management• Pulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumersPulp consumers• REST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST APIREST API

Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0Pulp v2.0

• Content-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnosticContent-agnostic• Extendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with pluginsExtendable with plugins

▶ RPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPMRPM▶ Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)Puppet modules (private forge)▶ Docker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registryDocker registry▶ OSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTreeOSTree▶ PythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPythonPython▶ Debian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositoriesDebian repositories (wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)(wip)

The ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystemThe ecosystem

• Pulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community ProjectPulp is a Red Hat Community Project• It plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other toolsIt plays with other tools• Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…Foreman, Katello, Candlepin…• They bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontendsThey bring frontends• I will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp aloneI will just demo pulp alone

Backgrou

ndlicensedun

dera

CreativeCo

mmon

sAttribution2.0License

https://www.flickr.com

/pho

tos/-aismist/15

5141

0445

5/Picturehasbeen

crop

pedandPu

lpschemahasbeen

added.

Pulpschemacomes

from

thePu

lpdo

cumentatio

n.

DependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependenciesDependencies

• Qpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQQpid/RabbitMQ• CeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleriCeleri• MongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDBMongoDB• httpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpdhttpd

pulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-adminpulp-admin

• Command-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line toolCommand-line tool• Uses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST apiUses the REST api• Can be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another hostCan be used from another host• Also extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendableAlso extendable

In PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeIn PracticeLicensed under a Creative Commons Attribution-ShareAlike 2.0 License

https://www.flickr.com/photos/ginnerobot/2641780669

Setting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up PulpSetting up Pulp

• Let's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use PuppetLet's use Puppet• https://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deploymenthttps://github.com/pulp/puppet_deployment

• For this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrantFor this demo I will also use vagrant

Pulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPulp and Puppet: IngredientsPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modulesPuppet modules

• puppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apachepuppetlabs/apache• puppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concatpuppetlabs/concat• stahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epelstahnma/epel• puppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodbpuppetlabs/mongodb• pulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulppulp/pulp• dprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpiddprince/qpid• puppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlibpuppetlabs/stdlib

Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status

• Standalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp serverStandalone Pulp server• Ready to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requestsReady to process requests• No repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositoriesNo repositories

loginloginloginloginloginloginloginloginloginloginloginloginloginloginloginloginlogin

• pulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin loginpulp-admin login• Default user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/adminDefault user/password: admin/admin• Stores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificatesStores SSL certificates• Limited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetimeLimited certificate lifetime• No need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special userNo need to be root/any special user

Basic usecases

Sync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositoriesSync external repositories

• Pulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external reposPulp can fetch external repos• Keeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in syncKeeps them in sync• Republish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish themRepublish them• Yum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use themYum client can then use them

Create your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own reposCreate your own repos

• Creating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositoriesCreating yum repositories• Upload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packagesUpload your own RPM packages• Import RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other reposImport RPM packages from other repos• Publishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositoriesPublishing the repositories

• A new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now createdA new repo is now created• It contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packagesIt contains no packages• Let's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packagesLet's add some RPM packages

• The repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our packageThe repo contains our package• But it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yetBut it is not published yet• The changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yumThe changes will not be seen by yum

• Now yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the packageNow yum agents can get the package• It is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apacheIt is now served by apache

Playing with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external reposPlaying with external repos

• We will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 reposWe will create 2 repos• One "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repoOne "upstream" repo• And the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repositoryAnd the GlusterFS repository• We will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between themWe will copy packages between them

Current statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent statusCurrent status

• We have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two reposWe have two repos• "upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster""upstream" and "gluster"• Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"Now let's copy some RPM to "upstream"

RPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copyRPM packages copy

• --from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id--from-repo-id• --to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id--to-repo-id• Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:Select RPM packages with:

▶ --match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match--match▶ --gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt--gt▶ --lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt--lt▶ ……………………………………………

• --recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies--recursive copies dependencies

• --bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background--bg runs in background• pulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks listpulp-admin tasks list• pulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks detailspulp-admin tasks details• pulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancelpulp-admin tasks cancel

Setting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositoriesSetting up client repositories

• Setting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum reposSetting up like any yum repos• Using your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt toolUsing your favourite CfgMgmt tool• Or using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumersOr using pulp consumers

Advanced usage

Pulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp ConsumersPulp Consumers

• Kind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agentKind of Pulp agent• Allows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updatesAllows pulp to "push" updates• Requires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the clientRequires a daemon on the client

Pulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp NodesPulp Nodes

• Parent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodesParent and Child nodes• Sharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing contentSharing content• "Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories"Replicate" repositories

Repositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories MatrixRepositories Matrix

Base Repo Sync Dev UAT ProdCentOS Y Y Y YCentOS Updates Y Y Y YInternal n/a Y Y YUpstream n/a Y Y YEPEL Y N N NPuppetlabs Y N N NGluster Y N N N

• Upstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other reposUpstream = Cherry-pick from other repos▶ Less conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflictsLess conflicts▶ Expose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum reposExpose less yum repos▶ Avoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installedAvoid extra packages to be installed

Repositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories ManagementRepositories Management

• One copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environmentOne copy of each repo per environment• "Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package"Promote" repos as it was one package• Ensure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgradesEnsure safe upgrades• Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)Pulp does not copy files (uses symlinks)

Conclusion

ConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusionConclusion

• Pulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositoriesPulp manages repositories• It is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many componentsIt is made of many components• It can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPMIt can do more than just RPM• Based on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-APIBased on a REST-API

DisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantagesDisadvantages

• How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?How is your mongo?• BugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugsBugs• SlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlowSlow• Very long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLIVery long CLI

AdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantagesAdvantages

• Uses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk spaceUses symlinks to save disk space• Combine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own reposCombine mirroring and own repos• Asynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasksAsynchronous tasks• ConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrencyConcurrency• ScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalableScalable• REST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST ApiREST Api

Read moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead moreRead more

http://www.pulpproject.org/https://github.com/pulp/

https://pulp-user-guide.readthedocs.org/en/latest/https://pulp-rpm-user-guide.readthedocs.org/en/latest/https://www.redhat.com/mailman/listinfo/pulp-list/

Thank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank youThank you

Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Any question?Thanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp teamThanks to the pulp team

ContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContactContact

Julien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien PivottoJulien [email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie@roidelapluie

inuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitsinuitshttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://inuits.euhttps://[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636+32 473 441 636


Recommended