aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Wieczorek <p.wieczorek2@samsung.com>2019-07-30 16:43:19 +0200
committerPawel Wieczorek <p.wieczorek2@samsung.com>2019-07-31 15:47:41 +0200
commit625be0d2f81705b3ab863ee3d13948f4355e2a7b (patch)
tree322257b83b4b2df2f06121730d9af0264eb78db0
parent2d13ea81519bacdd7f17ce91ec06bc7ac26a6cac (diff)
k8s: Silence package manager and make it noninteractive
This patch sets debconf frontend to noninteractive by including additional field in the first stanza of configuration file. Its placement has been chosen arbitrarily - both 'Config' and 'Templates' fields "are required in this first stanza" [1]. It also makes symlinking script more generic. [1] man 5 debconf.conf (provided by "debconf-doc" in Ubuntu) Issue-ID: SECCOM-235 Change-Id: If9dcc712d1ff7f527d3bc59f4c1709cffe4cbda5 Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>
-rw-r--r--test/security/k8s/tools/config/95silent-approval2
-rw-r--r--test/security/k8s/vagrant/dublin/Vagrantfile24
2 files changed, 20 insertions, 6 deletions
diff --git a/test/security/k8s/tools/config/95silent-approval b/test/security/k8s/tools/config/95silent-approval
new file mode 100644
index 000000000..dadbfbd86
--- /dev/null
+++ b/test/security/k8s/tools/config/95silent-approval
@@ -0,0 +1,2 @@
+Quiet "1";
+APT::Get::Assume-Yes "true";
diff --git a/test/security/k8s/vagrant/dublin/Vagrantfile b/test/security/k8s/vagrant/dublin/Vagrantfile
index ce442eb98..b8abcd125 100644
--- a/test/security/k8s/vagrant/dublin/Vagrantfile
+++ b/test/security/k8s/vagrant/dublin/Vagrantfile
@@ -8,6 +8,8 @@ vagrant_password = "vagrant"
synced_folder_main = "/vagrant"
synced_folder_config = "#{synced_folder_main}/config"
cluster_yml = "cluster.yml"
+apt_prefs_dir = "/etc/apt/apt.conf.d"
+apt_prefs = "95silent-approval"
vm_memory = 2 * 1024
vm_cpus = 1
@@ -35,6 +37,11 @@ $add_to_docker_group = <<-SCRIPT
usermod -aG docker "$USER"
SCRIPT
+$setup_debconf = <<-SCRIPT
+ echo "Setting debconf frontend to noninteractive"
+ sed -i'.orig' '/^Config:/a Frontend: noninteractive' /etc/debconf.conf
+SCRIPT
+
$install_sshpass = <<-SCRIPT
apt-get update
echo "Installing 'sshpass'"
@@ -69,11 +76,11 @@ $link_dotfiles = <<-SCRIPT
done
SCRIPT
-$link_cluster_yml = <<-SCRIPT
+$link_file = <<-SCRIPT
SYNC_DIR="$1"
- CLUSTER_YML="$2"
- src="${SYNC_DIR}/${CLUSTER_YML}"
- dst="$HOME"
+ FILE="$2"
+ src="${SYNC_DIR}/${FILE}"
+ dst="$3"
echo "Symlinking ${src} to ${dst}"
ln -sf "$src" "$dst"
SCRIPT
@@ -115,6 +122,11 @@ Vagrant.configure('2') do |config|
config.vm.synced_folder ".", synced_folder_main, type: "rsync", rsync__exclude: "Vagrantfile"
config.vm.synced_folder "../../tools/config", synced_folder_config, type: "rsync"
+ config.vm.provision "setup_debconf", type: :shell, inline: $setup_debconf
+ config.vm.provision "link_apt_prefs", type: :shell, run: "always" do |s|
+ s.inline = $link_file
+ s.args = [synced_folder_config, apt_prefs, apt_prefs_dir]
+ end
config.vm.provision "link_dotfiles_root", type: :shell, run: "always" do |s|
s.inline = $link_dotfiles
s.args = synced_folder_config
@@ -140,8 +152,8 @@ Vagrant.configure('2') do |config|
config.vm.provision "get_rke", type: :shell, path: "../../tools/dublin/get_rke.sh"
config.vm.provision "link_cluster_yml", type: :shell, run: "always" do |s|
s.privileged = false
- s.inline = $link_cluster_yml
- s.args = [synced_folder_main, cluster_yml]
+ s.inline = $link_file
+ s.args = [synced_folder_main, cluster_yml, "$HOME"]
end
config.vm.post_up_message = operation_post_msg