diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 8406ee4e27c8a362772ab46cce6070c772144106..2aab53a5be714e644b733c1fb1b28630de68efa0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,7 +16,7 @@ variables:
   GS_ACCESS_KEY_ID: $GS_KEY
   GS_SECRET_ACCESS_KEY: $GS_SECRET
   CONTAINER_ENGINE: docker
-  SSH_USER: $GCE_USER
+  SSH_USER: root
   GCE_PREEMPTIBLE: "false"
   ANSIBLE_KEEP_REMOTE_FILES: "1"
   ANSIBLE_CONFIG: ./tests/ansible.cfg
@@ -34,14 +34,14 @@ variables:
 # us-west1-a
 
 before_script:
-    - pip install -r tests/requirements.txt
+    - /usr/bin/python -m pip install -r tests/requirements.txt
     - mkdir -p /.ssh
 
 .job: &job
   tags:
     - kubernetes
     - docker
-  image: quay.io/kubespray/kubespray:master
+  image: quay.io/kubespray/kubespray:latest
 
 .docker_service: &docker_service
   services:
@@ -61,6 +61,7 @@ before_script:
 .do_variableS: &do_variables
   PRIVATE_KEY: $DO_PRIVATE_KEY
   CI_PLATFORM: "do"
+  SSH_USER: root
 
 
 .testcases: &testcases
@@ -73,7 +74,8 @@ before_script:
       - $HOME/.cache
   before_script:
     - docker info
-    - pip install -r tests/requirements.txt
+    - /usr/bin/python -m pip install -r requirements.txt
+    - /usr/bin/python -m pip install -r tests/requirements.txt
     - mkdir -p /.ssh
     - mkdir -p $HOME/.ssh
     - ansible-playbook --version
diff --git a/Dockerfile b/Dockerfile
index f7703e5f23b78f7dedc8ac4a5e50efc806e52abf..d2cfa16c2f0c434d0a37e2b76722fdcb6a53b760 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,17 +1,16 @@
-FROM python:2.7.14-stretch
+FROM ubuntu:16.04
 
 RUN mkdir /kubespray
 WORKDIR /kubespray
 RUN apt update -y && \
     apt install -y \
     libssl-dev python-dev sshpass apt-transport-https \
-    ca-certificates curl gnupg2 software-properties-common
-RUN curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | apt-key add - && \
-    add-apt-repository \
-    "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
-    $(lsb_release -cs) \
-    stable" \
-    && apt update -y && apt-get install docker-ce -y
-
+    ca-certificates curl gnupg2 software-properties-common python-pip
+RUN  curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - && \
+     add-apt-repository \
+     "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
+     $(lsb_release -cs) \
+     stable" \
+     && apt update -y && apt-get install docker-ce -y
 COPY . .
-RUN pip install -r tests/requirements.txt && pip install -r requirements.txt
+RUN /usr/bin/python -m pip install pip -U && /usr/bin/python -m pip install -r tests/requirements.txt && python -m pip install -r requirements.txt
diff --git a/tests/Makefile b/tests/Makefile
index 8c4639b2939ddcf31239c7fb5047507ba330ab6b..638a299f5c4208e994dcfb48f6ffa50bd0ed8313 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -5,10 +5,9 @@ $(HOME)/.ssh/id_rsa:
 
 init-gce: $(HOME)/.ssh/id_rsa
 	# echo $(GCE_PEM_FILE) | base64 -d > $(HOME)/.ssh/gce
-	echo "$(GCE_CREDENTIALS_B64)" > $(HOME)/.ssh/gce.json
+	echo "$(GCE_CREDENTIALS_B64)" | base64 -d > $(HOME)/.ssh/gce.json
 
 init-do: $(HOME)/.ssh/id_rsa
-	pip install dopy==0.3.5
 	echo $(DO_PRIVATE_KEY) | base64 -d > $(HOME)/.ssh/id_rsa
 
 create-gce: init-gce
@@ -43,7 +42,7 @@ create-do: init-do
 
 delete-do:
 	ansible-playbook -i ../inventory/sample/hosts.ini cloud_playbooks/create-do.yml -c local \
-	$LOG_LEVEL \
+	$(LOG_LEVEL) \
 	-e @"files/${CI_JOB_NAME}.yml" \
 	-e state=absent \
 	-e test_id=${TEST_ID} \
diff --git a/tests/requirements.txt b/tests/requirements.txt
index 01ef7b5ac73c197fe528dbc9bcbf5327107b65de..0b6163a5dc27e5a20bc4e310a58cc1fc1e698b1d 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -3,3 +3,4 @@ yamllint
 apache-libcloud==2.2.1
 boto==2.9.0
 tox
+dopy