In regard to: Re: [Puppet Users] Puppet & Oracle Database config...:

Have you got any examples of the hiera config you're using?

As I said, it's pretty rough.

class oracledb::sysctl(
  $use_amm = false,
  $large_mem_pages = '0',
  $hugetlb_gid = '1001',
) {

  validate_bool($use_amm)
  validate_string($large_mem_pages)
  validate_string($hugetlb_gid)

  if ( $use_amm and ($large_mem_pages != '0')) {
    fail("\$use_amm must be false when \$large_mem_pages is not 0\n")
  }

  #
  # The basic settings that should always be present.  Can be overridden
  # via hiera().
  #

  # sem, default is '250 32000 100 128'
  sysctl::set{'kernel.sem':
    value => hiera('oracle_sysctl_sem', '250 32000 100 128')
  }

  # shmmni
  sysctl::set{'kernel.shmmni':
    value   => hiera('oracle_sysctl_shmmni', '4096'),
    require => Sysctl::Set['kernel.sem'],
  }

  # file_max
  sysctl::set{'fs.file-max':
    value   => hiera('oracle_sysctl_file_max', '6815744'),
    require => Sysctl::Set['kernel.shmmni'],
  }

  sysctl::set{'fs.aio-max-nr':
    value   => hiera('oracle_sysclt_aio_max_nr', '1048576'),
    require => Sysctl::Set['fs.file-max'],
  }


  # ip local port range.
  sysctl::set{'net.ipv4.ip_local_port_range':
    value   => hiera('oracle_sysctl_ip_local_port_range', '9000 65500'),
    require => Sysctl::Set['fs.aio-max-nr'],
  }

  # network buffer defaults
  sysctl::set{'net.core.rmem_default':
    value   => hiera('oracle_sysctl_rmem_default', '262144'),
    require => Sysctl::Set['net.ipv4.ip_local_port_range'],
  }

  sysctl::set{'net.core.rmem_max':
    value   => hiera('oracle_sysctl_rmem_max', '4194304'),
    require => Sysctl::Set['net.core.rmem_default'],
  }

  sysctl::set{'net.core.wmem_default':
    value   => hiera('oracle_sysctl_wmem_default', '262144'),
    require => Sysctl::Set['net.core.rmem_max'],
  }

  sysctl::set{'net.core.wmem_max':
    value   => hiera('oracle_sysctl_wmem_max', '1048576'),
    require => Sysctl::Set['net.core.wmem_default'],
  }

  sysctl::set{'vm.swappiness':
    value   => hiera('oracle_sysctl_swappiness', '0'),
    require => Sysctl::Set['net.core.wmem_max'],
  }

  #
  # Only if AMM is false and $large_mem_pages > 0 do we set these
  #
  if (!$use_amm and ($large_mem_pages > 0)) {
    sysctl::set{'vm.nr_hugepages':              value => $large_mem_pages }
    #1001 is the dba group which the oracle user belongs to
    sysctl::set{'vm.hugetlb_shm_group':         value => $hugetlb_gid }
  }
}


We've talked about having the sysctl class also make certain that
/dev/shm is mounted and of the appropriate size if $use_amm is true, but
that hasn't been done yet.

All of the other setup (limits.conf, paths, user, groups) happens in
oracledb::serverbase, which doesn't use hiera and is more or less specific
to our environment.

Tim

--
You received this message because you are subscribed to the Google Groups "Puppet 
Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to