Puppet Class: classroom_legacy::course::architect

Inherits:
classroom_legacy::params
Defined in:
manifests/course/architect.pp

Overview

This is a wrapper class to include all the bits needed for Architect

Parameters:

  • offline (Any) (defaults to: $classroom_legacy::params::offline)
  • manage_yum (Any) (defaults to: $classroom_legacy::params::manage_yum)
  • time_servers (Any) (defaults to: $classroom_legacy::params::time_servers)
  • jvm_tuning_profile (Any) (defaults to: $classroom_legacy::params::jvm_tuning_profile)
  • event_id (Any) (defaults to: undef)
  • event_pw (Any) (defaults to: undef)
  • version (Any) (defaults to: undef)


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
# File 'manifests/course/architect.pp', line 3

class classroom_legacy::course::architect (
  $offline            = $classroom_legacy::params::offline,
  $manage_yum         = $classroom_legacy::params::manage_yum,
  $time_servers       = $classroom_legacy::params::time_servers,
  $jvm_tuning_profile = $classroom_legacy::params::jvm_tuning_profile,
  $event_id           = undef,
  $event_pw           = undef,
  $version            = undef,
) inherits classroom_legacy::params {
  # just wrap the classroom class
  class { 'classroom_legacy':
    offline            => $offline,
    role               => $role,
    manage_yum         => $manage_yum,
    time_servers       => $time_servers,
    manage_repos       => false,
    jvm_tuning_profile => $jvm_tuning_profile,
  }

  if $role == 'master' {
    # Collect all hosts
    include classroom_legacy::agent::hosts

    # set up graphite/grafana on the classroom master
    include classroom_legacy::master::graphite

    # include metrics tools for labs & demos
    include classroom_legacy::master::metrics

    # Host docker registiry on master
    include classroom_legacy::master::docker_registry

    class { 'classroom_legacy::master::showoff':
      course             => 'Architect',
      event_id           => $event_id,
      event_pw           => $event_pw,
      version            => $version,
    }
  }
  elsif $role == 'agent' {
    # tools used in class
    include classroom_legacy::master::reporting_tools

    # Collect all hosts
    include classroom_legacy::agent::hosts

    # include metrics tools for labs & demos
    include classroom_legacy::master::metrics

    # The student masters should export a balancermember
    include classroom_legacy::master::balancermember

    # The autoscaling seems to assume that you'll sync this out from the MoM
    include classroom_legacy::master::student_environment

    # Set up agent containers on student masters
    include classroom_legacy::containers

  }

  class { 'classroom_legacy::facts':
    coursename => 'architect',
  }
}