Dduvall has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/254914

Change subject: Pin Wikimedia packages at a higher priority
......................................................................

Pin Wikimedia packages at a higher priority

Pin packages from a Wikimedia release origin with a priority of 1001 per
operations/puppet.

Bug: T119360
Change-Id: I3a39efac5ce248ea305295af47d63056b5e9d6d5
---
M puppet/modules/apt/manifests/init.pp
A puppet/modules/apt/manifests/pin.pp
M puppet/modules/cassandra/manifests/init.pp
3 files changed, 31 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/14/254914/1

diff --git a/puppet/modules/apt/manifests/init.pp 
b/puppet/modules/apt/manifests/init.pp
index 12233df..c177c1a 100644
--- a/puppet/modules/apt/manifests/init.pp
+++ b/puppet/modules/apt/manifests/init.pp
@@ -5,7 +5,7 @@
 # supplementary sources.
 #
 class apt {
-    exec { 'update_package_index':
+    exec { 'apt-get update':
         command  => '/usr/bin/apt-get update',
         schedule => hourly,
     }
@@ -24,12 +24,19 @@
 
     file { '/etc/apt/sources.list.d/wikimedia.list':
         content => template('apt/wikimedia.list.erb'),
-        before  => Exec['update_package_index'],
+        before  => Exec['apt-get update'],
     }
 
     file { '/etc/apt/sources.list.d/multiverse.list':
         content => template('apt/multiverse.list.erb'),
-        before  => Exec['update_package_index'],
+        before  => Exec['apt-get update'],
+    }
+
+    # prefer Wikimedia APT repository packages in all cases
+    apt::pin { 'wikimedia':
+        package  => '*',
+        pin      => 'release o=Wikimedia',
+        priority => 1001,
     }
 
     if $::shared_apt_cache {
diff --git a/puppet/modules/apt/manifests/pin.pp 
b/puppet/modules/apt/manifests/pin.pp
new file mode 100644
index 0000000..acf4d6d
--- /dev/null
+++ b/puppet/modules/apt/manifests/pin.pp
@@ -0,0 +1,20 @@
+define apt::pin (
+    $pin,
+    $priority,
+    $package=$name,
+    $ensure=present,
+) {
+    # Validate that $name does not already have a ".pref" suffix.
+    if $name =~ /\.pref$/ {
+        fail('$name must not have a ".pref" suffix.')
+    }
+
+    file { "/etc/apt/preferences.d/${name}.pref":
+        ensure  => $ensure,
+        owner   => 'root',
+        group   => 'root',
+        mode    => '0444',
+        content => "Package: ${package}\nPin: ${pin}\nPin-Priority: 
${priority}\n",
+        notify  => Exec['apt-get update'],
+    }
+}
diff --git a/puppet/modules/cassandra/manifests/init.pp 
b/puppet/modules/cassandra/manifests/init.pp
index 64acd6b..937549c 100644
--- a/puppet/modules/cassandra/manifests/init.pp
+++ b/puppet/modules/cassandra/manifests/init.pp
@@ -38,7 +38,7 @@
         source => 'puppet:///modules/cassandra/datastax.sources.list',
         owner  => 'root',
         group  => 'root',
-        notify => Exec['update_package_index'],
+        notify => Exec['apt-get update'],
     }
 
     # copy over cassandra-env.sh with modified JVM memory settings

-- 
To view, visit https://gerrit.wikimedia.org/r/254914
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a39efac5ce248ea305295af47d63056b5e9d6d5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: Dduvall <dduv...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to