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
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
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
# _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
_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
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
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
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
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 {
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
[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 =