Ottomata has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/404540 )

Change subject: Ensure specific librdkafka version for changeprop and 
eventstreams
......................................................................

Ensure specific librdkafka version for changeprop and eventstreams

Bug: T176126
Bug: T185016
Change-Id: I8dac12a8b8d49da97c7dc7dced47dd4f85fde8d5
---
M modules/profile/manifests/changeprop/packages.pp
M modules/profile/manifests/eventstreams.pp
2 files changed, 52 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/40/404540/1

diff --git a/modules/profile/manifests/changeprop/packages.pp 
b/modules/profile/manifests/changeprop/packages.pp
index 1df50de..96000f1 100644
--- a/modules/profile/manifests/changeprop/packages.pp
+++ b/modules/profile/manifests/changeprop/packages.pp
@@ -1,9 +1,33 @@
 # Packages required by changeprop and cpjobqueue
 class profile::changeprop::packages() {
+    require ::service::configuration
 
-    service::packages { 'changeprop':
-        pkgs     => ['librdkafka++1', 'librdkafka1'],
-        dev_pkgs => ['librdkafka-dev'],
+    $librdkafka_version = $::lsbdistcodename ? {
+        'jessie'  => '0.9.4-1~jessie1',
+        'stretch' => '0.9.3-1',
     }
 
+    # We are only installing librdkafka packages here, so make all
+    # in scope package resources ensure the version.
+    # See: https://phabricator.wikimedia.org/T185016
+    Package {
+        ensure => $librdkafka_version
+    }
+    # Need to use package resource directly, so we can ensure version.
+    if !defined(Package['librdkafka1']) {
+        package { 'librdkafka1': }
+    }
+    if !defined(Package['librdkafka++1']) {
+        package { 'librdkafka++1': }
+    }
+    if $::service::configuration::use_dev_pkgs and 
!defined(Package['librdkafka-dev']) {
+        package { 'librdkafka-dev': }
+    }
+
+    # TODO: restore use of service::packages when we no longer need to
+    # ensure a specific librdkafka version.
+    # service::packages { 'changeprop':
+    #     pkgs     => ['librdkafka++1', 'librdkafka1'],
+    #     dev_pkgs => ['librdkafka-dev'],
+    # }
 }
diff --git a/modules/profile/manifests/eventstreams.pp 
b/modules/profile/manifests/eventstreams.pp
index d340984..9fbd82d 100644
--- a/modules/profile/manifests/eventstreams.pp
+++ b/modules/profile/manifests/eventstreams.pp
@@ -39,10 +39,33 @@
 ) {
     $kafka_config = kafka_config($kafka_cluster_name)
     $broker_list = $kafka_config['brokers']['string']
-    service::packages { 'eventstreams':
-        pkgs     => ['librdkafka++1', 'librdkafka1'],
+
+
+    $librdkafka_version = $::lsbdistcodename ? {
+        'jessie'  => '0.9.4-1~jessie1',
+        'stretch' => '0.9.3-1',
     }
 
+    # We are only installing librdkafka packages here, so make all
+    # in scope package resources ensure the version.
+    # See: https://phabricator.wikimedia.org/T185016
+    Package {
+        ensure => $librdkafka_version
+    }
+    # Need to use package resource directly, so we can ensure version.
+    if !defined(Package['librdkafka1']) {
+        package { 'librdkafka1': }
+    }
+    if !defined(Package['librdkafka++1']) {
+        package { 'librdkafka++1': }
+    }
+
+    # TODO: restore use of service::packages when we no longer need to
+    # ensure a specific librdkafka version.
+    # service::packages { 'eventstreams':
+    #     pkgs     => ['librdkafka++1', 'librdkafka1'],
+    # }
+
     service::node { 'eventstreams':
         enable            => true,
         port              => 8092,

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8dac12a8b8d49da97c7dc7dced47dd4f85fde8d5
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ottomata <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to