From ced36b62d11cdfdfba4d64c5e2a99ac52f179ee2 Mon Sep 17 00:00:00 2001 From: Guillaume Thouvenin Date: Tue, 15 Sep 2015 15:30:15 +0200 Subject: [PATCH] Avoid installing recommended packages by APT We need to support the installation when using fuel-createmirror. It means that we need to embed all packages that are required to install collectd. As we don't want to embed recommended packages we need to configure the packaging tool accordingly. Closes-Bug: #1494186 Change-Id: I22ec782d747b3ccd0a0a4d4e39e7a94ba51a56e3 --- .../puppet/manifests/cleanup_apt_config.pp | 26 ++++++++++++++++ .../puppet/manifests/configure_apt.pp | 31 +++++++++++++++++++ .../modules/lma_collector/manifests/params.pp | 2 ++ tasks.yaml | 21 +++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 deployment_scripts/puppet/manifests/cleanup_apt_config.pp create mode 100644 deployment_scripts/puppet/manifests/configure_apt.pp 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 +