SlideShare a Scribd company logo
http://slides.com/roblyon/wsu-system-http://slides.com/roblyon/wsu-system-
updates-with-pulp/liveupdates-with-pulp/live
Linux PatchLinux Patch
ManagementManagement
Current ModelCurrent Model
Patches are downloaded to each system every second
Tuesday and a local repo is created.
When patch time has arrived, all repos except the
local repo are disabled and yum update is run.
This is currently done for Dev on Tuesday and
prod on Thursday.
Requires logging into each system.
Systems are rebooted when there is a kernel update.
Some systems have specific problems that need to be
tested.
Issues can throw off the schedule significantly.
IssuesIssues
There can still be package drift in the repos.
Waste of disk space and bandwidth.
Does not gracefully handle the situation where a
single server may require patch exceptions.
Doesn't lock the entire repository.
If a package is installed outside of the patching
cycle, it may pull in additional updates that you
were not expecting or testing for.
OptionsOptions
SameSame
SpacewalkSpacewalk
KatelloKatello
KatelloKatello Repository Management
Subscription/Entitlement
Management
Content Management
Scheduled remote tasks
SLA groups
Activation groups
Protected Repositories
etc....
Three reasons Katello wasThree reasons Katello was
not chosennot chosen
1. Postgres
2. Mongo
3. ElasticSearch
They are not bad separately, butThey are not bad separately, but
they fight for resources andthey fight for resources and
together add complexity.together add complexity.
PulpPulp
PulpPulp Content Mangement
Repo Synchronization
Manage 'environments'
What about SAM?What about SAM?
We are, for the most part, currently a RHEL shop
WorkflowWorkflow
Live Repo
Dev/Test
Repo
Production
Repo
# pulp-admin rpm repo create 
--repo-id=centos-6-updates-x86_64-live 
--display-name="CentOS 6 Updates x86_64 (Live)" 
--description="CentOS 6 Updates x86_64 (Live)" 
--feed="http://mirror.centos.org/centos-6/6/updates/x86_64/" 
--serve-http=True 
--serve-https=False 
--relative-url=/centos/6/updates/x86_64/live 
--gpg-key=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Live Repo
Dev/Test
Repo
Production
Repo
# pulp-admin rpm repo create 
--repo-id=centos-6-updates-x86_64-dev 
--display-name="CentOS 6 Updates x86_64 (Dev)" 
--description="CentOS 6 Updates x86_64 (Dev)" 
--serve-http=True 
--serve-https=False 
--relative-url=/centos/6/updates/x86_64/dev 
--gpg-key=/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Live Repo
Dev/Test
Repo
Production
Repo
Same as Dev
Live Repo
Dev/Test
Repo
Production
Repo
Synchronized Daily
Snap
Live Repo
Dev/Test
Repo
Production
Repo
Patch day has arrived!!!
Automatically promote 'Live' to 'Dev',
snapshotting 'Dev' in the process.
Pins RPM versions at that current state.
Doesn't actually copy files.
Live Repo
Dev/Test
Repo
Production
Repo
Dev systems have passed!!!
Manually promote 'Dev' to 'Prod'.
Pins RPM versions at that current state
of 'Dev'.
Promote script auto snapshots Prod.
Again, it doesn't actually copy files.
# repo-snap-promote 
--parent=centos-6-updates-x86_64 
--from=dev 
--to=prod
Snap
Oh Noes!!!Oh Noes!!!
Live Repo
Dev/Test
Repo
Roll back the changes.
Don't even think about touching
Prod.
Branch off another rollback repo.
Point the client to the new repo.
Repatch and test.
# repo-rollback --parent=centos-6-updates-x86_64 
--snapshot=20141101 
--match='name=^php.*$' 
custom-repo
Production
Repo
Snap
Custom Rollback
Repo
Client SideClient Side
ClientClient Disable or remove standard
repos in yum.repos.d.
Add your own repo file that
points back to the server.
That's it, nothing special.
ClientClient Disable or remove standard
repos in yum.repos.d .
Add your own repo file that
points back to the server.
That's it, nothing special.
[centos-6-updates-x86_64]
name = CentOS 6 Updates (x86_64)
enabled = 1
gpgcheck = 1
baseurl = http://sys-dev-repo.sys-sandbox.local/pulp/repos/centos/6/updates/x86_64/$pkgenv
ClientClient Disable or remove standard
repos in yum.repos.d .
Add your own repo file that
points back to the server.
That's it, nothing special.
[centos-6-updates-x86_64]
name = CentOS 6 Updates (x86_64)
enabled = 1
gpgcheck = 1
baseurl = http://sys-dev-repo.sys-sandbox.local/pulp/repos/centos/6/updates/x86_64/$pkgenv
# cat /etc/yum/vars/pkgenv
prod
RedhatRedhat
(Specific)
We won't be using opensource
entitlement management.
Use subscription-manager to
register the system to RHN.
Once the system is registered,
use repo-override to turn off the
all enabled repos.
Add the repos like we did for
CentOS.
subscription-manager repo-override --repo=rhel-5-server-rpms --add=enabled:0
AutomationAutomation
SaltSalt Great remote execution tool.
Easy to install and configure.
Has plugins to initiate yum
updates.
Has plugins to restart and test
services.
Paired with cron or salt'sPaired with cron or salt's
scheduler you have automaticscheduler you have automatic
patching for non criticalpatching for non critical
systems.systems.
Questions?Questions?

