SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Pulp – Software Repository Management
A brief introduction
Arnold Bechtoldt
Karlsruhe, 12.12.14
github.com/bechtoldt Ÿ arnold.bechtoldt@inovex.de 2
‣  IT Systems Engineer at inovex GmbH
‣  Small to large Open Source Datacenter Management solutions
‣  High available web-based application services
‣  Contributing to various Open Source projects
About
Arnold Bechtoldt
3
Topics
Preparing PulpIntroduction
Using Pulp Scaling &
High Availability
pulpproject.org 4
‣  Provides a platform for RPM repository management
‣  Built on top of httpd, Celery (task scheduling) and Qpid/ RabbitMQ (message queue)
‣  Provides a RESTful API and is part of Red Hat Satellite
‣  Want to setup Pulp with Katello? Check the slides “Katello / Pulp / Candlepin -
OSDCM: Repository Management” of Jürgen Brunk at inovex.de
Introduction
Pulp – Software Repository Management (1/2)
5
Introduction
Pulp – Software Repository Management (2/2)
httpd
(content delivery)
Pulp Celerybeat (Scheduler)
Qpid/ RabbitMQ (message queue)
Pulp Workers Pulp Resource Manager
mongoDB
Shared
Storage
Pulp CA
(X.509)
httpd
(API)
HTTP client Pulp Admin
See notes/01_preparations.markdown for details 6
1.  Setup a plain CentOS 7 system (e.g. using Vagrant/ VirtualBox)
2.  Set correct time settings
3.  Disable firewall and SELinux (in your lab only J)
4.  Install EPEL & Pulp RPM repository sources in /etc/yum.repos.d/
5.  Verify repo connectivity with yum repolist
Preparing Pulp
Preparation
See notes/02_install.markdown for details 7
1.  Install mongoDB and Qpid message broker packages
2.  Configure and setup mongoDB and Qpid
3.  Install Pulp server and Pulp admin packages
4.  Verify mongoDB and Qpid are running
5.  Stop httpd and migrate Pulp mongodDB with pulp-manage-db
6.  Start pulp_workers, httpd, pulp_celerybeat and pulp_resource_manager
Preparing Pulp
Installation (1/2)
See notes/02_install.markdown for details 8
7.  Verify all services are running
8.  Disable SSL verification in Pulp admin configuration (in your lab only J)
9.  Verify login works with admin:admin using pulp-admin
Preparing Pulp
Installation (2/2)
See notes/03_managing_repos.markdown for details 9
1.  Create a repository:
pulp-admin rpm repo create 
--repo-id=foreman 
--feed=http://yum.theforeman.org/releases/1.1/el6/x86_64/ 
--relative-url=foreman/ 
--serve-http=true 
--serve-https=true
2.  Sync from upstream:
pulp-admin rpm repo sync run 
--repo-id=foreman
3.  Verify existence: http://127.0.0.1/pulp/repos/foreman/
Using Pulp
Mirror an existing repository
See notes/03_managing_repos.markdown for details 10
1.  Create a new repository:
pulp-admin rpm repo create 
--repo-id=mycustomrepo 
--relative-url=custom/repo/ 
--serve-http=true 
--serve-https=true
2.  Start initial publish:
pulp-admin rpm repo publish run 
--repo-id=mycustomrepo
3.  Verify existence: http://127.0.0.1/pulp/repos/custom/repo/
Using Pulp
Uploading packages (1/2)
See notes/03_managing_repos.markdown for details 11
4.  Prepare packages to upload:
yum install --downloadonly --downloaddir=/var/tmp/saltpkgs/ salt-minion
5.  Upload packages:
pulp-admin rpm repo uploads rpm 
--repo-id=mycustomrepo 
--dir=/var/tmp/saltpkgs/
6.  Publish uploaded packages:
pulp-admin rpm repo publish run 
--repo-id=mycustomrepo
7.  Verify existence of new packages: http://127.0.0.1/pulp/repos/custom/repo/
Using Pulp
Uploading packages (2/2)
See notes/03_managing_repos.markdown for details 12
1.  List repositories with their names only:
pulp-admin repo list -s
2.  List repositories with details:
pulp-admin repo list -s
3.  List repositories with even more details:
pulp-admin repo list --details
Using Pulp
Retreiving information about repositories
See notes/03_managing_repos.markdown for details 13
1.  Search for RPM packages:
pulp-admin rpm repo content rpm 
--repo-id=mycustomrepo 
--match='name=salt.*’
2.  Copy RPM packages to another repo:
pulp-admin rpm repo copy rpm 
--from-repo-id=foreman 
--to-repo-id=mycustomrepo 
--match='name=foreman-libvirt.*’
3.  Publish new packages:
pulp-admin rpm repo publish run 
--repo-id=mycustomrepo
Using Pulp
Working with content units (1/2)
See notes/03_managing_repos.markdown for details 14
4.  Remove RPM packages:
pulp-admin rpm repo remove rpm 
--repo-id=mycustomrepo 
--match='name=foreman-libvirt.*’
5.  Publish changes:
pulp-admin rpm repo publish run 
--repo-id=mycustomrepo
6.  Verify absence of removed packages: http://127.0.0.1/pulp/repos/custom/repo/
Using Pulp
Working with content units (2/2)
15
‣  Pulp workers need several Gigabytes of memory to collect & work with metadata
‣  Pulp API, resource manager, task scheduler and message queue are lightweight
‣  Setting up a redundant mongoDB replica set is a good idea
‣  Deploy additional Pulp worker systems to distribute work load of long running tasks
(Sync/ Publish)
‣  HTTP(S) loadbalancing in front of Apache httpd (delivery/ API)
‣  Caching of static content units (RPM packages) could be useful
Scaling & HA
Pulp in Production
16
We are hiring!
inovex.de
exciting projects Ÿ great technologies Ÿ nice colleagues Ÿ cool offices
We have excellent job offers in Karlsruhe, Cologne, Munich and Pforzheim!
Contact
Arnold Bechtoldt
IT Engineering & Operations
inovex GmbH
Office Karlsruhe
Ludwig-Erhard-Allee 6
D-76139 Karlsruhe
arnold.bechtoldt@inovex.de
Thank You!
Questions?

