Documentation by YARD 0.9.5
-Alphabetic Index
- -Puppet Class Listing A-Z
- - -
-
-
-
|
-
Defined Type Listing A-Z
- - -
-
-
-
|
-
File Listing
--
-
-
-
- README - - -
-
-
-
|
-
-
-
-
|
-
t |
- - - -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171 -172 -173 -174 -175 -176 -177 -178 -179 -180 -181 -182 -183 -184 -185 -186 -187 -188 -189 -190 -191 -192 -193 -194 -195 -196 -197 -198 -199 -200 -201 -202 -203 -204 -205 -206 -207 -208 -209 -210 -211 -212 -213 -214 -215 -216 -217 -218 -219 -220 -221 -222 -223 -224 -225 -226 -227 -228 -229 -230 -231 -232 -233 -234 -235 -236 -237 -238 -239 -240 -241 -242 -243 -244 -245 -246 -247 -248 -249 -250 -251 -252 -253 -254 -255 -256 -257 -258 -259 -260 -261 -262 -263 -264 -265 -266 -267 -268 -269 -270 -271 -272 -273 -274 -275 -276 -277 -278 -279 -280 -281 -282 -283 -284 -285 -286 -287 -288 -289 -290 -291 -292 -293 -294 -295 -296 -297 -298 -299 -300 -301 -302 -303 -304 -305 -306 -307 -308 -309 -310 -311 -312 -313 -314 -315 -316 -317 -318 -319 -320 -321 -322 -323 -324 -325 -326 -327 -328 -329 -330 -331 -332 -333 -334 -335 -336 -337 -338 -339 -340 -341 -342 -343 -344 -345 -346 -347 -348 -349 -350 -351 -352 -353 -354 -355 -356 -357 -358 -359 -360 -361 -362 -363 -364 -365 -366 -367 -368 -369 -370 -371 -372 -373 -374 -375 -376 -377- |
-
- # File 'manifests/init.pp', line 124
-
-class cassandra (
- $cassandra_2356_sleep_seconds = 5,
- $cassandra_9822 = false,
- $cassandra_yaml_tmpl = 'cassandra/cassandra.yaml.erb',
- $commitlog_directory = undef,
- $commitlog_directory_mode = '0750',
- $config_file_mode = '0644',
- $config_path = $::cassandra::params::config_path,
- $data_file_directories = undef,
- $data_file_directories_mode = '0750',
- $dc = 'DC1',
- $dc_suffix = undef,
- $fail_on_non_supported_os = true,
- $hints_directory = undef,
- $hints_directory_mode = '0750',
- $package_ensure = 'present',
- $package_name = $::cassandra::params::cassandra_pkg,
- $prefer_local = undef,
- $rack = 'RAC1',
- $rackdc_tmpl = 'cassandra/cassandra-rackdc.properties.erb',
- $saved_caches_directory = undef,
- $saved_caches_directory_mode = '0750',
- $service_enable = true,
- $service_ensure = undef,
- $service_name = 'cassandra',
- $service_provider = undef,
- $service_refresh = true,
- $settings = {},
- $snitch_properties_file = 'cassandra-rackdc.properties',
- $systemctl = $::cassandra::params::systemctl,
- ) inherits cassandra::params {
- if $service_provider != undef {
- Service {
- provider => $service_provider,
- }
- }
-
- $config_file = "${config_path}/cassandra.yaml"
- $dc_rack_properties_file = "${config_path}/${snitch_properties_file}"
-
- case $::osfamily {
- 'RedHat': {
- $config_file_require = Package['cassandra']
- $config_file_before = []
- $config_path_require = Package['cassandra']
- $dc_rack_properties_file_require = Package['cassandra']
- $dc_rack_properties_file_before = []
- $data_dir_require = Package['cassandra']
- $data_dir_before = []
-
- if $::operatingsystemmajrelease == 7 and $::cassandra::service_provider == 'init' {
- exec { "/sbin/chkconfig --add ${service_name}":
- unless => "/sbin/chkconfig --list ${service_name}",
- require => Package['cassandra'],
- before => Service['cassandra'],
- }
- }
- }
- 'Debian': {
- $config_file_require = [ User['cassandra'], File[$config_path] ]
- $config_file_before = Package['cassandra']
- $config_path_require = []
- $dc_rack_properties_file_require = [ User['cassandra'], File[$config_path] ]
- $dc_rack_properties_file_before = Package['cassandra']
- $data_dir_require = File[$config_file]
- $data_dir_before = Package['cassandra']
-
- if $cassandra_9822 {
- file { '/etc/init.d/cassandra':
- source => 'puppet:///modules/cassandra/CASSANDRA-9822/cassandra',
- mode => '0555',
- before => Package['cassandra'],
- }
- }
- # Sleep after package install and before service resource to prevent
- # possible duplicate processes arising from CASSANDRA-2356.
- exec { 'CASSANDRA-2356 sleep':
- command => "/bin/sleep ${cassandra_2356_sleep_seconds}",
- refreshonly => true,
- user => 'root',
- subscribe => Package['cassandra'],
- before => Service['cassandra'],
- }
-
- group { 'cassandra':
- ensure => present,
- }
-
- $user = 'cassandra'
-
- user { $user:
- ensure => present,
- comment => 'Cassandra database,,,',
- gid => 'cassandra',
- home => '/var/lib/cassandra',
- shell => '/bin/false',
- managehome => true,
- require => Group['cassandra'],
- }
- # End of CASSANDRA-2356 specific resources.
- }
- default: {
- $config_file_before = []
- $config_file_require = [ User['cassandra'], File[$config_path] ]
- $config_path_require = []
- $dc_rack_properties_file_require = Package['cassandra']
- $dc_rack_properties_file_before = []
-
- if $fail_on_non_supported_os {
- fail("OS family ${::osfamily} not supported")
- } else {
- warning("OS family ${::osfamily} not supported")
- }
- }
- }
-
- package { 'cassandra':
- ensure => $package_ensure,
- name => $package_name,
- notify => Exec['cassandra_reload_systemctl'],
- }
-
- exec { 'cassandra_reload_systemctl':
- command => "${systemctl} daemon-reload",
- onlyif => "test -x ${systemctl}",
- path => ['/usr/bin', '/bin'],
- refreshonly => true,
- }
-
- file { $config_path:
- ensure => directory,
- group => 'cassandra',
- owner => 'cassandra',
- mode => '0755',
- require => $config_path_require,
- }
-
- if $commitlog_directory {
- file { $commitlog_directory:
- ensure => directory,
- owner => 'cassandra',
- group => 'cassandra',
- mode => $commitlog_directory_mode,
- require => $data_dir_require,
- before => $data_dir_before,
- }
-
- $commitlog_directory_settings = merge($settings,
- { 'commitlog_directory' => $commitlog_directory, })
- } else {
- $commitlog_directory_settings = $settings
- }
-
- if is_array($data_file_directories) {
- file { $data_file_directories:
- ensure => directory,
- owner => 'cassandra',
- group => 'cassandra',
- mode => $data_file_directories_mode,
- require => $data_dir_require,
- before => $data_dir_before,
- }
-
- $data_file_directories_settings = merge($settings, {
- 'data_file_directories' => $data_file_directories,
- })
- } else {
- $data_file_directories_settings = $settings
- }
-
- if $hints_directory {
- file { $hints_directory:
- ensure => directory,
- owner => 'cassandra',
- group => 'cassandra',
- mode => $hints_directory_mode,
- require => $data_dir_require,
- before => $data_dir_before,
- }
-
- $hints_directory_settings = merge($settings,
- { 'hints_directory' => $hints_directory, })
- } else {
- $hints_directory_settings = $settings
- }
-
- if $saved_caches_directory {
- file { $saved_caches_directory:
- ensure => directory,
- owner => 'cassandra',
- group => 'cassandra',
- mode => $saved_caches_directory_mode,
- require => $data_dir_require,
- before => $data_dir_before,
- }
-
- $saved_caches_directory_settings = merge($settings,
- { 'saved_caches_directory' => $saved_caches_directory, })
- } else {
- $saved_caches_directory_settings = $settings
- }
-
- $merged_settings = merge($settings,
- $commitlog_directory_settings,
- $data_file_directories_settings,
- $hints_directory_settings,
- $saved_caches_directory_settings)
-
- file { $config_file:
- ensure => present,
- owner => 'cassandra',
- group => 'cassandra',
- content => template($cassandra_yaml_tmpl),
- mode => $config_file_mode,
- require => $config_file_require,
- before => $config_file_before,
- }
-
- file { $dc_rack_properties_file:
- ensure => file,
- content => template($rackdc_tmpl),
- owner => 'cassandra',
- group => 'cassandra',
- mode => '0644',
- require => $dc_rack_properties_file_require,
- before => $dc_rack_properties_file_before,
- }
-
- if $package_ensure != 'absent' and $package_ensure != 'purged' {
- if $service_refresh {
- service { 'cassandra':
- ensure => $service_ensure,
- name => $service_name,
- enable => $service_enable,
- subscribe => [
- File[$config_file],
- File[$dc_rack_properties_file],
- Package['cassandra'],
- ],
- }
- } else {
- service { 'cassandra':
- ensure => $service_ensure,
- name => $service_name,
- enable => $service_enable,
- require => [
- File[$config_file],
- File[$dc_rack_properties_file],
- Package['cassandra'],
- ],
- }
- }
- }
-}
- |
-
A class for installing the DataStax Agent and to point it at an OpsCenter -instance.
- -
- - - -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120- |
-
- # File 'manifests/datastax_agent.pp', line 48
-
-class cassandra::datastax_agent (
- $address_config_file = '/var/lib/datastax-agent/conf/address.yaml',
- $defaults_file = '/etc/default/datastax-agent',
- $java_home = undef,
- $package_ensure = 'present',
- $package_name = 'datastax-agent',
- $service_ensure = 'running',
- $service_enable = true,
- $service_name = 'datastax-agent',
- $service_provider = undef,
- $settings = {},
- ) inherits cassandra::params {
- if $service_provider != undef {
- System {
- provider => $service_provider,
- }
- }
-
- package { $package_name:
- ensure => $package_ensure,
- require => Class['cassandra'],
- notify => Exec['datastax_agent_reload_systemctl'],
- }
-
- exec { 'datastax_agent_reload_systemctl':
- command => "${::cassandra::params::systemctl} daemon-reload",
- onlyif => "test -x ${::cassandra::params::systemctl}",
- path => ['/usr/bin', '/bin'],
- refreshonly => true,
- notify => Service['datastax-agent'],
- }
-
- file { $address_config_file:
- owner => 'cassandra',
- group => 'cassandra',
- mode => '0644',
- require => Package[$package_name],
- }
-
- if $java_home != undef {
- ini_setting { 'java_home':
- ensure => present,
- path => $defaults_file,
- section => '',
- key_val_separator => '=',
- setting => 'JAVA_HOME',
- value => $java_home,
- notify => Service['datastax-agent'],
- }
- }
-
- service { 'datastax-agent':
- ensure => $service_ensure,
- enable => $service_enable,
- name => $service_name,
- }
-
- if $settings {
- $defaults = {
- path => $address_config_file,
- key_val_separator => ': ',
- require => Package[$package_name],
- notify => Service['datastax-agent'],
- }
-
- $full_settings = {
- '' => $settings,
- }
-
- validate_hash($full_settings)
- create_ini_settings($full_settings, $defaults)
- }
-}
- |
-
An optional class that will allow a suitable repository to be configured -from which packages for DataStax Community can be downloaded. Changing the -defaults will allow any Debian Apt or Red Hat Yum repository to be -configured.
- -
- - - -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 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82- |
-
- # File 'manifests/datastax_repo.pp', line 22
-
-class cassandra::datastax_repo (
- $descr = 'DataStax Repo for Apache Cassandra',
- $key_id = '7E41C00F85BFC1706C4FFFB3350200F2B999A372',
- $key_url = 'http://debian.datastax.com/debian/repo_key',
- $pkg_url = undef,
- $release = 'stable',
- ) {
- case $::osfamily {
- 'RedHat': {
- if $pkg_url != undef {
- $baseurl = $pkg_url
- } else {
- $baseurl = 'http://rpm.datastax.com/community'
- }
-
- yumrepo { 'datastax':
- ensure => present,
- descr => $descr,
- baseurl => $baseurl,
- enabled => 1,
- gpgcheck => 0,
- }
- }
- 'Debian': {
- include apt
- include apt::update
-
- apt::key {'datastaxkey':
- id => $key_id,
- source => $key_url,
- before => Apt::Source['datastax'],
- }
-
- if $pkg_url != undef {
- $location = $pkg_url
- } else {
- $location = 'http://debian.datastax.com/community'
- }
-
- apt::source {'datastax':
- location => $location,
- comment => $descr,
- release => $release,
- include => {
- 'src' => false,
- },
- notify => Exec['update-cassandra-repos'],
- }
-
- # Required to wrap apt_update
- exec {'update-cassandra-repos':
- refreshonly => true,
- command => '/bin/true',
- require => Exec['apt_update'],
- }
- }
- default: {
- warning("OS family ${::osfamily} not supported")
- }
- }
-}
- |
-
An optional class to configure incoming network ports on the host that are -relevant to the Cassandra installation. If firewalls are being managed -already, simply do not include this module in your manifest.
- -IMPORTANT: The full list of which ports should be configured is assessed at -evaluation time of the configuration. Therefore if one is to use this -class, it must be the final cassandra class included in the manifest.
- -
- - - -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 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76- |
-
- # File 'manifests/firewall_ports.pp', line 31
-
-class cassandra::firewall_ports (
- $client_ports = [9042, 9160],
- $client_subnets = ['0.0.0.0/0'],
- $inter_node_ports = [7000, 7001, 7199],
- $inter_node_subnets = ['0.0.0.0/0'],
- $public_ports = [8888],
- $public_subnets = ['0.0.0.0/0'],
- $ssh_port = 22,
- $opscenter_ports = [9042, 9160, 61620, 61621],
- $opscenter_subnets = ['0.0.0.0/0'],
- ) {
- # Public connections on any node.
- $public_subnets_array = prefix($public_subnets, '200_Public_')
-
- cassandra::private::firewall_ports::rule { $public_subnets_array:
- ports => concat($public_ports, [$ssh_port]),
- }
-
- # If this is a Cassandra node.
- if defined ( Class['::cassandra'] ) {
- # Inter-node connections for Cassandra
- $inter_node_subnets_array = prefix($inter_node_subnets,
- '210_InterNode_')
-
- cassandra::private::firewall_ports::rule { $inter_node_subnets_array:
- ports => $inter_node_ports,
- }
-
- # Client connections for Cassandra
- $client_subnets_array = prefix($client_subnets, '220_Client_')
-
- cassandra::private::firewall_ports::rule {$client_subnets_array:
- ports => $client_ports,
- }
- }
-
- # Connections for DataStax Agent
- if defined ( Class['::cassandra::datastax_agent'] ) or defined ( Class['::cassandra::opscenter'] ) {
- $opscenter_subnets_opc_agent = prefix($opscenter_subnets,
- '230_OpsCenter_')
-
- cassandra::private::firewall_ports::rule { $opscenter_subnets_opc_agent:
- ports => $opscenter_ports,
- }
- }
-}
- |
-
A class to install Java and JNA packages.
- -
- - - -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/java.pp', line 17
-
-class cassandra::java (
- $aptkey = undef,
- $aptsource = undef,
- $jna_ensure = present,
- $jna_package_name = $::cassandra::params::jna_package_name,
- $package_ensure = present,
- $package_name = $::cassandra::params::java_package,
- $yumrepo = undef,
- ) inherits cassandra::params {
- if $::osfamily == 'RedHat' and $yumrepo != undef {
- $yumrepo_defaults = {
- 'before' => Package[$package_name],
- }
-
- create_resources(yumrepo, $yumrepo, $yumrepo_defaults)
- }
-
- if $::osfamily == 'Debian' {
- if $aptkey != undef {
- $aptkey_defaults = {
- 'before' => Package[$package_name],
- }
-
- create_resources(apt::key, $aptkey, $aptkey_defaults)
- }
-
- if $aptsource != undef {
- exec { 'cassandra::java::apt_update':
- refreshonly => true,
- command => '/bin/true',
- require => Exec['apt_update'],
- before => Package[$package_name],
- }
-
- $aptsource_defaults = {
- 'notify' => Exec['cassandra::java::apt_update'],
- }
-
- create_resources(apt::source, $aptsource, $aptsource_defaults)
- }
- }
-
- package { $package_name:
- ensure => $package_ensure,
- }
-
- package { $jna_package_name:
- ensure => $jna_ensure,
- }
-}
- |
-
A class to install the optional Cassandra tools package.
- -
- - - -6 -7 -8 -9 -10 -11 -12 -13 -14- |
-
- # File 'manifests/optutils.pp', line 6
-
-class cassandra::optutils (
- $package_ensure = 'present',
- $package_name = $::cassandra::params::optutils_package_name,
- ) inherits cassandra::params {
- package { $package_name:
- ensure => $package_ensure,
- require => Class['cassandra'],
- }
-}
- |
-
This class is meant to be called from cassandra. It sets variables -according to platform
- -$::cassandra::params::cassandra_pkg
defaults to
-'cassandra' on Debian and 'cassandra22' on Red Hat.
$::cassandra::params::config_path
defaults to
-'/etc/cassandra' on Debian and
-'/etc/cassandra/default.conf' on Red Hat.
$::cassandra::params::java_package
defaults to
-'openjdk-7-jre-headless' on Debian and
-'java-1.8.0-openjdk-headless' on Red Hat.
$::cassandra::params::jna_package_name
defaults to
-'libjna-java' on Debian and 'jna' on Red Hat.
$::cassandra::params::optutils_package_name
defaults to
-'cassandra-tools' on Debian and 'cassandra22-tools' on Red
-Hat.
$::cassandra::params::systemctl
defaults to
-'/bin/systemctl' on Debian and '/usr/bin/systemctl' on Red
-Hat.
- - - -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40- |
-
- # File 'manifests/params.pp', line 18
-
-class cassandra::params {
- case $::osfamily {
- 'Debian': {
- $cassandra_pkg = 'cassandra'
- $config_path = '/etc/cassandra'
- $java_package = 'openjdk-7-jre-headless'
- $jna_package_name = 'libjna-java'
- $optutils_package_name = 'cassandra-tools'
- $systemctl = '/bin/systemctl'
- }
- 'RedHat': {
- $cassandra_pkg = 'cassandra22'
- $config_path = '/etc/cassandra/default.conf'
- $java_package = 'java-1.8.0-openjdk-headless'
- $jna_package_name = 'jna'
- $optutils_package_name = 'cassandra22-tools'
- $systemctl = '/usr/bin/systemctl'
- }
- default: {
- $config_path_parents = []
- }
- }
-}
- |
-
A class to maintain the database schema. Please note that cqlsh expects -Python 2.7 to be installed. This may be a problem of older distributions -(CentOS 6 for example).
- -
- - - -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 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117- |
-
- # File 'manifests/schema.pp', line 33
-
-class cassandra::schema (
- $connection_tries = 6,
- $connection_try_sleep = 30,
- $cql_types = {},
- $cqlsh_additional_options = '',
- $cqlsh_client_config = undef,
- $cqlsh_client_tmpl = 'cassandra/cqlshrc.erb',
- $cqlsh_command = '/usr/bin/cqlsh',
- $cqlsh_host = 'localhost',
- $cqlsh_password = undef,
- $cqlsh_port = 9042,
- $cqlsh_user = 'cassandra',
- $indexes = {},
- $keyspaces = {},
- $tables = {},
- $users = {},
- ) inherits cassandra::params {
- require '::cassandra'
-
- if $cqlsh_client_config != undef {
- file { $cqlsh_client_config :
- ensure => file,
- group => $::gid,
- mode => '0600',
- owner => $::id,
- content => template( $cqlsh_client_tmpl ),
- before => Exec['::cassandra::schema connection test'],
- }
-
- $cmdline_login = "--cqlshrc=${cqlsh_client_config}"
- } else {
- if $cqlsh_password != undef {
- warning('You may want to consider using the cqlsh_client_config attribute')
- $cmdline_login = "-u ${cqlsh_user} -p ${cqlsh_password}"
- } else {
- $cmdline_login = ''
- }
- }
-
- $cqlsh_opts = "${cqlsh_command} ${cmdline_login} ${cqlsh_additional_options}"
- $cqlsh_conn = "${cqlsh_host} ${cqlsh_port}"
-
- # See if we can make a connection to Cassandra. Try $connection_tries
- # number of times with $connection_try_sleep in seconds between each try.
- $connection_test = "${cqlsh_opts} -e 'DESC KEYSPACES' ${cqlsh_conn}"
- exec { '::cassandra::schema connection test':
- command => $connection_test,
- returns => 0,
- tries => $connection_tries,
- try_sleep => $connection_try_sleep,
- unless => $connection_test,
- }
-
- # manage keyspaces if present
- if $keyspaces {
- create_resources('cassandra::schema::keyspace', $keyspaces)
- }
-
- # manage cql_types if present
- if $keyspaces {
- create_resources('cassandra::schema::cql_type', $cql_types)
- }
-
- # manage tables if present
- if $tables {
- create_resources('cassandra::schema::table', $tables)
- }
-
- # manage indexes if present
- if $indexes {
- create_resources('cassandra::schema::index', $indexes)
- }
-
- # manage users if present
- if $users {
- create_resources('cassandra::schema::user', $users)
- }
-
- # Resource Ordering
- Cassandra::Schema::Keyspace <| |> -> Cassandra::Schema::Cql_type <| |>
- Cassandra::Schema::Keyspace <| |> -> Cassandra::Schema::Table <| |>
- Cassandra::Schema::Cql_type <| |> -> Cassandra::Schema::Table <| |>
- Cassandra::Schema::Table <| |> -> Cassandra::Schema::Index <| |>
- Cassandra::Schema::Index <| |> -> Cassandra::Schema::User <| |>
-}
- |
-
A defined type for altering files relative to the configuration directory.
- -
- - - -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85- |
-
- # File 'manifests/file.pp', line 57
-
-define cassandra::file(
- $file = $title,
- $config_path = $::cassandra::config_path,
- $file_lines = undef,
- $service_refresh = true,
- ) {
- include cassandra
- include cassandra::params
- include stdlib
-
- $path = "${config_path}/${file}"
-
- if $file_lines != undef {
- if $service_refresh {
- $default_file_line = {
- path => $path,
- require => Package['cassandra'],
- notify => Service['cassandra'],
- }
- } else {
- $default_file_line = {
- path => $path,
- require => Package['cassandra'],
- }
- }
-
- create_resources(file_line, $file_lines, $default_file_line)
- }
-}
- |
-
A defined type to handle deprecation messages to the user. This is not -intended to be used by a user but is documented here for completeness.
- -
- - - -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15- |
-
- # File 'manifests/private/deprecation_warning.pp', line 5 - -define cassandra::private::deprecation_warning($item_number,) { - $item_name = $title - $warning_message_1 = sprintf('%s has been deprecated and will be removed', - $item_name) - $warning_message_2 = 'in a future release.' - $warning_message = "${warning_message_1} ${warning_message_2}" - warning($warning_message) - $dep_url = sprintf('https://github.com/locp/cassandra/wiki/DEP-%03d', - $item_number) - warning(sprintf('See %s for details.', $dep_url)) -}- |
-
A defined type to be used as a macro for setting host based firewall rules. -This is not intended to be used by a user (who should use the API provided -by cassandra::firewall_ports instead) but is documented here for -completeness.
- -
- - - -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22- |
-
- # File 'manifests/private/firewall_ports/rule.pp', line 6
-
-define cassandra::private::firewall_ports::rule(
- $ports,
- ) {
- $array_var1 = split($title, '_')
- $rule_number = $array_var1[0]
- $rule_description = $array_var1[1]
- $source = $array_var1[2]
-
- if size($ports) > 0 {
- firewall { "${rule_number} - Cassandra (${rule_description}) - ${source}":
- action => 'accept',
- dport => $ports,
- proto => 'tcp',
- source => $source,
- }
- }
-}
- |
-
Create or drop user defined data types within the schema.
- -
- - - -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- |
-
- # File 'manifests/schema/cql_type.pp', line 14
-
-define cassandra::schema::cql_type (
- $keyspace,
- $ensure = present,
- $fields = {},
- $cql_type_name = $title,
- ){
- include 'cassandra::schema'
- $read_script = "DESC TYPE ${keyspace}.${cql_type_name}"
- $read_command = "${::cassandra::schema::cqlsh_opts} -e \"${read_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- if $ensure == present {
- $create_script1 = "CREATE TYPE IF NOT EXISTS ${keyspace}.${cql_type_name}"
- $create_script2 = join(join_keys_to_values($fields, ' '), ', ')
- $create_script = "${create_script1} (${create_script2})"
- $create_command = "${::cassandra::schema::cqlsh_opts} -e \"${create_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $create_command:
- unless => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } elsif $ensure == absent {
- $delete_script = "DROP type ${keyspace}.${cql_type_name}"
- $delete_command = "${::cassandra::schema::cqlsh_opts} -e \"${delete_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $delete_command:
- onlyif => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } else {
- fail("Unknown action (${ensure}) for ensure attribute.")
- }
-}
- |
-
Create or drop indexes within the schema.
- -
- - - -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/schema/index.pp', line 12
-
-define cassandra::schema::index(
- $keyspace,
- $table,
- $ensure = present,
- $class_name = undef,
- $index = $title,
- $keys = undef,
- $options = undef,
- ) {
- include 'cassandra::schema'
-
- # Fully qualified index name.
- $fqin = "${keyspace}.${index}"
- # Fully qualified table name.
- $fqtn = "${keyspace}.${table}"
-
- $read_script = "DESC INDEX ${fqin}"
- $read_command = "${::cassandra::schema::cqlsh_opts} -e \"${read_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- if $ensure == present {
- if $class_name != undef {
- $create_part1 = "CREATE CUSTOM INDEX IF NOT EXISTS ${index} ON ${keyspace}.${table}"
- } else {
- $create_part1 = "CREATE INDEX IF NOT EXISTS ${index} ON ${keyspace}.${table}"
- }
-
- if $class_name != undef {
- $create_part2 = "${create_part1} (${keys}) USING '${class_name}'"
- } else {
- $create_part2 = "${create_part1} (${keys})"
- }
-
- if $options != undef {
- $create_script = "${create_part2} WITH OPTIONS = ${options}"
- } else {
- $create_script = $create_part2
- }
-
- $create_command = "${::cassandra::schema::cqlsh_opts} -e \"${create_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- exec { $create_command:
- unless => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } elsif $ensure == absent {
- $delete_script = "DROP INDEX ${fqin}"
- $delete_command = "${::cassandra::schema::cqlsh_opts} -e \"${delete_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $delete_command:
- onlyif => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } else {
- fail("Unknown action (${ensure}) for ensure attribute.")
- }
-}
- |
-
Create or drop keyspaces within the schema.
- -
- - - -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 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76- |
-
- # File 'manifests/schema/keyspace.pp', line 24
-
-define cassandra::schema::keyspace(
- $ensure = present,
- $durable_writes = true,
- $keyspace_name = $title,
- $replication_map = {},
- ) {
- include 'cassandra::schema'
-
- $read_script = "DESC KEYSPACE ${keyspace_name}"
- $read_command = "${::cassandra::schema::cqlsh_opts} -e \"${read_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- if $ensure == present {
- $keyspace_class = $replication_map[keyspace_class]
-
- case $keyspace_class {
- 'SimpleStrategy': {
- $replication_factor = $replication_map[replication_factor]
- $map_str = "{ 'class' : 'SimpleStrategy', 'replication_factor' : ${replication_factor} }"
- }
- 'NetworkTopologyStrategy': {
- $map_str1 = "{ 'class' : 'NetworkTopologyStrategy'"
- $new_map = prefix(delete($replication_map, 'keyspace_class'), "'")
- $map_str2 = join(join_keys_to_values($new_map, "': "), ', ')
- $map_str = "${map_str1}, ${map_str2} }"
- }
- default: {
- $msg_part1 = "Invalid or no class (${keyspace_class}) specified for"
- $msg_part2 = "keyspace ${keyspace_name}."
- fail("${msg_part1} ${msg_part2}")
- }
- }
-
- $create_script1 = "CREATE KEYSPACE IF NOT EXISTS ${keyspace_name}"
- $create_script2 = "WITH REPLICATION = ${map_str}"
- $create_script3 = "AND DURABLE_WRITES = ${durable_writes}"
- $create_script = "${create_script1} ${create_script2} ${create_script3}"
- $create_command = "${::cassandra::schema::cqlsh_opts} -e \"${create_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- exec { $create_command:
- unless => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } elsif $ensure == absent {
- $delete_script = "DROP KEYSPACE ${keyspace_name}"
- $delete_command = "${::cassandra::schema::cqlsh_opts} -e \"${delete_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $delete_command:
- onlyif => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } else {
- fail("Unknown action (${ensure}) for ensure attribute.")
- }
-}
- |
-
Create or drop tables within the schema.
- -
- - - -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- |
-
- # File 'manifests/schema/table.pp', line 19
-
-define cassandra::schema::table (
- $keyspace,
- $ensure = present,
- $columns = {},
- $options = [],
- $table = $title,
- ){
- include 'cassandra::schema'
- $read_script = "DESC TABLE ${keyspace}.${table}"
- $read_command = "${::cassandra::schema::cqlsh_opts} -e \"${read_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- if $ensure == present {
- $create_script1 = "CREATE TABLE IF NOT EXISTS ${keyspace}.${table}"
- $cols_def = join(join_keys_to_values($columns, ' '), ', ')
- $cols_def_rm_collection_type = delete($cols_def, 'COLLECTION-TYPE ')
-
- if count($options) > 0 {
- $options_def = join($options, ' AND ')
- $create_script = "${create_script1} (${cols_def_rm_collection_type}) WITH ${options_def}"
- } else {
- $create_script = "${create_script1} (${cols_def_rm_collection_type})"
- }
-
- $create_command = "${::cassandra::schema::cqlsh_opts} -e \"${create_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $create_command:
- unless => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } elsif $ensure == absent {
- $delete_script = "DROP TABLE IF EXISTS ${keyspace}.${table}"
- $delete_command = "${::cassandra::schema::cqlsh_opts} -e \"${delete_script}\" ${::cassandra::schema::cqlsh_conn}"
- exec { $delete_command:
- onlyif => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } else {
- fail("Unknown action (${ensure}) for ensure attribute.")
- }
-}
- |
-
Create or drop users. To use this class, a suitable
-authenticator
(e.g. PasswordAuthenticator) must be set in the
-Cassandra class.
- - - -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- |
-
- # File 'manifests/schema/user.pp', line 18
-
-define cassandra::schema::user (
- $ensure = present,
- $password = undef,
- $superuser = false,
- $user_name = $title,
- ){
- include 'cassandra::schema'
- $read_script = 'LIST USERS'
- $read_command = "${::cassandra::schema::cqlsh_opts} -e \"${read_script}\" ${::cassandra::schema::cqlsh_conn} | grep '\s*${user_name} |'"
-
- if $ensure == present {
- $create_script1 = "CREATE USER IF NOT EXISTS ${user_name}"
-
- if $password != undef {
- $create_script2 = "${create_script1} WITH PASSWORD '${password}'"
- } else {
- $create_script2 = $create_script1
- }
-
- if $superuser {
- $create_script = "${create_script2} SUPERUSER"
- } else {
- $create_script = "${create_script2} NOSUPERUSER"
- }
-
- $create_command = "${::cassandra::schema::cqlsh_opts} -e \"${create_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- exec { "Create user (${user_name})":
- command => $create_command,
- unless => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } elsif $ensure == absent {
- $delete_script = "DROP USER ${user_name}"
- $delete_command = "${::cassandra::schema::cqlsh_opts} -e \"${delete_script}\" ${::cassandra::schema::cqlsh_conn}"
-
- exec { "Delete user (${user_name})":
- command => $delete_command,
- onlyif => $read_command,
- require => Exec['::cassandra::schema connection test'],
- }
- } else {
- fail("Unknown action (${ensure}) for ensure attribute.")
- }
-}
- |
-
Extract the major version from the cassandrarelease fact.
-Extract the minor version from the cassandrarelease fact.
-Extract the patch version from the cassandrarelease fact.
-Extract the release string from the running Cassandra instance.
-Extract the major version from the cassandrarelease fact.
- - -
- - - -21 -22 -23 -24 -25 -26- |
-
- # File 'lib/facter/cassandra.rb', line 21 - -Facter.add('cassandramajorversion') do - setcode do - release = Facter.value(:cassandrarelease) - release.split('.')[0].to_i if release - end -end- |
-
Extract the minor version from the cassandrarelease fact.
- - -
- - - -33 -34 -35 -36 -37 -38- |
-
- # File 'lib/facter/cassandra.rb', line 33 - -Facter.add('cassandraminorversion') do - setcode do - release = Facter.value(:cassandrarelease) - release.split('.')[1].to_i if release - end -end- |
-
Extract the patch version from the cassandrarelease fact.
- - -
- - - -45 -46 -47 -48 -49 -50- |
-
- # File 'lib/facter/cassandra.rb', line 45 - -Facter.add('cassandrapatchversion') do - setcode do - release = Facter.value(:cassandrarelease) - release.split('.')[2].to_i if release - end -end- |
-
Extract the release string from the running Cassandra instance.
- -undefined.
- - -
- - - -9 -10 -11 -12 -13 -14- |
-
- # File 'lib/facter/cassandra.rb', line 9 - -Facter.add('cassandrarelease') do - setcode do - version = Facter::Util::Resolution.exec('nodetool version') - version.match(/\d+\.\d+\.\d+/).to_s if version && version != '' - end -end- |
-