Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions manifests/redhat.pp
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
if $manage_repo {

$keys = [
'https://yum.datadoghq.com/DATADOG_RPM_KEY.public',
'https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
'https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY.public',
]

case $agent_major_version {
Expand All @@ -30,7 +31,7 @@
}
7 : {
$defaulturl = "https://yum.datadoghq.com/stable/7/${::architecture}/"
$gpgkeys = $keys[1,2]
$gpgkeys = $keys[0,-2]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not something this PR introduced (so we can fix that separately), but specifying indices directly is a bit ugly. Would be a bit cleaner to have different arrays like $keys_a5, $keys_a6, etc.

}
default: { fail('invalid agent_major_version') }
}
Expand Down
13 changes: 8 additions & 5 deletions manifests/suse.pp
Original file line number Diff line number Diff line change
Expand Up @@ -11,16 +11,18 @@
String $agent_flavor = $datadog_agent::params::package_name,
) inherits datadog_agent::params {

$current_key = 'https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public'
$all_keys = [
'https://yum.datadoghq.com/DATADOG_RPM_KEY.public',
'https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
'https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public',
$current_key,
'https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public',
'https://keys.datadoghq.com/DATADOG_RPM_KEY.public',
]

case $agent_major_version {
5 : { fail('Agent v5 package not available in SUSE') }
6 : { $gpgkeys = $all_keys }
7 : { $gpgkeys = $all_keys[1,2] }
7 : { $gpgkeys = $all_keys[0,-2] }
default: { fail('invalid agent_major_version') }
}

Expand Down Expand Up @@ -59,7 +61,8 @@
autorefresh => 1,
name => 'datadog',
gpgcheck => 1,
gpgkey => join($gpgkeys, " "),
# zypper on SUSE < 15 only understands a single gpgkey value
gpgkey => (Float($::operatingsystemmajrelease) >= 15.0) ? { true => join($gpgkeys, "\n "), default => $current_key },
keeppackages => 1,
}

Expand Down
19 changes: 11 additions & 8 deletions spec/classes/datadog_agent_redhat_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@
is_expected.to contain_yumrepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public
https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
.with_baseurl('https://yum.datadoghq.com/rpm/x86_64/')
end
end
Expand Down Expand Up @@ -74,9 +75,10 @@
is_expected.to contain_yumrepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public
https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
.with_baseurl('https://yum.datadoghq.com/stable/6/x86_64/')
end
end
Expand Down Expand Up @@ -122,8 +124,9 @@
is_expected.to contain_yumrepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public')\
.with_baseurl('https://yum.datadoghq.com/stable/7/x86_64/')
end
end
Expand Down
89 changes: 71 additions & 18 deletions spec/classes/datadog_agent_suse_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,88 @@
}
end

context 'agent 6' do
let(:params) do
context 'suse >= 15' do
let(:facts) do
{
agent_major_version: 6,
operatingsystemmajrelease: '15',
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY.public https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
context 'agent 6' do
let(:params) do
{
agent_major_version: 6,
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public
https://keys.datadoghq.com/DATADOG_RPM_KEY.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
end
end

context 'agent 7' do
let(:params) do
{
agent_major_version: 7,
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public
https://keys.datadoghq.com/DATADOG_RPM_KEY_FD4BF915.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
end
end
end

context 'agent 7' do
let(:params) do
context 'suse < 15' do
let(:facts) do
{
agent_major_version: 7,
operatingsystemmajrelease: '14',
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://yum.datadoghq.com/DATADOG_RPM_KEY_E09422B3.public https://yum.datadoghq.com/DATADOG_RPM_KEY_20200908.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
context 'agent 6' do
let(:params) do
{
agent_major_version: 6,
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/6/x86_64')
end
end

context 'agent 7' do
let(:params) do
{
agent_major_version: 7,
}
end

it do
is_expected.to contain_zypprepo('datadog')
.with_enabled(1)\
.with_gpgcheck(1)\
.with_gpgkey('https://keys.datadoghq.com/DATADOG_RPM_KEY_CURRENT.public')\
.with_baseurl('https://yum.datadoghq.com/suse/stable/7/x86_64')
end
end
end

Expand Down