Contenu connexe

Tendances

Git major commands
Git major commandsGit major commands
Git major commands
myepicslides
 
ProstgreSQLFailoverConfiguration
ProstgreSQLFailoverConfigurationProstgreSQLFailoverConfiguration
ProstgreSQLFailoverConfiguration
Suyog Shirgaonkar
 
Open erp on ubuntu
Open erp on ubuntuOpen erp on ubuntu
Open erp on ubuntu
Iker Coranti
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linux
TRCK
 
Chapter 03 configuring link aggregation and bridging
Chapter 03   configuring link aggregation and bridgingChapter 03   configuring link aggregation and bridging
Chapter 03 configuring link aggregation and bridging
dimuthur
 

Tendances (20)

Using R on High Performance Computers
Using R on High Performance ComputersUsing R on High Performance Computers
Using R on High Performance Computers
 
Odoo command line interface
Odoo command line interfaceOdoo command line interface
Odoo command line interface
 
Linux Basic Administration Commands Guide
Linux Basic Administration Commands GuideLinux Basic Administration Commands Guide
Linux Basic Administration Commands Guide
 
Git major commands
Git major commandsGit major commands
Git major commands
 
Git major commands
Git major commandsGit major commands
Git major commands
 
Presentation Linux Server setup Advance Networking
Presentation   Linux Server setup Advance NetworkingPresentation   Linux Server setup Advance Networking
Presentation Linux Server setup Advance Networking
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
 
ProstgreSQLFailoverConfiguration
ProstgreSQLFailoverConfigurationProstgreSQLFailoverConfiguration
ProstgreSQLFailoverConfiguration
 
Dhcp
DhcpDhcp
Dhcp
 
Open erp on ubuntu
Open erp on ubuntuOpen erp on ubuntu
Open erp on ubuntu
 
12 yum
12  yum12  yum
12 yum
 
Linux comands for Hadoop
Linux comands for HadoopLinux comands for Hadoop
Linux comands for Hadoop
 
RPM: Speed up your deploy
RPM: Speed up your deployRPM: Speed up your deploy
RPM: Speed up your deploy
 
Linux crontab
Linux crontabLinux crontab
Linux crontab
 
An example Hadoop Install
An example Hadoop InstallAn example Hadoop Install
An example Hadoop Install
 
Mercurial for Kittens
Mercurial for KittensMercurial for Kittens
Mercurial for Kittens
 
Running hadoop on ubuntu linux
Running hadoop on ubuntu linuxRunning hadoop on ubuntu linux
Running hadoop on ubuntu linux
 
LSOF Command Usage on RHEL 7
LSOF Command Usage on RHEL 7LSOF Command Usage on RHEL 7
LSOF Command Usage on RHEL 7
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
Chapter 03 configuring link aggregation and bridging
Chapter 03   configuring link aggregation and bridgingChapter 03   configuring link aggregation and bridging
Chapter 03 configuring link aggregation and bridging
 