More Related Content

What's hot

T3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfT3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surf
Tobias Liebig
 
Manage custom kernel builds
Manage custom kernel buildsManage custom kernel builds
Manage custom kernel builds
Marian Marinov
 
Dvcs With Mercurial (No Notes)
Dvcs With Mercurial (No Notes)Dvcs With Mercurial (No Notes)
Dvcs With Mercurial (No Notes)
Ted Naleid
 
Libvirt API Certification
Libvirt API CertificationLibvirt API Certification
Libvirt API Certification
LinuxCon ContainerCon CloudOpen China
 
Pdf c1t tlawaxb
Pdf c1t tlawaxbPdf c1t tlawaxb
Pdf c1t tlawaxb
Susant Sahani
 
Erp 2.50 openbravo environment installation openbravo-wiki
Erp 2.50 openbravo environment installation   openbravo-wikiErp 2.50 openbravo environment installation   openbravo-wiki
Erp 2.50 openbravo environment installation openbravo-wiki
yaranusa
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Massimo Menichinelli
 
Kdump-FUDcon-2015-Session
Kdump-FUDcon-2015-SessionKdump-FUDcon-2015-Session
Kdump-FUDcon-2015-Session
Buland Singh
 
GIT-Lesson-1
GIT-Lesson-1GIT-Lesson-1
GIT-Lesson-1
Alex Raeder
 
Drupal 8 configuration development flow
Drupal 8 configuration development flowDrupal 8 configuration development flow
Drupal 8 configuration development flow
Andrii Podanenko
 
Getting Started with Docker
Getting Started with Docker Getting Started with Docker
Getting Started with Docker
Anup Segu
 
Docker SQL Continuous Integration Flow
Docker SQL Continuous Integration FlowDocker SQL Continuous Integration Flow
Docker SQL Continuous Integration Flow
Andrii Podanenko
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
Geeks Anonymes
 
Systemd poettering
Systemd poetteringSystemd poettering
Systemd poettering
Susant Sahani
 
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
Minquan Xu
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-tests
Giacomo Vacca
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Chu-Siang Lai
 
Quickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStackQuickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStack
LinuxCon ContainerCon CloudOpen China
 
Working with multiple git repositories
Working with multiple git repositoriesWorking with multiple git repositories
Working with multiple git repositories
Julien Pivotto
 
Introduce to SVN
Introduce to SVNIntroduce to SVN
Introduce to SVN
Sitdhibong Laokok
 

What's hot (20)

T3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surfT3CON12 Flow and TYPO3 deployment with surf
T3CON12 Flow and TYPO3 deployment with surf
 
