Commit ac7aef4d authored by Scotty Logan's avatar Scotty Logan
Browse files

package list(s) move to hiera

parent 99c69e8b
Loading
Loading
Loading
Loading
+20 −89
Original line number Diff line number Diff line
@@ -14,63 +14,19 @@
# Copyright (c) 2016 The Board of Trustees of the Leland Stanford Junior
# University
#
class base::packages {
class base::packages (
  $install,
  $uninstall
){

  package {
    [
      'bash',
      'bash-completion',
      'bc',
      'bind9-host',
      # dig, nslookup
      'dnsutils',
      'curl',
      'git',
      'gnupg',
      'less',
      'lsof',
      'tzdata',
      'wget',
      'vim-tiny',
  include stdlib

      'lsb-base',
      'lsb-release',
      'adduser',
      'ca-certificates',
      'firmware-linux-free',
      'openssh-client',
      'puppet-agent',
      'python-setuptools',
      'rsyslog',
  $only_install = difference($install, $uninstall)

      'bzip2',
      'gzip',
      'xz-utils',
      'unzip',
      'zip',
    ]:
    ensure => latest,
  }

  # non-docker builds also need cloud-init, ntp, iptables, etc.
  unless ($::packer_builder_type == 'docker' or $::virtual == 'docker') {
    package {
      [
        'cloud-init',
        'cron',
        'ethtool',
        'iptables',
        'isc-dhcp-client',
        'logrotate',
        'manpages',
        'ntp',
        'ntpdate',
        'openssh-server',
        'sudo',
      ]:
      ensure => latest,
    }
  ensure_packages($only_install, {'ensure' => 'latest'})
  ensure_packages($uninstall, {'ensure' => 'absent'})

  if member($only_install, 'sudo') {
    file { '/etc/sudoers':
      ensure  => file,
      owner   => 'root',
@@ -87,9 +43,9 @@ class base::packages {
      mode    => '0440',
      require => Package['sudo'],
    }

  }

  if member($only_install, 'python-setuptools') {
    exec { 'easy_install_pip':
      command => '/usr/bin/easy_install pip',
      require => Package['python-setuptools'],
@@ -105,31 +61,6 @@ class base::packages {
        provider => 'pip',
        require  => Exec['easy_install_pip'],
    }

  # Intel machines also need pciutils
  if $::hardwaremodel == 'x86_64' {
    package {
      [
        'pciutils',
      ]:
      ensure => latest,
    }
  }

  # use vim.tiny as the default editor
  file { '/etc/alternatives/editor':
    ensure  => link,
    target  => '/usr/bin/vim.tiny',
    require => Package['vim-tiny'],
  }

  # packages we don't want
  package {
    [
      'nano',
    ]:
    ensure  => absent,
    require => File['/etc/alternatives/editor'],
  }

}