Similaire à Pulp - Software Repository Management - a brief introduction

101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
Acácio Oliveira
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
Perforce
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Simon Boulet
 

Similaire à Pulp - Software Repository Management - a brief introduction (20)

How To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in UbuntuHow To Install Openbravo ERP 2.50 MP43 in Ubuntu
How To Install Openbravo ERP 2.50 MP43 in Ubuntu
 
Setting up LAMP for Linux newbies
Setting up LAMP for Linux newbiesSetting up LAMP for Linux newbies
Setting up LAMP for Linux newbies
 
Dev-Jam 2019 - Container & OpenNMS
Dev-Jam 2019 - Container & OpenNMSDev-Jam 2019 - Container & OpenNMS
Dev-Jam 2019 - Container & OpenNMS
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
 
Linux for programmers
Linux for programmersLinux for programmers
Linux for programmers
 
Apache Cheat Sheet
Apache Cheat SheetApache Cheat Sheet
Apache Cheat Sheet
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
Puppet Deployment at OnApp
Puppet Deployment at OnApp Puppet Deployment at OnApp
Puppet Deployment at OnApp
 
PuppetCamp SEA 1 - Puppet Deployment at OnApp
PuppetCamp SEA 1 - Puppet Deployment  at OnAppPuppetCamp SEA 1 - Puppet Deployment  at OnApp
PuppetCamp SEA 1 - Puppet Deployment at OnApp
 
Centos config
Centos configCentos config
Centos config
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 
NUBOMEDIA Webinar
NUBOMEDIA WebinarNUBOMEDIA Webinar
NUBOMEDIA Webinar
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 
2.5 use rpm and yum package management
2.5 use rpm and yum package management2.5 use rpm and yum package management
2.5 use rpm and yum package management
 
Supercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OSSupercharging your PHP pages with mod_lsapi in CloudLinux OS
Supercharging your PHP pages with mod_lsapi in CloudLinux OS
 
