summaryrefslogtreecommitdiff
path: root/grid5000/steps/data/setup/puppet/modules/env/manifests/base.pp
blob: 3ff9155b3c693410c809c986fc47606531d8c962 (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
# This file contains the 'base' class used to configure a basic environment to be executed in grid'5000.

class env::base ( $variant = "base", $parent_parameters = {} ){

  $base_parameters = {
    misc_keep_tmp => true,
    ganglia_enable => false
  }

  $parameters = merge ( $base_parameters, $parent_parameters )
  # Include min class
  class {
    'env::min':
      variant => $variant,
      parent_parameters => $parameters;
  }

  class { 'env::base::do_not_clean_tmp':
    keep_tmp => $parameters['misc_keep_tmp'];
  }

  # Include kexec-tools
  class { 'env::base::configure_kexec': }
  # SSH modification
  class { 'env::base::increase_ssh_maxstartups': }
  # Specific tuning
  class { 'env::base::tcp_tuning_for_10gbe': }
  # Cpufreq. Not available on ppc64
  if $env::deb_arch != 'ppc64el' {
    class { 'env::base::enable_cpufreq_with_performance_governor': }
  }
  # Ganglia
  class {
    'env::base::install_and_disable_ganglia':
      enable => $parameters['ganglia_enable']
  }
  #IbOverIP
  class { 'env::base::configure_ip_over_infiniband': }
  # memlock tuning for infiniband
  class { 'env::base::unlimited_memlock_for_infiniband': }
  # Omni-Path
  class { 'env::base::configure_omnipath': }
  #Add ca2019.grid5000.fr certificate
  class { 'env::base::add_ca_grid5000': }
  #Dhclient conf
  class { 'env::base::configure_dhclient': }
  # Disable ndctl monitor service
  class { 'env::base::disable_ndctl_monitor': }
  # Enable userns for Nix
  class { 'env::base::enable_userns': }
  # Disable NVMe multipath support
  class { 'env::base::disable_nvme_multipath': }
}