From 986ecfa7e99d0f29b4d7b3cd8065da31695ec00b Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 28 Mar 2018 13:11:51 +0530 Subject: [PATCH] CLOUDSTACK-10341: Reduce systemvmtemplate size, install nftables (#2506) This reduces systemvmtemplate size by 600MB and installs nftables, updates iptables. This also fixes a failing smoke test. Signed-off-by: Rohit Yadav --- test/integration/smoke/test_vpc_redundant.py | 7 ++++--- tools/appliance/build.sh | 2 +- tools/appliance/systemvmtemplate/http/preseed.cfg | 10 +++++----- .../appliance/systemvmtemplate/scripts/apt_upgrade.sh | 3 +-- tools/appliance/systemvmtemplate/scripts/cleanup.sh | 2 ++ .../scripts/install_systemvm_packages.sh | 4 +++- tools/appliance/systemvmtemplate/template.json | 2 +- 7 files changed, 17 insertions(+), 13 deletions(-) diff --git a/test/integration/smoke/test_vpc_redundant.py b/test/integration/smoke/test_vpc_redundant.py index 2fde8d99207..64b1fa67771 100644 --- a/test/integration/smoke/test_vpc_redundant.py +++ b/test/integration/smoke/test_vpc_redundant.py @@ -304,8 +304,8 @@ class TestVPCRedundancy(cloudstackTestCase): time.sleep(3 * self.advert_int + 5) def check_routers_state(self,count=2, status_to_check="MASTER", expected_count=1, showall=False): - vals = ["MASTER", "BACKUP", "UNKNOWN"] - cnts = [0, 0, 0] + vals = ["MASTER", "BACKUP", "UNKNOWN", "FAULT"] + cnts = [0, 0, 0, 0] self.wait_for_vrrp() @@ -612,7 +612,8 @@ class TestVPCRedundancy(cloudstackTestCase): time.sleep(total_sleep * 3) - self.check_routers_state(status_to_check="BACKUP", expected_count=2) + # Router will be in FAULT state, i.e. keepalived is stopped + self.check_routers_state(status_to_check="FAULT", expected_count=2) self.start_vm() self.check_routers_state(status_to_check="MASTER") diff --git a/tools/appliance/build.sh b/tools/appliance/build.sh index 8b1032ecc8b..ba6fe4dda1a 100755 --- a/tools/appliance/build.sh +++ b/tools/appliance/build.sh @@ -195,7 +195,7 @@ function create_definition() { set +e if [ ! -z "${version}" ]; then sed ${sed_regex_option} -i -e "s/^CLOUDSTACK_RELEASE=.+/CLOUDSTACK_RELEASE=${version}/" \ - "${appliance_build_name}/configure_systemvm_services.sh" + "${appliance_build_name}/scripts/configure_systemvm_services.sh" fi set -e add_on_exit rm -rf "${appliance_build_name}" diff --git a/tools/appliance/systemvmtemplate/http/preseed.cfg b/tools/appliance/systemvmtemplate/http/preseed.cfg index cdb649a8f5d..65a573374a9 100644 --- a/tools/appliance/systemvmtemplate/http/preseed.cfg +++ b/tools/appliance/systemvmtemplate/http/preseed.cfg @@ -54,28 +54,28 @@ d-i partman-auto/disk string /dev/vda d-i partman-auto/method string regular d-i partman-auto/expert_recipe string \ boot-root :: \ - 80 50 160 ext2 \ + 60 60 60 ext2 \ $primary{ } $bootable{ } \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext2 } \ mountpoint{ /boot } \ . \ - 1200 40 1600 ext4 \ + 975 40 1000 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ / } \ . \ - 800 60 800 ext4 \ + 480 50 700 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /var } \ . \ - 100 90 200 ext4 \ + 80 90 100 ext4 \ method{ format } format{ } \ use_filesystem{ } filesystem{ ext4 } \ mountpoint{ /tmp } \ . \ - 256 100 1024 linux-swap \ + 256 1000 256 linux-swap \ method{ swap } format{ } \ . diff --git a/tools/appliance/systemvmtemplate/scripts/apt_upgrade.sh b/tools/appliance/systemvmtemplate/scripts/apt_upgrade.sh index ac48b6b8249..b6de480c4e2 100644 --- a/tools/appliance/systemvmtemplate/scripts/apt_upgrade.sh +++ b/tools/appliance/systemvmtemplate/scripts/apt_upgrade.sh @@ -23,7 +23,7 @@ set -x function fix_tune2fs() { for partition in $(blkid -o list | grep ext | awk '{print $1}') do - tune2fs -m 1 $partition + tune2fs -m 0 $partition tune2fs -c 3 $partition done fdisk -l @@ -55,7 +55,6 @@ function apt_upgrade() { apt-get -q -y update apt-get -q -y upgrade apt-get -q -y dist-upgrade - apt-get -y remove --purge linux-image-4.9.0-4-amd64 apt-get -y autoremove --purge apt-get autoclean apt-get clean diff --git a/tools/appliance/systemvmtemplate/scripts/cleanup.sh b/tools/appliance/systemvmtemplate/scripts/cleanup.sh index 444f205b4c6..8f2408a325a 100644 --- a/tools/appliance/systemvmtemplate/scripts/cleanup.sh +++ b/tools/appliance/systemvmtemplate/scripts/cleanup.sh @@ -60,6 +60,7 @@ function cleanup_misc() { # Docs and data files rm -fr /var/lib/apt/* rm -fr /var/cache/apt/* + rm -fr /var/cache/debconf/*old rm -fr /usr/share/doc rm -fr /usr/share/man rm -fr /usr/share/info @@ -67,6 +68,7 @@ function cleanup_misc() { rm -fr /usr/share/apache2/icons find /usr/share/locale -type f | grep -v en_US | xargs rm -fr find /usr/share/zoneinfo -type f | grep -v UTC | xargs rm -fr + rm -fr /tmp/* } function cleanup() { diff --git a/tools/appliance/systemvmtemplate/scripts/install_systemvm_packages.sh b/tools/appliance/systemvmtemplate/scripts/install_systemvm_packages.sh index 9469e8af28e..a5b1379b20a 100644 --- a/tools/appliance/systemvmtemplate/scripts/install_systemvm_packages.sh +++ b/tools/appliance/systemvmtemplate/scripts/install_systemvm_packages.sh @@ -72,9 +72,11 @@ function install_packages() { strongswan libcharon-extra-plugins libstrongswan-extra-plugins \ virt-what open-vm-tools qemu-guest-agent hyperv-daemons + apt-get -q -y -t stretch-backports install nftables + apt-get -y autoremove --purge - apt-get autoclean apt-get clean + apt-get autoclean #32 bit architecture support:: not required for 32 bit template if [ "${arch}" != "i386" ]; then diff --git a/tools/appliance/systemvmtemplate/template.json b/tools/appliance/systemvmtemplate/template.json index da924289b1e..8fe32309d37 100644 --- a/tools/appliance/systemvmtemplate/template.json +++ b/tools/appliance/systemvmtemplate/template.json @@ -32,7 +32,7 @@ [ "-m", "512M" ], [ "-smp", "cpus=1,maxcpus=1,cores=1" ] ], - "disk_size": 2400, + "disk_size": 1800, "format": "qcow2", "disk_interface": "virtio",