summaryrefslogtreecommitdiff
path: root/grid5000/steps/data/setup/puppet/modules/env/manifests/min.pp
blob: e4a4dd3ddaeb5d20c7cb90f5df38a8778a8c03f1 (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 'min' class used to configure an environment with minimal modification to be executed in grid'5000.

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

  stage { 'last':
    require => Stage['main'],
  }

  $min_parameters = {
    misc_root_pwd => '$1$qzZwnZXQ$Ak1xs7Oma6HUHw/xDJ8q91',
  }
  $parameters = merge( $min_parameters, $parent_parameters )

  # Package manager
  case $operatingsystem {
    'Debian','Ubuntu': {
    }
    'Centos': {
      class { 'env::min::yum': }
    }
    default: {
      err "${operatingsystem} not suported."
    }
  }
  # Install cpu microcode
  if $env::deb_arch == 'amd64' {
    class { 'env::min::install_cpu_microcode': }
  }
  # ssh
  class { 'env::min::install_and_configure_ssh': }
  # setup
  class { 'env::min::install_and_configure_locales': }
  # motd
  class { 'env::min::generate_etc_motd': }
  # tgs-g5k
  class { 'env::min::install_tgz_g5k': }
  # install meta-packages
  class { 'env::min::install_metapackage': variant => $variant }
  # network configuration
  class { 'env::min::configure_network_and_install_drivers': }
  # root password
  class { 'env::min::set_root_password':
    root_pwd => $parameters['misc_root_pwd'];
  }
  # timezone
  class { 'env::min::set_timezone_to_europe_paris': }
  # keep tmp

  # kernel installation
  class { 'env::min::configure_kernel_and_blacklist_some_modules': }
  # Tagging to recognize images
  class { 'env::min::add_image_version_in_etc': }
}