Manage custom kernel builds
Manage custom kernel buildsManage custom kernel builds
Manage custom kernel builds
 
Dvcs With Mercurial (No Notes)
Dvcs With Mercurial (No Notes)Dvcs With Mercurial (No Notes)
Dvcs With Mercurial (No Notes)
 
Libvirt API Certification
Libvirt API CertificationLibvirt API Certification
Libvirt API Certification
 
Pdf c1t tlawaxb
Pdf c1t tlawaxbPdf c1t tlawaxb
Pdf c1t tlawaxb
 
Erp 2.50 openbravo environment installation openbravo-wiki
Erp 2.50 openbravo environment installation   openbravo-wikiErp 2.50 openbravo environment installation   openbravo-wiki
Erp 2.50 openbravo environment installation openbravo-wiki
 
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media FactoryDigital Fabrication Studio.02 _Information @ Aalto Media Factory
Digital Fabrication Studio.02 _Information @ Aalto Media Factory
 
Kdump-FUDcon-2015-Session
Kdump-FUDcon-2015-SessionKdump-FUDcon-2015-Session
Kdump-FUDcon-2015-Session
 
GIT-Lesson-1
GIT-Lesson-1GIT-Lesson-1
GIT-Lesson-1
 
Drupal 8 configuration development flow
Drupal 8 configuration development flowDrupal 8 configuration development flow
Drupal 8 configuration development flow
 
Getting Started with Docker
Getting Started with Docker Getting Started with Docker
Getting Started with Docker
 
Docker SQL Continuous Integration Flow
Docker SQL Continuous Integration FlowDocker SQL Continuous Integration Flow
Docker SQL Continuous Integration Flow
 
Git your life for fun & profit
Git your life for fun & profitGit your life for fun & profit
Git your life for fun & profit
 
Systemd poettering
Systemd poetteringSystemd poettering
Systemd poettering
 
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
How to Connect HBase in Hortonworks SandBox/Cluster using SqlWorkbenchJ as Ph...
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-tests
 
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
Continuous Delivery Workshop with Ansible x GitLab CI (2nd+)
 
Quickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStackQuickly Debug VM Failures in OpenStack
Quickly Debug VM Failures in OpenStack
 
Working with multiple git repositories
Working with multiple git repositoriesWorking with multiple git repositories
Working with multiple git repositories
 
Introduce to SVN
Introduce to SVNIntroduce to SVN
Introduce to SVN
 

Viewers also liked

Presentacion del blog definitiva
Presentacion del blog definitivaPresentacion del blog definitiva
Presentacion del blog definitiva
carolinahernandezcardona
 
Marshal oller's resume apr 2016
Marshal oller's resume apr 2016Marshal oller's resume apr 2016
Marshal oller's resume apr 2016
Marshal Oller, MLM, PMP & LSS BB
 
Ellen Rutkowski MS RDN Resume
Ellen Rutkowski MS RDN ResumeEllen Rutkowski MS RDN Resume
Ellen Rutkowski MS RDN Resume
Ellen Rutkowski
 
Edward Jantjies CV Update March 2015
Edward Jantjies CV Update March 2015Edward Jantjies CV Update March 2015
Edward Jantjies CV Update March 2015
Edward Jantjies
 
Old and new health center
Old and new health centerOld and new health center
Old and new health center
Mikhail Lyubarev
 
cv
cvcv
Biografi Ibu Susi Pudjiastuti
Biografi Ibu Susi PudjiastutiBiografi Ibu Susi Pudjiastuti
Biografi Ibu Susi Pudjiastuti
Shaelyn Nafisah
 
Update CV 2015 CSL OT
Update CV 2015 CSL OTUpdate CV 2015 CSL OT
Update CV 2015 CSL OT
Charlie Chai
 

Viewers also liked (8)

Presentacion del blog definitiva
Presentacion del blog definitivaPresentacion del blog definitiva
Presentacion del blog definitiva
 
Marshal oller's resume apr 2016
Marshal oller's resume apr 2016Marshal oller's resume apr 2016
Marshal oller's resume apr 2016
 
