Skip to content

Commit

Permalink
Fix puppet stdlib 4.24.0 deprecation (DataDog#403)
Browse files Browse the repository at this point in the history
* Refactore validate string

* Refactor validate array

* Refactor validate bool

* Fix bad data types for Boolean values

* Refactor validate integer

* Refactor validate re

* Refactor validate_array

* Fix validate_re type lookup

* Refactor hiera_* functions to lookup

* Refactor is_array functions

* Fix missing variable

* Attempt to fix the datadtype in tag6

* Refactor the tag functino
  • Loading branch information
teintuc authored and truthbk committed Mar 2, 2018
1 parent 4e738c9 commit 9c10ae7
Show file tree
Hide file tree
Showing 4 changed files with 75 additions and 73 deletions.
10 changes: 6 additions & 4 deletions functions/tag6.pp
Expand Up @@ -6,18 +6,20 @@ function datadog_agent::tag6(
Variant[Array, String] $tag_names,
Variant[String, Boolean] $lookup_fact = false,
) {
if is_array($tag_names) {
if validate_legacy('Optional[Array]', 'is_array', $tag_names) {
$tags = $tag_names.reduce([]) |$_tags , $tag| {
concat($_tags, datadog_agent::tag6($tag, lookup_fact))
}
} elsif str2bool($lookup_fact) {
$value = getvar($tag_names)

if is_array($value){
$tags = prefix($value, "${tag_name}:")
if validate_legacy('Optional[Array]', 'is_array', $value){
$tags = prefix($value, "${tag_names}:")
} else {
$tags = [$tag_names]
}
} else {
$tags = [$tag_name]
$tags = [$tag_names]
}

$tags
Expand Down
134 changes: 67 additions & 67 deletions manifests/init.pp
Expand Up @@ -279,80 +279,80 @@
$_syslog_port = "${syslog_port}"
# lint:endignore

validate_string($dd_url)
validate_string($host)
validate_string($api_key)
validate_array($tags)
validate_bool($hiera_tags)
validate_array($dogstreams)
validate_array($facts_to_tags)
validate_bool($puppet_run_reports)
validate_string($puppetmaster_user)
validate_bool($non_local_traffic)
validate_bool($log_to_syslog)
validate_bool($manage_repo)
validate_string($log_level)
validate_re($_dogstatsd_port, '^\d*$')
validate_string($statsd_histogram_percentiles)
validate_re($_statsd_forward_port, '^\d*$')
validate_string($proxy_host)
validate_re($_proxy_port, '^\d*$')
validate_string($proxy_user)
validate_string($proxy_password)
validate_re($_graphite_listen_port, '^\d*$')
validate_string($extra_template)
validate_string($ganglia_host)
validate_integer($ganglia_port)
validate_bool($skip_ssl_validation)
validate_bool($skip_apt_key_trusting)
validate_bool($use_curl_http_client)
validate_bool($collect_ec2_tags)
validate_bool($collect_instance_metadata)
validate_string($recent_point_threshold)
validate_re($_listen_port, '^\d*$')
validate_string($additional_checksd)
validate_string($bind_host)
validate_bool($use_pup)
validate_re($_pup_port, '^\d*$')
validate_string($pup_interface)
validate_string($pup_url)
validate_bool($use_dogstatsd)
validate_string($dogstatsd_target)
validate_string($dogstatsd_interval)
validate_bool($dogstatsd_normalize)
validate_string($statsd_forward_host)
validate_string($device_blacklist_re)
validate_string($custom_emitters)
validate_string($agent6_log_file)
validate_string($collector_log_file)
validate_string($forwarder_log_file)
validate_string($dogstatsd_log_file)
validate_string($pup_log_file)
validate_string($syslog_host)
validate_re($_syslog_port, '^\d*$')
validate_string($service_discovery_backend)
validate_string($sd_config_backend)
validate_string($sd_backend_host)
validate_integer($sd_backend_port)
validate_string($sd_template_dir)
validate_bool($sd_jmx_enable)
validate_string($consul_token)
validate_bool($apm_enabled)
validate_bool($agent5_enable)
validate_string($apm_env)
validate_bool($process_enabled)
validate_string($agent5_repo_uri)
validate_string($agent6_repo_uri)
validate_string($apt_release)
validate_legacy(String, 'validate_string', $dd_url)
validate_legacy(String, 'validate_string', $host)
validate_legacy(String, 'validate_string', $api_key)
validate_legacy(Array, 'validate_array', $tags)
validate_legacy(Boolean, 'validate_bool', $hiera_tags)
validate_legacy(Array, 'validate_array', $dogstreams)
validate_legacy(Array, 'validate_array', $facts_to_tags)
validate_legacy(Boolean, 'validate_bool', $puppet_run_reports)
validate_legacy(String, 'validate_string', $puppetmaster_user)
validate_legacy(Boolean, 'validate_bool', $non_local_traffic)
validate_legacy(Boolean, 'validate_bool', $log_to_syslog)
validate_legacy(Boolean, 'validate_bool', $manage_repo)
validate_legacy(String, 'validate_string', $log_level)
validate_legacy(String, 'validate_re', $_dogstatsd_port, '^\d*$')
validate_legacy(String, 'validate_string', $statsd_histogram_percentiles)
validate_legacy(String, 'validate_re', $_statsd_forward_port, '^\d*$')
validate_legacy(String, 'validate_string', $proxy_host)
validate_legacy(String, 'validate_re', $_proxy_port, '^\d*$')
validate_legacy(String, 'validate_string', $proxy_user)
validate_legacy(String, 'validate_string', $proxy_password)
validate_legacy(String, 'validate_re', $_graphite_listen_port, '^\d*$')
validate_legacy(String, 'validate_string', $extra_template)
validate_legacy(String, 'validate_string', $ganglia_host)
validate_legacy(Integer, 'validate_integer', $ganglia_port)
validate_legacy(Boolean, 'validate_bool', $skip_ssl_validation)
validate_legacy(Boolean, 'validate_bool', $skip_apt_key_trusting)
validate_legacy(Boolean, 'validate_bool', $use_curl_http_client)
validate_legacy(Boolean, 'validate_bool', $collect_ec2_tags)
validate_legacy(Boolean, 'validate_bool', $collect_instance_metadata)
validate_legacy(String, 'validate_string', $recent_point_threshold)
validate_legacy(String, 'validate_re', $_listen_port, '^\d*$')
validate_legacy(String, 'validate_string', $additional_checksd)
validate_legacy(String, 'validate_string', $bind_host)
validate_legacy(Boolean, 'validate_bool', $use_pup)
validate_legacy(String, 'validate_re', $_pup_port, '^\d*$')
validate_legacy(String, 'validate_string', $pup_interface)
validate_legacy(String, 'validate_string', $pup_url)
validate_legacy(Boolean, 'validate_bool', $use_dogstatsd)
validate_legacy(String, 'validate_string', $dogstatsd_target)
validate_legacy(String, 'validate_string', $dogstatsd_interval)
validate_legacy(Boolean, 'validate_bool', $dogstatsd_normalize)
validate_legacy(String, 'validate_string', $statsd_forward_host)
validate_legacy(String, 'validate_string', $device_blacklist_re)
validate_legacy(String, 'validate_string', $custom_emitters)
validate_legacy(String, 'validate_string', $agent6_log_file)
validate_legacy(String, 'validate_string', $collector_log_file)
validate_legacy(String, 'validate_string', $forwarder_log_file)
validate_legacy(String, 'validate_string', $dogstatsd_log_file)
validate_legacy(String, 'validate_string', $pup_log_file)
validate_legacy(String, 'validate_string', $syslog_host)
validate_legacy(String, 'validate_re', $_syslog_port, '^\d*$')
validate_legacy(String, 'validate_string', $service_discovery_backend)
validate_legacy(String, 'validate_string', $sd_config_backend)
validate_legacy(String, 'validate_string', $sd_backend_host)
validate_legacy(Integer, 'validate_integer', $sd_backend_port)
validate_legacy(String, 'validate_string', $sd_template_dir)
validate_legacy(Boolean, 'validate_bool', $sd_jmx_enable)
validate_legacy(String, 'validate_string', $consul_token)
validate_legacy(Boolean, 'validate_bool', $apm_enabled)
validate_legacy(Boolean, 'validate_bool', $agent5_enable)
validate_legacy(String, 'validate_string', $apm_env)
validate_legacy(Boolean, 'validate_bool', $process_enabled)
validate_legacy(String, 'validate_string', $agent5_repo_uri)
validate_legacy(String, 'validate_string', $agent6_repo_uri)
validate_legacy(String, 'validate_string', $apt_release)

if $hiera_tags {
$local_tags = hiera_array('datadog_agent::tags', [])
$local_tags = lookup({ 'name' => 'datadog_agent::tags', 'default_value' => []})
} else {
$local_tags = $tags
}

if $hiera_integrations {
$local_integrations = hiera_hash('datadog_agent::integrations', {})
$local_integrations = lookup({ 'name' => 'datadog_agent::integrations', 'default_value' => {}})
} else {
$local_integrations = $integrations
}
Expand Down
2 changes: 1 addition & 1 deletion manifests/integrations/process.pp
Expand Up @@ -50,7 +50,7 @@
validate_array( $processes )

if $hiera_processes {
$local_processes = hiera_array('datadog_agent::integrations::process::processes')
$local_processes = lookup({ 'name' => 'datadog_agent::integrations::process::processes', 'default_value' => []})
} else {
$local_processes = $processes
}
Expand Down
2 changes: 1 addition & 1 deletion manifests/ubuntu/agent6.pp
Expand Up @@ -16,7 +16,7 @@
) inherits datadog_agent::params {

ensure_packages(['apt-transport-https'])
validate_array($other_keys)
validate_legacy(Array, 'validate_array', $other_keys)

if !$skip_apt_key_trusting {
$mykeys = concat($other_keys, [$apt_key])
Expand Down

0 comments on commit 9c10ae7

Please sign in to comment.