diff --git a/deployment_scripts/puppet/manifests/cleanup_apt_config.pp b/deployment_scripts/puppet/manifests/cleanup_apt_config.pp new file mode 100644 index 000000000..23747b275 --- /dev/null +++ b/deployment_scripts/puppet/manifests/cleanup_apt_config.pp @@ -0,0 +1,26 @@ +# Copyright 2015 Mirantis, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +include lma_collector::params + +case $::osfamily { + 'Debian': { + file { $::lma_collector::params::apt_config_file: + ensure => absent, + } + } + default: { + # Currently only Debian like distributions need specific configuration. + } +} diff --git a/deployment_scripts/puppet/manifests/configure_apt.pp b/deployment_scripts/puppet/manifests/configure_apt.pp new file mode 100644 index 000000000..02b27490f --- /dev/null +++ b/deployment_scripts/puppet/manifests/configure_apt.pp @@ -0,0 +1,31 @@ +# Copyright 2015 Mirantis, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +include lma_collector::params + +$str = 'APT::Install-Suggests "0"; +APT::Install-Recommends "0"; +' + +case $::osfamily { + 'Debian': { + file { $::lma_collector::params::apt_config_file: + ensure => file, + content => $str, + } + } + default: { + # Currently only Debian like distributions need specific configuration. + } +} diff --git a/deployment_scripts/puppet/modules/lma_collector/manifests/params.pp b/deployment_scripts/puppet/modules/lma_collector/manifests/params.pp index be2c26b25..5ebd020c5 100644 --- a/deployment_scripts/puppet/modules/lma_collector/manifests/params.pp +++ b/deployment_scripts/puppet/modules/lma_collector/manifests/params.pp @@ -17,6 +17,8 @@ class lma_collector::params { $config_dir = "/etc/${service_name}" $plugins_dir = "/usr/share/${service_name}" + $apt_config_file = '/etc/apt/apt.conf.d/99norecommends' + $pacemaker_managed = false # Address and port of the Heka dashboard for health reports. diff --git a/tasks.yaml b/tasks.yaml index 3eae6b125..34116e86c 100644 --- a/tasks.yaml +++ b/tasks.yaml @@ -8,6 +8,18 @@ timeout: 300 # The following tasks are executed in the order they are declared + +# We need to control what is deployed when we install a new package. So +# we need to prevent the installation of recommended packages. +# See https://bugs.launchpad.net/fuel-plugins/+bug/1494186 +- role: '*' + stage: post_deployment/8200 + type: puppet + parameters: + puppet_manifest: puppet/manifests/configure_apt.pp + puppet_modules: puppet/modules + timeout: 600 + - role: '*' stage: post_deployment/8200 type: puppet @@ -55,3 +67,12 @@ puppet_manifest: puppet/manifests/ceph_osd.pp puppet_modules: puppet/modules timeout: 600 + +- role: '*' + stage: post_deployment/8200 + type: puppet + parameters: + puppet_manifest: puppet/manifests/cleanup_apt_config.pp + puppet_modules: puppet/modules + timeout: 600 +