[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure[MathWorks] Versioning Infrastructure
[MathWorks] Versioning Infrastructure
 
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
Deploying with Super Cow Powers (Hosting your own APT repository with reprepro)
 
Document Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OSDocument Management: Opendocman and LAMP installation on Cent OS
Document Management: Opendocman and LAMP installation on Cent OS
 
Installing lemp with ssl and varnish on Debian 9
Installing lemp with ssl and varnish on Debian 9Installing lemp with ssl and varnish on Debian 9
Installing lemp with ssl and varnish on Debian 9
 
101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management101 2.5 use rpm and yum package management
101 2.5 use rpm and yum package management
 

Plus de inovex GmbH

Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
inovex GmbH
 

Plus de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Dernier

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

Pulp - Software Repository Management - a brief introduction

  • 1. Pulp – Software Repository Management A brief introduction Arnold Bechtoldt Karlsruhe, 12.12.14
  • 2. github.com/bechtoldt Ÿ arnold.bechtoldt@inovex.de 2 ‣  IT Systems Engineer at inovex GmbH ‣  Small to large Open Source Datacenter Management solutions ‣  High available web-based application services ‣  Contributing to various Open Source projects About Arnold Bechtoldt
  • 4. pulpproject.org 4 ‣  Provides a platform for RPM repository management ‣  Built on top of httpd, Celery (task scheduling) and Qpid/ RabbitMQ (message queue) ‣  Provides a RESTful API and is part of Red Hat Satellite ‣  Want to setup Pulp with Katello? Check the slides “Katello / Pulp / Candlepin - OSDCM: Repository Management” of Jürgen Brunk at inovex.de Introduction Pulp – Software Repository Management (1/2)
  • 5. 5 Introduction Pulp – Software Repository Management (2/2) httpd (content delivery) Pulp Celerybeat (Scheduler) Qpid/ RabbitMQ (message queue) Pulp Workers Pulp Resource Manager mongoDB Shared Storage Pulp CA (X.509) httpd (API) HTTP client Pulp Admin
  • 6. See notes/01_preparations.markdown for details 6 1.  Setup a plain CentOS 7 system (e.g. using Vagrant/ VirtualBox) 2.  Set correct time settings 3.  Disable firewall and SELinux (in your lab only J) 4.  Install EPEL & Pulp RPM repository sources in /etc/yum.repos.d/ 5.  Verify repo connectivity with yum repolist Preparing Pulp Preparation
  • 7. See notes/02_install.markdown for details 7 1.  Install mongoDB and Qpid message broker packages 2.  Configure and setup mongoDB and Qpid 3.  Install Pulp server and Pulp admin packages 4.  Verify mongoDB and Qpid are running 5.  Stop httpd and migrate Pulp mongodDB with pulp-manage-db 6.  Start pulp_workers, httpd, pulp_celerybeat and pulp_resource_manager Preparing Pulp Installation (1/2)
  • 8. See notes/02_install.markdown for details 8 7.  Verify all services are running 8.  Disable SSL verification in Pulp admin configuration (in your lab only J) 9.  Verify login works with admin:admin using pulp-admin Preparing Pulp Installation (2/2)
  • 9. See notes/03_managing_repos.markdown for details 9 1.  Create a repository: pulp-admin rpm repo create --repo-id=foreman --feed=http://yum.theforeman.org/releases/1.1/el6/x86_64/ --relative-url=foreman/ --serve-http=true --serve-https=true 2.  Sync from upstream: pulp-admin rpm repo sync run --repo-id=foreman 3.  Verify existence: http://127.0.0.1/pulp/repos/foreman/ Using Pulp Mirror an existing repository
  • 10. See notes/03_managing_repos.markdown for details 10 1.  Create a new repository: pulp-admin rpm repo create --repo-id=mycustomrepo --relative-url=custom/repo/ --serve-http=true --serve-https=true 2.  Start initial publish: pulp-admin rpm repo publish run --repo-id=mycustomrepo 3.  Verify existence: http://127.0.0.1/pulp/repos/custom/repo/ Using Pulp Uploading packages (1/2)
  • 11. See notes/03_managing_repos.markdown for details 11 4.  Prepare packages to upload: yum install --downloadonly --downloaddir=/var/tmp/saltpkgs/ salt-minion 5.  Upload packages: pulp-admin rpm repo uploads rpm --repo-id=mycustomrepo --dir=/var/tmp/saltpkgs/ 6.  Publish uploaded packages: pulp-admin rpm repo publish run --repo-id=mycustomrepo 7.  Verify existence of new packages: http://127.0.0.1/pulp/repos/custom/repo/ Using Pulp Uploading packages (2/2)
  • 12. See notes/03_managing_repos.markdown for details 12 1.  List repositories with their names only: pulp-admin repo list -s 2.  List repositories with details: pulp-admin repo list -s 3.  List repositories with even more details: pulp-admin repo list --details Using Pulp Retreiving information about repositories
  • 13. See notes/03_managing_repos.markdown for details 13 1.  Search for RPM packages: pulp-admin rpm repo content rpm --repo-id=mycustomrepo --match='name=salt.*’ 2.  Copy RPM packages to another repo: pulp-admin rpm repo copy rpm --from-repo-id=foreman --to-repo-id=mycustomrepo --match='name=foreman-libvirt.*’ 3.  Publish new packages: pulp-admin rpm repo publish run --repo-id=mycustomrepo Using Pulp Working with content units (1/2)
  • 14. See notes/03_managing_repos.markdown for details 14 4.  Remove RPM packages: pulp-admin rpm repo remove rpm --repo-id=mycustomrepo --match='name=foreman-libvirt.*’ 5.  Publish changes: pulp-admin rpm repo publish run --repo-id=mycustomrepo 6.  Verify absence of removed packages: http://127.0.0.1/pulp/repos/custom/repo/ Using Pulp Working with content units (2/2)
  • 15. 15 ‣  Pulp workers need several Gigabytes of memory to collect & work with metadata ‣  Pulp API, resource manager, task scheduler and message queue are lightweight ‣  Setting up a redundant mongoDB replica set is a good idea ‣  Deploy additional Pulp worker systems to distribute work load of long running tasks (Sync/ Publish) ‣  HTTP(S) loadbalancing in front of Apache httpd (delivery/ API) ‣  Caching of static content units (RPM packages) could be useful Scaling & HA Pulp in Production
  • 16. 16 We are hiring! inovex.de exciting projects Ÿ great technologies Ÿ nice colleagues Ÿ cool offices We have excellent job offers in Karlsruhe, Cologne, Munich and Pforzheim!
  • 17. Contact Arnold Bechtoldt IT Engineering & Operations inovex GmbH Office Karlsruhe Ludwig-Erhard-Allee 6 D-76139 Karlsruhe arnold.bechtoldt@inovex.de Thank You! Questions?