X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fbuildd%2Fmanifests%2Finit.pp;h=cf7f2a0f2edeb381db512d1ea33f8860e4b741e2;hb=e004cf0926cc3bdb95c0d71c79cd734b1e1cc806;hp=0338a1f99274ed0a769b397c81720ed1dbb51978;hpb=54eade454bc9db2312ac374a94c79f6722333ce0;p=mirror%2Fdsa-puppet.git diff --git a/modules/buildd/manifests/init.pp b/modules/buildd/manifests/init.pp index 0338a1f99..cf7f2a0f2 100644 --- a/modules/buildd/manifests/init.pp +++ b/modules/buildd/manifests/init.pp @@ -98,122 +98,156 @@ 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, - } + if $::hostname in [x86-bm-01,x86-grnet-01,zani] { + # + # pybuildd configuration + # + package { 'buildd': + ensure => purged, + } - package { 'buildd': - ensure => installed, - } - file { '/etc/buildd/buildd.conf': - source => 'puppet:///modules/buildd/buildd.conf', - require => Package['buildd'], - } + 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/systemd/journald.conf.d/persistency.conf': + source => 'puppet:///modules/dsa_systemd/persistency.conf', + } - if (versioncmp($::lsbmajdistrelease, '9') >= 0) { - site::aptrepo { 'buildd.debian.org': - ensure => absent, + # Make sure that the build directory have the correct permissions. + # This should go away once pybuildd issue #3 is solved. + file { '/home/buildd/build': + ensure => directory, + mode => '2750', + group => buildd, + owner => buildd, } - file { '/etc/apt/apt.conf.d/puppet-https-buildd': - ensure => absent, + # work around https://salsa.debian.org/wb-team/pybuildd/issues/11 + concat::fragment { 'dsa-puppet-stuff--pybuildd-expire-logs': + target => '/etc/cron.d/dsa-puppet-stuff', + content => @(EOF) + @daily buildd [ -d ~buildd/logs ] && find ~buildd/logs -type f -mtime +90 -delete + | EOF } } 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 { + package { 'apt-transport-https': + ensure => installed, + } + 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', + } } } }