aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPratik Raj <rajpratik71@gmail.com>2020-06-06 21:46:26 +0530
committerPratik Raj <rajpratik71@gmail.com>2020-06-06 21:53:42 +0530
commit662f53dd795fbc439b923e09cbf088f613d01003 (patch)
tree492322b6e044339b28a0fb9f5b89dfb709d99c61
parente80f462ab1621090dd9cf7a2c648eb168aaafa5e (diff)
optimize size and time using "--no-cache-dir"
Using "--no-cache-dir" flag in pip install ,make sure dowloaded packages by pip don't cached on system . This is a best practise which make sure to fetch ftom repo instead of using local cached one . Further , in case of Docker Containers , by restricing caching , we can reduce image size. In term of stats , it depends upon the number of python packages multiplied by their respective size . e.g for heavy packages with a lot of dependencies it reduce a lot by don't caching pip packages. Further , more detail information can be found at https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6 Issue-ID: MULTICLOUD-1080 Signed-off-by: Pratik Raj <rajpratik71@gmail.com> Change-Id: Ib79fae7e69eb669e39bc3eb52373668367460ba2
-rwxr-xr-xkud/hosting_providers/containerized/installer.sh4
-rwxr-xr-xkud/hosting_providers/vagrant/installer.sh8
-rwxr-xr-xkud/hosting_providers/vagrant/setup.sh4
-rwxr-xr-xkud/tests/_common_test.sh2
-rwxr-xr-xkud/tests/cFW/postinstall.sh4
-rw-r--r--tox.ini2
6 files changed, 12 insertions, 12 deletions
diff --git a/kud/hosting_providers/containerized/installer.sh b/kud/hosting_providers/containerized/installer.sh
index fe9d1e9d..5e46d967 100755
--- a/kud/hosting_providers/containerized/installer.sh
+++ b/kud/hosting_providers/containerized/installer.sh
@@ -33,7 +33,7 @@ function _install_ansible {
local version=$(grep "ansible_version" ${kud_playbooks}/kud-vars.yml |
awk -F ': ' '{print $2}')
mkdir -p /etc/ansible/
- pip install ansible==$version
+ pip install --no-cache-dir ansible==$version
}
# install_k8s() - Install Kubernetes using kubespray tool
@@ -56,7 +56,7 @@ function install_kubespray {
rm $tarball
pushd $dest_folder/kubespray-$version/
- pip install -r ./requirements.txt
+ pip install --no-cache-dir -r ./requirements.txt
make mitogen
popd
rm -f $kud_inventory_folder/group_vars/all.yml 2> /dev/null
diff --git a/kud/hosting_providers/vagrant/installer.sh b/kud/hosting_providers/vagrant/installer.sh
index 7b8b28d4..27ab7fc1 100755
--- a/kud/hosting_providers/vagrant/installer.sh
+++ b/kud/hosting_providers/vagrant/installer.sh
@@ -41,7 +41,7 @@ function _install_go {
# _install_pip() - Install Python Package Manager
function _install_pip {
if $(pip --version &>/dev/null); then
- sudo -E pip install --upgrade pip
+ sudo -E pip install --no-cache-dir --upgrade pip
else
sudo apt-get install -y python-dev
curl -sL https://bootstrap.pypa.io/get-pip.py | sudo python
@@ -56,7 +56,7 @@ function _install_ansible {
_install_pip
local version=$(grep "ansible_version" ${kud_playbooks}/kud-vars.yml | awk -F ': ' '{print $2}')
sudo mkdir -p /etc/ansible/
- sudo -E pip install ansible==$version
+ sudo -E pip install --no-cache-dir ansible==$version
}
# _install_docker() - Download and install docker-engine
@@ -123,7 +123,7 @@ function install_k8s {
rm $tarball
pushd $dest_folder/kubespray-$version/
- sudo -E pip install -r ./requirements.txt
+ sudo -E pip install --no-cache-dir -r ./requirements.txt
make mitogen
popd
rm -f $kud_inventory_folder/group_vars/all.yml 2> /dev/null
@@ -175,7 +175,7 @@ function install_plugin {
echo "Installing multicloud/k8s plugin"
_install_go
_install_docker
- sudo -E pip install docker-compose
+ sudo -E pip install --no-cache-dir docker-compose
sudo mkdir -p /opt/{kubeconfig,consul/config}
sudo cp $HOME/.kube/config /opt/kubeconfig/kud
diff --git a/kud/hosting_providers/vagrant/setup.sh b/kud/hosting_providers/vagrant/setup.sh
index 9c65ccdb..00b6e86f 100755
--- a/kud/hosting_providers/vagrant/setup.sh
+++ b/kud/hosting_providers/vagrant/setup.sh
@@ -178,9 +178,9 @@ ${INSTALLER_CMD} "${packages[@]}"
if ! which pip; then
curl -sL https://bootstrap.pypa.io/get-pip.py | sudo python
else
- sudo -H -E pip install --upgrade pip
+ sudo -H -E pip install --no-cache-dir --upgrade pip
fi
-sudo -H -E pip install tox
+sudo -H -E pip install --no-cache-dir tox
if [[ ${http_proxy+x} ]]; then
vagrant plugin install vagrant-proxyconf
fi
diff --git a/kud/tests/_common_test.sh b/kud/tests/_common_test.sh
index 32781e18..0ca606b6 100755
--- a/kud/tests/_common_test.sh
+++ b/kud/tests/_common_test.sh
@@ -36,7 +36,7 @@ function install_ipcalc {
function install_ovn_deps {
if ! $(yq --version &>/dev/null); then
install_deps # jq needed as it's dependency of yq
- sudo -E pip install yq
+ sudo -E pip install --no-cache-dir yq
fi
if ! $(ovn-nbctl --version &>/dev/null); then
function ovn_ubuntu_deps {
diff --git a/kud/tests/cFW/postinstall.sh b/kud/tests/cFW/postinstall.sh
index 5a1d5043..ec2cba49 100755
--- a/kud/tests/cFW/postinstall.sh
+++ b/kud/tests/cFW/postinstall.sh
@@ -57,8 +57,8 @@ function install_docker_compose {
if ! which pip; then
curl -sL https://bootstrap.pypa.io/get-pip.py | python
fi
- pip install --upgrade pip
- pip install docker-compose
+ pip install --no-cache-dir --upgrade pip
+ pip install --no-cache-dir docker-compose
}
echo 'vm.nr_hugepages = 1024' >> /etc/sysctl.conf
diff --git a/tox.ini b/tox.ini
index 5cebea87..7c66248c 100644
--- a/tox.ini
+++ b/tox.ini
@@ -15,7 +15,7 @@ envlist = bashate
[testenv]
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
usedevelop = False
-install_command = pip install {opts} {packages}
+install_command = pip install --no-cache-dir {opts} {packages}
[testenv:bashate]
deps =