diff --git a/jenkins/VCA/update-lxd-image.sh b/jenkins/VCA/update-lxd-image.sh
index 07ba90b02b790d6764564b84a2205b3a00bcb808..ae692f6560d32f5cf318fe12a0761e582b95f68e 100755
--- a/jenkins/VCA/update-lxd-image.sh
+++ b/jenkins/VCA/update-lxd-image.sh
@@ -10,7 +10,7 @@
 set -eux
 
 # The basic charm layer also installs all the things. 47 packages.
-LAYER_BASIC="gcc build-essential python3-pip python3-setuptools python3-yaml"
+LAYER_BASIC="gcc build-essential python3-pip python3-setuptools libyaml-dev python3-yaml python3-dev"
 
 # the basic layer also installs virtualenv, but the name changed in xenial.
 TRUSTY_PACKAGES="python-virtualenv"
@@ -38,6 +38,7 @@ function cache() {
     lxc exec $container -- apt-get update -y
     lxc exec $container -- apt-get upgrade -y
     lxc exec $container -- apt-get install -y $PACKAGES $2
+    lxc exec $container -- pip3 install --upgrade pip
     lxc exec $container -- pip3 install --upgrade $PYPI
     lxc stop $container