From: Eric Putnam Date: Wed, 24 May 2017 17:34:25 +0000 (-0700) Subject: (MODULES-4973) rip out data in modules X-Git-Tag: 4.1.0~3^2 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=33d17cfcfd86bef27a71e29a0fbab4b20b97327d;p=puppet-modules%2Fpuppetlabs-apt.git (MODULES-4973) rip out data in modules this module is not able to find a value for `$keyserver` when it is included in postgresql, as stated in the ticket. this changes the module back to using the params.pp model. we can revisit data in modules once LTS moves up from 4.7.0. for now, we need the compatibility. --- diff --git a/data/Debian-6.0.yaml b/data/Debian-6.0.yaml deleted file mode 100644 index f03bccd..0000000 --- a/data/Debian-6.0.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -#Squeeze -apt::backports: { location: 'http://httpredir.debian.org/debian-backports', key: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', repos: 'main contrib non-free' } -apt::ppa_options: ~ -apt::ppa_package: ~ diff --git a/data/Debian.yaml b/data/Debian.yaml deleted file mode 100644 index 823bc02..0000000 --- a/data/Debian.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -apt::backports: { location: 'http://httpredir.debian.org/debian', key: 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', repos: 'main contrib non-free' } -apt::ppa_options: ~ -apt::ppa_package: ~ diff --git a/data/Ubuntu-10.04.yaml b/data/Ubuntu-10.04.yaml deleted file mode 100644 index 567548b..0000000 --- a/data/Ubuntu-10.04.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -#Lucid -apt::ppa_options: ~ -apt::ppa_package: 'python-software-properties' diff --git a/data/Ubuntu-12.04.yaml b/data/Ubuntu-12.04.yaml deleted file mode 100644 index 992cb25..0000000 --- a/data/Ubuntu-12.04.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -#Precise -apt::ppa_options: '-y' -apt::ppa_package: 'python-software-properties' diff --git a/data/Ubuntu-14.04.yaml b/data/Ubuntu-14.04.yaml deleted file mode 100644 index d168164..0000000 --- a/data/Ubuntu-14.04.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -#Trusty -apt::ppa_options: '-y' -apt::ppa_package: 'software-properties-common' diff --git a/data/Ubuntu.yaml b/data/Ubuntu.yaml deleted file mode 100644 index ee62a25..0000000 --- a/data/Ubuntu.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -apt::backports: { location: 'http://archive.ubuntu.com/ubuntu', key: '630239CC130E1A7FD81A27B140976EAF437D05B5', repos: 'main universe multiverse restricted' } -apt::ppa_options: '-y' -apt::ppa_package: 'python-software-properties' diff --git a/data/common.yaml b/data/common.yaml deleted file mode 100644 index 2ed9e16..0000000 --- a/data/common.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -apt::provider: '/usr/bin/apt-get' -apt::keyserver: 'keyserver.ubuntu.com' -apt::update_defaults: { frequency: 'reluctantly', timeout: ~, tries: ~ } -apt::proxy_defaults: { ensure: ~, host: ~, port: 8080, https: false } -apt::purge_defaults: { sources.list: false, sources.list.d: false, preferences: false, preferences.d: false } -apt::proxy_defaults: { ensure: ~, host: ~, port: 8080, https: false } -apt::include_defaults: { deb: true, src: false } -apt::ppa_options: ~ -apt::ppa_package: ~ -apt::backports: ~ diff --git a/hiera.yaml b/hiera.yaml deleted file mode 100644 index 4bfe502..0000000 --- a/hiera.yaml +++ /dev/null @@ -1,22 +0,0 @@ ---- -version: 4 -datadir: data -hierarchy: - - name: "Full Version" - backend: yaml - path: "%{facts.os.name}-%{facts.os.release.full}" - - - name: "Major Version" - backend: yaml - path: "%{facts.os.name}-%{facts.os.release.major}" - - - name: "Distribution Name" - backend: yaml - path: "%{facts.os.name}" - - - name: "Operating System Family" - backend: yaml - path: "%{facts.os.family}" - - - name: "common" - backend: yaml diff --git a/manifests/init.pp b/manifests/init.pp index 5654b3c..c89c223 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -3,33 +3,33 @@ # Manage APT (Advanced Packaging Tool) # class apt ( - Hash $update_defaults, - Hash $purge_defaults, - Hash $proxy_defaults, - Hash $include_defaults, - String $provider, - String $keyserver, - Optional[String] $ppa_options, - Optional[String] $ppa_package, - Optional[Hash] $backports, - Hash $confs = {}, - Hash $update = {}, - Hash $purge = {}, - Hash $proxy = {}, - Hash $sources = {}, - Hash $keys = {}, - Hash $ppas = {}, - Hash $pins = {}, - Hash $settings = {}, - String $root = '/etc/apt', - String $sources_list = "${root}/sources.list", - String $sources_list_d = "${root}/sources.list.d", - String $conf_d = "${root}/apt.conf.d", - String $preferences = "${root}/preferences", - String $preferences_d = "${root}/preferences.d", - Hash $config_files = { conf => { path => $conf_d, ext => '' }, pref => { path => $preferences_d, ext => '.pref' }, list => { path => $sources_list_d, ext => '.list' } }, - Hash $source_key_defaults = { 'server' => $keyserver, 'options' => undef, 'content' => undef, 'source' => undef }, -) { + Hash $update_defaults = $apt::params::update_defaults, + Hash $purge_defaults = $apt::params::purge_defaults, + Hash $proxy_defaults = $apt::params::proxy_defaults, + Hash $include_defaults = $apt::params::include_defaults, + String $provider = $apt::params::provider, + String $keyserver = $apt::params::keyserver, + Optional[String] $ppa_options = $apt::params::ppa_options, + Optional[String] $ppa_package = $apt::params::ppa_package, + Optional[Hash] $backports = $apt::params::backports, + Hash $confs = $apt::params::confs, + Hash $update = $apt::params::update, + Hash $purge = $apt::params::purge, + Hash $proxy = $apt::params::proxy, + Hash $sources = $apt::params::sources, + Hash $keys = $apt::params::keys, + Hash $ppas = $apt::params::ppas, + Hash $pins = $apt::params::pins, + Hash $settings = $apt::params::settings, + String $root = $apt::params::root, + String $sources_list = $apt::params::sources_list, + String $sources_list_d = $apt::params::sources_list_d, + String $conf_d = $apt::params::conf_d, + String $preferences = $apt::params::preferences, + String $preferences_d = $apt::params::preferences_d, + Hash $config_files = $apt::params::config_files, + Hash $source_key_defaults = $apt::params::source_key_defaults +) inherits apt::params { if $facts['osfamily'] != 'Debian' { fail('This module only works on Debian or derivatives like Ubuntu') diff --git a/manifests/params.pp b/manifests/params.pp new file mode 100644 index 0000000..8fd658b --- /dev/null +++ b/manifests/params.pp @@ -0,0 +1,130 @@ +class apt::params { + + if $::osfamily != 'Debian' { + fail('This module only works on Debian or derivatives like Ubuntu') + } + + $root = '/etc/apt' + $provider = '/usr/bin/apt-get' + $sources_list = "${root}/sources.list" + $sources_list_d = "${root}/sources.list.d" + $conf_d = "${root}/apt.conf.d" + $preferences = "${root}/preferences" + $preferences_d = "${root}/preferences.d" + $keyserver = 'keyserver.ubuntu.com' + $confs = {} + $update = {} + $purge = {} + $proxy = {} + $sources = {} + $keys = {} + $ppas = {} + $pins = {} + $settings = {} + + $config_files = { + 'conf' => { + 'path' => $conf_d, + 'ext' => '', + }, + 'pref' => { + 'path' => $preferences_d, + 'ext' => '.pref', + }, + 'list' => { + 'path' => $sources_list_d, + 'ext' => '.list', + } + } + + $update_defaults = { + 'frequency' => 'reluctantly', + 'timeout' => undef, + 'tries' => undef, + } + + $proxy_defaults = { + 'ensure' => undef, + 'host' => undef, + 'port' => 8080, + 'https' => false, + } + + $purge_defaults = { + 'sources.list' => false, + 'sources.list.d' => false, + 'preferences' => false, + 'preferences.d' => false, + } + + $source_key_defaults = { + 'server' => $keyserver, + 'options' => undef, + 'content' => undef, + 'source' => undef, + } + + $include_defaults = { + 'deb' => true, + 'src' => false, + } + + case $facts['os']['name']{ + 'Debian': { + case $facts['os']['release']['full'] { + '6.0': { + $backports = { + 'location' => 'http://httpredir.debian.org/debian-backports', + 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + 'repos' => 'main contrib non-free', + } + } + default: { + $backports = { + 'location' => 'http://httpredir.debian.org/debian', + 'key' => 'A1BD8E9D78F7FE5C3E65D8AF8B48AD6246925553', + 'repos' => 'main contrib non-free', + } + } + } + + $ppa_options = undef + $ppa_package = undef + + } + 'Ubuntu': { + $backports = { + 'location' => 'http://archive.ubuntu.com/ubuntu', + 'key' => '630239CC130E1A7FD81A27B140976EAF437D05B5', + 'repos' => 'main universe multiverse restricted', + } + + case $facts['os']['release']['full'] { + '10.04': { + $ppa_options = undef + $ppa_package = 'python-software-properties' + } + '12.04': { + $ppa_options = '-y' + $ppa_package = 'python-software-properties' + } + '14.04', '14.10', '15.04', '15.10': { + $ppa_options = '-y' + $ppa_package = 'software-properties-common' + } + default: { + $ppa_options = '-y' + $ppa_package = 'python-software-properties' + } + } + } + undef: { + fail('Unable to determine full release number') + } + default: { + $ppa_options = undef + $ppa_package = undef + $backports = undef + } + } +} diff --git a/metadata.json b/metadata.json index f4fadeb..562f043 100644 --- a/metadata.json +++ b/metadata.json @@ -10,7 +10,7 @@ "dependencies": [ {"name":"puppetlabs/stdlib","version_requirement":">= 4.16.0 < 5.0.0"} ], - "data_provider": "hiera", + "data_provider": null, "operatingsystem_support": [ { "operatingsystem": "Debian",