summaryrefslogtreecommitdiff
path: root/grid5000/steps/data/setup/puppet/modules/env/manifests/big/install_beegfs.pp
blob: e131ec10d6bca1a925966e340e065261a7f2deb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
class env::big::install_beegfs {

  case "${::lsbdistcodename}" {
    "stretch" : {

      apt::source { 'beegfs':
          location     => 'https://www.beegfs.com/release/beegfs_7/',
          release      => 'deb9',
          repos        => 'non-free',
          architecture => 'amd64',
          key          => {
              id       => '055D000F1A9A092763B1F0DD14E8E08064497785',
              source   => 'https://www.beegfs.io/release/beegfs_7/gpg/DEB-GPG-KEY-beegfs',
          },
      }
      -> package { # client
          [ 'beegfs-utils', 'beegfs-helperd', 'beegfs-client', 'linux-headers-amd64', 'beegfs-opentk-lib' ]:
          require => Class['apt::update'],
          ensure => installed;
      }
      -> service { [ 'beegfs-helperd', 'beegfs-client'] :
        provider => systemd,
        enable => false,
      }
      -> exec { "beegfs-setup-rdma":
        command => "/usr/sbin/beegfs-setup-rdma -i on"
      }

      file { '/etc/beegfs/beegfs-client-autobuild.conf':
          content => "buildEnabled=true\nbuildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1\n",
          require => Package['beegfs-client']
      }
      -> exec {
      '/etc/init.d/beegfs-client rebuild':
          timeout => 1200,
          refreshonly => true
      }
    }

    "buster" : {

      include env::big::prepare_kernel_module_build

      apt::source { 'beegfs':
          location     => 'https://www.beegfs.com/release/beegfs_7_1/',
          release      => 'stretch',
          repos        => 'non-free',
          architecture => 'amd64',
          key          => {
              id       => '055D000F1A9A092763B1F0DD14E8E08064497785',
              source   => 'https://www.beegfs.io/release/beegfs_7/gpg/DEB-GPG-KEY-beegfs',
          },
      }
      -> package { # client
          [ 'beegfs-utils', 'beegfs-helperd', 'beegfs-client', 'libbeegfs-ib' ]:
          require => Class['apt::update'],
          ensure => installed;
      }
      -> service { [ 'beegfs-helperd', 'beegfs-client'] :
        provider => systemd,
        enable => false,
      }

      file { '/etc/beegfs/beegfs-client-autobuild.conf':
          content => "buildEnabled=true\nbuildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1\n",
          require => Package['beegfs-client']
      }
      -> exec {
      '/etc/init.d/beegfs-client rebuild':
          timeout => 1200,
          refreshonly => true,
          require => Exec['prepare_kernel_module_build']
      }
    }

    "bullseye" : {
      # Do not build for now, cf. Bug #13077

#      include env::big::prepare_kernel_module_build
#
#      apt::source { 'beegfs':
#          location     => 'https://www.beegfs.io/release/beegfs_7.2.3',
#          release      => 'buster', #FIXME : change release to bullseye when beegfs release it
#          repos        => 'non-free',
#          architecture => 'amd64',
#          key          => {
#              id       => '055D000F1A9A092763B1F0DD14E8E08064497785',
#              source   => 'https://www.beegfs.io/release/beegfs_7.2.3/gpg/DEB-GPG-KEY-beegfs',
#          },
#      }
#      -> package { # client
#          [ 'beegfs-utils', 'beegfs-helperd', 'beegfs-client', 'libbeegfs-ib' ]:
#          require => Class['apt::update'],
#          ensure => installed;
#      }
#      -> service { [ 'beegfs-helperd', 'beegfs-client'] :
#        provider => systemd,
#        enable => false,
#      }
#
#      file { '/etc/beegfs/beegfs-client-autobuild.conf':
#          content => "buildEnabled=true\nbuildArgs=-j8 BEEGFS_OPENTK_IBVERBS=1\n",
#          require => Package['beegfs-client']
#      }
#      -> exec {
#      '/etc/init.d/beegfs-client rebuild':
#          timeout => 1200,
#          require => Exec['prepare_kernel_module_build']
#      }
    }
  }
}