Module: Beaker::DSL::InstallUtils::AIODefaults

Included in:
FOSSUtils, PEUtils
Defined in:
lib/beaker/dsl/install_utils/aio_defaults.rb

Overview

This module contains default values for aio paths and directorys per-platform

Constant Summary collapse

AIO_DEFAULTS =

Here be the pathing and default values for AIO installs

{
  'unix' => {
    'puppetbindir'          => '/opt/puppetlabs/bin',
    'privatebindir'         => '/opt/puppetlabs/puppet/bin',
    'distmoduledir'         => '/etc/puppetlabs/code/modules',
    'sitemoduledir'         => '/opt/puppetlabs/puppet/modules',
  },
  'windows' => { #windows
    'puppetbindir'      => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/bin',
    'privatebindir'     => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin',
    'distmoduledir'     => '`cygpath -smF 35`/PuppetLabs/code/modules',
    # sitemoduledir not included (check PUP-4049 for more info)
  },
}

Instance Method Summary collapse

Instance Method Details

#add_aio_defaults_on(hosts) ⇒ Object

Add the appropriate aio defaults to an array of hosts

Parameters:

  • hosts (Host, Array<Host>, String, Symbol)

    One or more hosts to act upon, or a role (String or Symbol) that identifies one or more hosts.



45
46
47
48
49
50
51
52
53
54
# File 'lib/beaker/dsl/install_utils/aio_defaults.rb', line 45

def add_aio_defaults_on(hosts)
  block_on hosts do | host |
    if host['platform'] =~ /windows/
      platform = 'windows'
    else
      platform = 'unix'
    end
    add_platform_aio_defaults(host, platform)
  end
end

#add_platform_aio_defaults(host, platform) ⇒ Object

Add the appropriate aio defaults to the host object so that they can be accessed using host, set host = aio

Parameters:

  • host (Host)

    A single host to act upon

  • platform (String)

    The platform type of this host, one of windows or unix



29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/beaker/dsl/install_utils/aio_defaults.rb', line 29

def add_platform_aio_defaults(host, platform)
  AIO_DEFAULTS[platform].each_pair do |key, val|
    host[key] = val
  end
  # add group and type here for backwards compatability
  if host['platform'] =~ /windows/
    host['group'] = 'Administrators'
  else
    host['group'] = 'puppet'
  end
  host['type'] = 'aio'
end

#remove_aio_defaults_on(hosts) ⇒ Object

Remove the appropriate aio defaults from an array of hosts

Parameters:

  • hosts (Host, Array<Host>, String, Symbol)

    One or more hosts to act upon, or a role (String or Symbol) that identifies one or more hosts.



70
71
72
73
74
75
76
77
78
79
# File 'lib/beaker/dsl/install_utils/aio_defaults.rb', line 70

def remove_aio_defaults_on(hosts)
  block_on hosts do | host |
    if host['platform'] =~ /windows/
      platform = 'windows'
    else
      platform = 'unix'
    end
    remove_platform_aio_defaults(host, platform)
  end
end

#remove_platform_aio_defaults(host, platform) ⇒ Object

Remove the appropriate aio defaults from the host object so that they can no longer be accessed using host, set host = nil

Parameters:

  • host (Host)

    A single host to act upon

  • platform (String)

    The platform type of this host, one of windows, pswindows, freebsd, mac & unix



59
60
61
62
63
64
65
# File 'lib/beaker/dsl/install_utils/aio_defaults.rb', line 59

def remove_platform_aio_defaults(host, platform)
  AIO_DEFAULTS[platform].each_pair do |key, val|
    host.delete(key)
  end
  host['type'] = nil
  host['group'] = nil
end