diff --git a/data/defaults.yaml b/data/defaults.yaml --- a/data/defaults.yaml +++ b/data/defaults.yaml @@ -1116,6 +1116,8 @@ - python3-chardet - python3-idna +swh::apt_config::extra_packages: [] + debian_repository::basepath: "%{hiera('swh::base_directory')}/repository" debian_repository::owner: swhdebianrepo debian_repository::owner::homedir: /home/swhdebianrepo diff --git a/data/location/azure_euwest.yaml b/data/location/azure_euwest.yaml --- a/data/location/azure_euwest.yaml +++ b/data/location/azure_euwest.yaml @@ -19,3 +19,6 @@ swh::remote_service::storage::config: "%{alias('swh::remote_service::storage::config::azure')}" swh::remote_service::indexer::config: "%{alias('swh::remote_service::indexer::config::azure')}" + +swh::apt_config::extra_packages: + - python3-swh.objstorage.cloud diff --git a/site-modules/profile/manifests/swh/apt_config.pp b/site-modules/profile/manifests/swh/apt_config.pp --- a/site-modules/profile/manifests/swh/apt_config.pp +++ b/site-modules/profile/manifests/swh/apt_config.pp @@ -28,6 +28,7 @@ } include profile::swh::apt_config::backports + include profile::swh::apt_config::extra_packages ::apt::source {'debian': location => $debian_mirror, diff --git a/site-modules/profile/manifests/swh/apt_config/extra_packages.pp b/site-modules/profile/manifests/swh/apt_config/extra_packages.pp new file mode 100644 --- /dev/null +++ b/site-modules/profile/manifests/swh/apt_config/extra_packages.pp @@ -0,0 +1,11 @@ +# Configure apt extra packages (per location or node, some extra packages can be +# needed) +class profile::swh::apt_config::extra_packages { + $extra_packages = lookup('swh::apt_config::extra_packages') + + if $extra_packages { + package {$extra_packages: + ensure => 'installed', + } + } +} diff --git a/site-modules/profile/manifests/swh/deploy/base_archiver.pp b/site-modules/profile/manifests/swh/deploy/base_archiver.pp --- a/site-modules/profile/manifests/swh/deploy/base_archiver.pp +++ b/site-modules/profile/manifests/swh/deploy/base_archiver.pp @@ -1,8 +1,6 @@ # Archiver base configuration class profile::swh::deploy::base_archiver { - include ::profile::swh::deploy::objstorage_cloud - $packages = ['python3-swh.archiver'] package {$packages: diff --git a/site-modules/profile/manifests/swh/deploy/indexer.pp b/site-modules/profile/manifests/swh/deploy/indexer.pp --- a/site-modules/profile/manifests/swh/deploy/indexer.pp +++ b/site-modules/profile/manifests/swh/deploy/indexer.pp @@ -1,5 +1,4 @@ # Base class for the indexer worker manifests class profile::swh::deploy::indexer { include ::profile::swh::deploy::base_indexer - include ::profile::swh::deploy::objstorage_cloud } diff --git a/site-modules/profile/manifests/swh/deploy/objstorage_cloud.pp b/site-modules/profile/manifests/swh/deploy/objstorage_cloud.pp deleted file mode 100644 --- a/site-modules/profile/manifests/swh/deploy/objstorage_cloud.pp +++ /dev/null @@ -1,9 +0,0 @@ -# Deployment of the cloud objstorage - -class profile::swh::deploy::objstorage_cloud { - $objstorage_packages = ['python3-swh.objstorage.cloud'] - - package {$objstorage_packages: - ensure => installed, - } -} diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_ctags.pp @@ -12,7 +12,6 @@ ensure => 'stopped', require => [ Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], Package[$packages], ], } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_language.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_language.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_language.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_language.pp @@ -8,7 +8,6 @@ loglevel => $loglevel, require => [ Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_content_mimetype.pp @@ -6,8 +6,7 @@ Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_content_mimetype': ensure => present, require => [ - Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], + Class['profile::swh::deploy::indexer'] ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_fossology_license.pp @@ -11,7 +11,6 @@ ensure => present, require => [ Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], Package[$packages], ], } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_origin_intrinsic_metadata.pp @@ -7,7 +7,6 @@ ensure => present, require => [ Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], ], } } diff --git a/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp b/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp --- a/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp +++ b/site-modules/profile/manifests/swh/deploy/worker/indexer_rehash.pp @@ -6,8 +6,7 @@ Package[$::profile::swh::deploy::base_indexer::packages] ~> ::profile::swh::deploy::worker::instance {'indexer_rehash': ensure => 'stopped', require => [ - Class['profile::swh::deploy::indexer'], - Class['profile::swh::deploy::objstorage_cloud'], + Class['profile::swh::deploy::indexer'] ], } }