Install python-treq from strech on jessie nodes
authorVarac <varac@leap.se>
Tue, 27 Jun 2017 14:12:37 +0000 (16:12 +0200)
committerVarac <varac@leap.se>
Tue, 27 Jun 2017 18:14:09 +0000 (20:14 +0200)
New soledad-common depends on `python-treq`, which
is only available in debian stretch.
We pin all stretch packages to 1 (same as for sid), which
means (from `man apt_preferences`):

    "causes a version to be installed only if there is no
    installed version of the package"

- Resolves: #8836

puppet/modules/site_apt/manifests/init.pp
puppet/modules/site_apt/templates/Debian/preferences_jessie.erb [new file with mode: 0644]

index 798d0b8..60fe048 100644 (file)
@@ -20,20 +20,24 @@ class site_apt {
     $apt_platform_codename = $platform_sources['apt']['codename']
   }
 
-  # needed on jessie hosts for getting pnp4nagios from testing
+  # needed on jessie hosts for getting python-treq from stretch
+  # see https://0xacab.org/leap/platform/issues/8836
   if ( $::operatingsystemmajrelease == '8' ) {
-    $use_next_release = true
+    $use_next_release   = true
+    $custom_preferences = template("site_apt/${::operatingsystem}/preferences_jessie.erb")
   } else {
-    $use_next_release = false
+    $use_next_release   = false
+    $custom_preferences = ''
   }
 
   class { 'apt':
-    custom_key_dir   => 'puppet:///modules/site_apt/keys',
-    debian_url       => $apt_url_basic,
-    security_url     => $apt_url_security,
-    backports_url    => $apt_url_backports,
-    use_next_release => $use_next_release,
-    repos            => 'main'
+    custom_key_dir     => 'puppet:///modules/site_apt/keys',
+    debian_url         => $apt_url_basic,
+    security_url       => $apt_url_security,
+    backports_url      => $apt_url_backports,
+    use_next_release   => $use_next_release,
+    custom_preferences => $custom_preferences,
+    repos              => 'main'
   }
 
   # enable http://deb.leap.se debian package repository
diff --git a/puppet/modules/site_apt/templates/Debian/preferences_jessie.erb b/puppet/modules/site_apt/templates/Debian/preferences_jessie.erb
new file mode 100644 (file)
index 0000000..879885d
--- /dev/null
@@ -0,0 +1,19 @@
+Explanation: Debian jessie
+Package: *
+Pin: release o=Debian,n=jessie
+Pin-Priority: 990
+
+Explanation: Debian stretch
+Package: *
+Pin: release o=Debian,n=stretch
+Pin-Priority: 1
+
+Explanation: Debian sid
+Package: *
+Pin: release o=Debian,n=sid
+Pin-Priority: 1
+
+Explanation: Debian fallback
+Package: *
+Pin: release o=Debian
+Pin-Priority: -10