buildd: use a different configuration for buildd and pybuildd
authorAurelien Jarno <aurelien@aurel32.net>
Sun, 8 Apr 2018 14:14:33 +0000 (16:14 +0200)
committerAurelien Jarno <aurelien@aurel32.net>
Sun, 8 Apr 2018 14:14:33 +0000 (16:14 +0200)
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
modules/buildd/manifests/init.pp

index 0338a1f..33867d0 100644 (file)
@@ -98,122 +98,152 @@ class buildd ($ensure=present) {
                        }
                }
 
-
                #
-               # buildd configuration
+               # buildd/pybuildd configuration
                #
-               file { '/home/buildd/build':
-                       ensure  => directory,
-                       mode    => '2750',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/logs':
-                       ensure  => directory,
-                       mode    => '2750',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/old-logs':
-                       ensure  => directory,
-                       mode    => '2750',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/upload-security':
-                       ensure  => directory,
-                       mode    => '2750',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/stats':
-                       ensure  => directory,
-                       mode    => '2755',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/stats/graphs':
-                       ensure  => directory,
-                       mode    => '2755',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/upload':
-                       ensure  => directory,
-                       mode    => '2755',
-                       group   => buildd,
-                       owner   => buildd,
-               }
-               file { '/home/buildd/.forward':
-                       content  => "|/usr/bin/buildd-mail\n",
-                       group   => buildd,
-                       owner   => buildd,
-               }
-
-               package { 'buildd':
-                       ensure => installed,
-               }
-               file { '/etc/buildd/buildd.conf':
-                       source  => 'puppet:///modules/buildd/buildd.conf',
-                       require => Package['buildd'],
-               }
+               if $::hostname in [x86-bm-01,x86-grnet-01,zani] {
+                       #
+                       # pybuildd configuration
+                       #
+
+                       # We still rely on buildd for some features. Install the package
+                       # but keep it disabled.
+                       package { 'buildd':
+                               ensure => installed,
+                       }
+                       service { 'buildd':
+                               enable => false,
+                               ensure => 'stopped',
+                       }
+                       file { '/home/buildd/NO-DAEMON-PLEASE':
+                               ensure => present,
+                       }
+                       file { '/home/buildd/.forward':
+                               content  => "|/usr/bin/buildd-mail\n",
+                               group   => buildd,
+                               owner   => buildd,
+                       }
 
-               if (versioncmp($::lsbmajdistrelease, '9') >= 0) {
-                       site::aptrepo { 'buildd.debian.org':
-                               ensure => absent,
+                       package { ['python3-retrying', 'python3-yaml']:
+                               ensure => installed,
+                       }
+                       file { '/home/buildd/.profile':
+                               content  => @(EOT),
+                                       export XDG_RUNTIME_DIR="/run/user/$(id -u)"
+                                       export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
+                                       | EOT
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/logs':
+                               ensure  => directory,
+                               mode    => '2750',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/var/lib/systemd/linger':
+                               ensure  => directory,
+                               mode    => '755',
+                       }
+                       file { "/var/lib/systemd/linger/buildd":
+                               ensure => present,
+                       }
+                       file { '/etc/systemd/journald.conf.d':
+                               ensure  => directory,
+                               mode    => '755',
                        }
-                       file { '/etc/apt/apt.conf.d/puppet-https-buildd':
-                               ensure => absent,
+                       file { '/etc/systemd/journald.conf.d/persistency.conf':
+                               source => 'puppet:///modules/systemd/persistency.conf',
                        }
                } else {
-                       site::aptrepo { 'buildd.debian.org':
-                               key        => 'puppet:///modules/buildd/buildd.debian.org.gpg',
-                               url        => 'https://apt.buildd.debian.org/',
-                               suite      => 'jessie',
-                               components => 'main',
-                               require    => Package['apt-transport-https'],
+                       #
+                       # buildd configuration
+                       #
+                       file { '/home/buildd/build':
+                               ensure  => directory,
+                               mode    => '2750',
+                               group   => buildd,
+                               owner   => buildd,
                        }
-                       file { '/etc/apt/apt.conf.d/puppet-https-buildd':
-                               content => "Acquire::https::apt.buildd.debian.org::CaInfo \"/etc/ssl/ca-debian/ca-certificates.crt\";\n",
+                       file { '/home/buildd/logs':
+                               ensure  => directory,
+                               mode    => '2750',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/old-logs':
+                               ensure  => directory,
+                               mode    => '2750',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/upload-security':
+                               ensure  => directory,
+                               mode    => '2750',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/stats':
+                               ensure  => directory,
+                               mode    => '2755',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/stats/graphs':
+                               ensure  => directory,
+                               mode    => '2755',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/upload':
+                               ensure  => directory,
+                               mode    => '2755',
+                               group   => buildd,
+                               owner   => buildd,
+                       }
+                       file { '/home/buildd/.forward':
+                               content  => "|/usr/bin/buildd-mail\n",
+                               group   => buildd,
+                               owner   => buildd,
                        }
-               }
-
-               concat::fragment { 'dsa-puppet-stuff--buildd':
-                       target => '/etc/cron.d/dsa-puppet-stuff',
-                       source  => 'puppet:///modules/buildd/cron.d-dsa-buildd',
-                       require => Package['debian.org']
-               }
-               service { 'buildd':
-                       enable => false,
-                       ensure => 'stopped',
-               }
 
+                       package { 'buildd':
+                               ensure => installed,
+                       }
+                       file { '/etc/buildd/buildd.conf':
+                               source  => 'puppet:///modules/buildd/buildd.conf',
+                               require => Package['buildd'],
+                       }
 
-               #
-               # pybuildd configuration
-               #
-               file { '/home/buildd/.profile':
-                       content  => @(EOT),
-                               export XDG_RUNTIME_DIR="/run/user/$(id -u)"
-                               export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"
-                               | EOT
-                       group   => buildd,
-                       owner   => buildd,
-               }
+                       if (versioncmp($::lsbmajdistrelease, '9') >= 0) {
+                               site::aptrepo { 'buildd.debian.org':
+                                       ensure => absent,
+                               }
+                               file { '/etc/apt/apt.conf.d/puppet-https-buildd':
+                                       ensure => absent,
+                               }
+                       } else {
+                               site::aptrepo { 'buildd.debian.org':
+                                       key        => 'puppet:///modules/buildd/buildd.debian.org.gpg',
+                                       url        => 'https://apt.buildd.debian.org/',
+                                       suite      => 'jessie',
+                                       components => 'main',
+                                       require    => Package['apt-transport-https'],
+                               }
+                               file { '/etc/apt/apt.conf.d/puppet-https-buildd':
+                                       content => "Acquire::https::apt.buildd.debian.org::CaInfo \"/etc/ssl/ca-debian/ca-certificates.crt\";\n",
+                               }
+                       }
 
-               file { '/var/lib/systemd/linger':
-                       ensure  => directory,
-                       mode    => '755',
-               }
-               file { "/var/lib/systemd/linger/buildd":
-                       ensure => present,
-               }
-               file { '/etc/systemd/journald.conf.d':
-                       ensure  => directory,
-                       mode    => '755',
-               }
-               file { '/etc/systemd/journald.conf.d/persistency.conf':
-                       source => 'puppet:///modules/systemd/persistency.conf',
+                       concat::fragment { 'dsa-puppet-stuff--buildd':
+                               target => '/etc/cron.d/dsa-puppet-stuff',
+                               source  => 'puppet:///modules/buildd/cron.d-dsa-buildd',
+                               require => Package['debian.org']
+                       }
+                       service { 'buildd':
+                               enable => false,
+                               ensure => 'stopped',
+                       }
                }
        }
 }