From 66ee2ef0c0c544b0660b28499737eb0ef1840bac Mon Sep 17 00:00:00 2001 From: srisankethu Date: Fri, 30 Dec 2016 06:22:48 +0530 Subject: [PATCH 1/1] Minimize docker image and vagrant box sizes Change-Id: I67bf3ab27774a294bdead989ad9f0d92697bc057 Signed-off-by: srisankethu --- packer/provision/cleanup_centos.sh | 10 ++++++++++ packer/provision/cleanup_fedora.sh | 4 ++++ packer/provision/minimize.sh | 7 +++++++ packer/templates/docker.json | 4 +++- packer/templates/libvirt.json | 4 +++- packer/templates/virtualbox.json | 4 +++- 6 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 packer/provision/cleanup_centos.sh create mode 100644 packer/provision/cleanup_fedora.sh create mode 100644 packer/provision/minimize.sh diff --git a/packer/provision/cleanup_centos.sh b/packer/provision/cleanup_centos.sh new file mode 100644 index 0000000..c430573 --- /dev/null +++ b/packer/provision/cleanup_centos.sh @@ -0,0 +1,10 @@ +#!/bin/bash -eux + +yum -y remove gcc cpp kernel-devel kernel-headers perl +yum -y clean all + +rm -f /etc/udev/rules.d/70-persistent-net.rules +if [ -r /etc/sysconfig/network-scripts/ifcfg-eth0 ]; then + sed -i 's/^HWADDR.*$//' /etc/sysconfig/network-scripts/ifcfg-eth0 + sed -i 's/^UUID.*$//' /etc/sysconfig/network-scripts/ifcfg-eth0 +fi diff --git a/packer/provision/cleanup_fedora.sh b/packer/provision/cleanup_fedora.sh new file mode 100644 index 0000000..f7291b1 --- /dev/null +++ b/packer/provision/cleanup_fedora.sh @@ -0,0 +1,4 @@ +#!/bin/bash -eux + +yum -y remove gcc cpp kernel-devel kernel-headers perl +yum -y clean all diff --git a/packer/provision/minimize.sh b/packer/provision/minimize.sh new file mode 100644 index 0000000..4af9c6e --- /dev/null +++ b/packer/provision/minimize.sh @@ -0,0 +1,7 @@ +#!bin/sh -eux + +dd if=/dev/zero of=/EMPTY bs=1M +rm -f /EMPTY +# Block until the empty file has been removed, otherwise, Packer +# will try to kill the box while the disk is still full and that's bad +sync diff --git a/packer/templates/docker.json b/packer/templates/docker.json index 7e861d5..ad186ea 100644 --- a/packer/templates/docker.json +++ b/packer/templates/docker.json @@ -21,7 +21,9 @@ "scripts": [ "provision/config_docker_{{ user `os_name`}}.sh", "provision/config_ansible_{{ user `os_name`}}.sh", - "provision/config_ssh.sh" + "provision/config_ssh.sh", + "provision/cleanup_{{ user `os_name`}}.sh", + "provision/minimize.sh" ] }, { diff --git a/packer/templates/libvirt.json b/packer/templates/libvirt.json index 22c366f..b78f611 100644 --- a/packer/templates/libvirt.json +++ b/packer/templates/libvirt.json @@ -30,7 +30,9 @@ "scripts": [ "provision/config_vagrant.sh", "provision/config_ansible_{{ user `os_name`}}.sh", - "provision/config_ssh.sh" + "provision/config_ssh.sh", + "provision/cleanup_{{ user `os_name`}}.sh", + "provision/minimize.sh" ] }, { diff --git a/packer/templates/virtualbox.json b/packer/templates/virtualbox.json index 09e0701..2a008c7 100644 --- a/packer/templates/virtualbox.json +++ b/packer/templates/virtualbox.json @@ -47,7 +47,9 @@ "provision/config_virtualbox_{{ user `os_name`}}.sh", "provision/config_vagrant.sh", "provision/config_ansible_{{ user `os_name`}}.sh", - "provision/config_ssh.sh" + "provision/config_ssh.sh", + "provision/cleanup_{{ user `os_name`}}.sh", + "provision/minimize.sh" ] }, { -- 2.36.6