Ellen Rutkowski MS RDN Resume
Ellen Rutkowski MS RDN ResumeEllen Rutkowski MS RDN Resume
Ellen Rutkowski MS RDN Resume
 
Edward Jantjies CV Update March 2015
Edward Jantjies CV Update March 2015Edward Jantjies CV Update March 2015
Edward Jantjies CV Update March 2015
 
Old and new health center
Old and new health centerOld and new health center
Old and new health center
 
cv
cvcv
cv
 
Biografi Ibu Susi Pudjiastuti
Biografi Ibu Susi PudjiastutiBiografi Ibu Susi Pudjiastuti
Biografi Ibu Susi Pudjiastuti
 
Update CV 2015 CSL OT
Update CV 2015 CSL OTUpdate CV 2015 CSL OT
Update CV 2015 CSL OT
 

Similar to decks

Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
Jérôme Petazzoni
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
Carlos Eduardo
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, DockerSecuring Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker, Inc.
 
Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!
Levente Kurusa
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
Kevin Harvey
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistrano
sagar junnarkar
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
phpne
 
Drupal Version Control & File System Basics
Drupal Version Control & File System BasicsDrupal Version Control & File System Basics
Drupal Version Control & File System Basics
Julia Kulla-Mader
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
adrian_nye
 
Startup guide for kvm on cent os 6
Startup guide for kvm on cent os 6Startup guide for kvm on cent os 6
Startup guide for kvm on cent os 6
Carlos Eduardo
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
All Things Open
 
The development environment
The development environmentThe development environment
The development environment
Lee Pelser
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
Pankaj Kaushal
 
Handling Kernel Upgrades at Scale - The Dirty Cow Story
Handling Kernel Upgrades at Scale - The Dirty Cow StoryHandling Kernel Upgrades at Scale - The Dirty Cow Story
Handling Kernel Upgrades at Scale - The Dirty Cow Story
DataWorks Summit
 
grate techniques
grate techniquesgrate techniques
grate techniques
junaid novapex
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
Kris Buytaert
 
Automated testing with Drupal
Automated testing with DrupalAutomated testing with Drupal
Automated testing with Drupal
Promet Source
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
amenasse
 

Similar to decks (20)

Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
 
Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5Instalando Cacti no CentOS 5
Instalando Cacti no CentOS 5
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, DockerSecuring Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, Docker
 
Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!Linux Kernel - Let's Contribute!
Linux Kernel - Let's Contribute!
 
Continuous Integration Testing in Django
Continuous Integration Testing in DjangoContinuous Integration Testing in Django
Continuous Integration Testing in Django
 
Deployment with capistrano
Deployment with capistranoDeployment with capistrano
Deployment with capistrano
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
Drupal Version Control & File System Basics
Drupal Version Control & File System BasicsDrupal Version Control & File System Basics
Drupal Version Control & File System Basics
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Startup guide for kvm on cent os 6
Startup guide for kvm on cent os 6Startup guide for kvm on cent os 6
Startup guide for kvm on cent os 6
 
Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!Intro to Kernel Debugging - Just make the crashing stop!
Intro to Kernel Debugging - Just make the crashing stop!
 
The development environment
The development environmentThe development environment
The development environment
 
Continuous deployment-at-flipkart
Continuous deployment-at-flipkartContinuous deployment-at-flipkart
Continuous deployment-at-flipkart
 
Handling Kernel Upgrades at Scale - The Dirty Cow Story
Handling Kernel Upgrades at Scale - The Dirty Cow StoryHandling Kernel Upgrades at Scale - The Dirty Cow Story
Handling Kernel Upgrades at Scale - The Dirty Cow Story
 
grate techniques
grate techniquesgrate techniques
grate techniques
 
Deploying software at Scale
Deploying software at ScaleDeploying software at Scale
Deploying software at Scale
 
Automated testing with Drupal
Automated testing with DrupalAutomated testing with Drupal
Automated testing with Drupal
 
5 minute intro to virtualenv
5 minute intro to virtualenv5 minute intro to virtualenv
5 minute intro to virtualenv
 

decks