- libssl1.0.0
 
 before_script:
-  - sudo add-apt-repository -y ppa:jonathonf/python-3.6
+  - sudo add-apt-repository -y ppa:deadsnakes/ppa
   - sudo apt-get update
-  - sudo apt-get install python3.6 python3.6-dev
+  - sudo apt-get install python3.7 python3.7-dev
   - sudo pip install tox
   - sudo -E docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}"
   - (cd .. && git clone https://github.com/estesp/manifest-tool)
 jobs:
   include:
     - stage: run unit tests
-      script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py27,py36
+      script: tox -e pep8,pylint,yamllint,ansiblelint,bashate,py27,py37
     - stage: build functest-kubernetes-core image
       script: sudo -E bash build.sh
       env:
 
           - repo: _
             dport:
             container: golang
-            tag: alpine3.9
+            tag: alpine3.10
         steps:
           - name: build opnfv/functest-kubernetes-core
             containers:
 
 [ ! -z "${amd64_dirs}" ] &&
     (docker rmi \
         "${repo}/functest-kubernetes-core:amd64-latest" \
-        golang:alpine3.9 || true)
+        golang:alpine3.10 || true)
 find . -name Dockerfile -exec git checkout {} +
 
 find . -name Dockerfile -exec sed -i \
-    -e "s|golang:alpine3.9|arm64v8/golang:alpine3.9|g" {} +
+    -e "s|golang:alpine3.10|arm64v8/golang:alpine3.10|g" {} +
 find . -name Dockerfile -exec sed -i \
     -e "s|opnfv/functest-kubernetes-core|\
 ${repo}/functest-kubernetes-core:arm64-latest|g" {} +
 done
 [ ! -z "${arm64_dirs}" ] &&
     (docker rmi "${repo}/functest-kubernetes-core:arm64-latest" \
-        arm64v8/golang:alpine3.9 || true)
+        arm64v8/golang:alpine3.10 || true)
 find . -name Dockerfile -exec git checkout {} +
 
 exit $?
 
-FROM golang:alpine3.9
+FROM golang:alpine3.10
 
 ARG BRANCH=master
 ARG OPENSTACK_TAG=master
     printf "[database]\nconnection = 'sqlite:////var/lib/rally/database/rally.sqlite'" > /etc/rally/rally.conf && \
     mkdir -p /var/lib/rally/database && rally db create && \
     apk del .build-deps
-COPY logging.ini /usr/lib/python3.6/site-packages/xtesting/ci/logging.ini
+COPY logging.ini /usr/lib/python3.7/site-packages/xtesting/ci/logging.ini
 CMD ["run_tests", "-t", "all"]
 
         -rthirdparty-requirements.txt && \
     rm -f thirdparty-requirements.txt && \
     apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.6/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml
 CMD ["run_tests", "-t", "all"]
 
         mv _output/bin/* /usr/local/bin) && \
     rm -r /src/k8s.io && \
     apk del .build-deps
-COPY testcases.yaml /usr/lib/python3.6/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml
 CMD ["run_tests", "-t", "all"]
 
 FROM opnfv/functest-kubernetes-healthcheck
 
-COPY testcases.yaml /usr/lib/python3.6/site-packages/xtesting/ci/testcases.yaml
+COPY testcases.yaml /usr/lib/python3.7/site-packages/xtesting/ci/testcases.yaml
 CMD ["run_tests", "-t", "all"]
 
         self.k8stesting.config = 'not_file'
         with mock.patch.object(self.k8stesting,
                                '_K8sTesting__logger') as mock_logger:
-            self.assertEquals(self.k8stesting.run(),
-                              testcase.TestCase.EX_RUN_ERROR)
+            self.assertEqual(self.k8stesting.run(),
+                             testcase.TestCase.EX_RUN_ERROR)
             mock_logger.error.assert_called_with(
                 "Cannot run k8s testcases. Config file not found")
         mock_func.assert_called_with('not_file')
     @mock.patch('functest_kubernetes.k8stest.os.path.isfile')
     @mock.patch('functest_kubernetes.k8stest.subprocess.Popen')
     def test_run(self, *args):
-        self.assertEquals(self.k8stesting.run(),
-                          testcase.TestCase.EX_OK)
+        self.assertEqual(self.k8stesting.run(),
+                         testcase.TestCase.EX_OK)
         for loop in range(3):
             args[loop].assert_called()
 
 
 mock # BSD
 nose # LGPL
 flake8<2.6.0,>=2.5.4 # MIT
-pylint==1.4.5 # GPLv2
+pylint # GPLv2
 yamllint
 ansible-lint
 bashate # Apache-2.0
 
 [tox]
-envlist = pep8,pylint,yamllint,ansiblelint,bashate,py27,bandit
+envlist = pep8,pylint,yamllint,ansiblelint,bashate,py27,py37,bandit
 
 [testenv]
 usedevelop = True
   functest_kubernetes
 
 [testenv:pep8]
-basepython = python2.7
+basepython = python3.7
 commands = flake8
 
 [testenv:pylint]
-basepython = python2.7
+basepython = python3.7
 commands = pylint --disable=locally-disabled --reports=n functest_kubernetes
 
 [testenv:yamllint]
-basepython = python2.7
+basepython = python3.7
 files =
   .travis.yml
   docker
   yamllint {[testenv:yamllint]files}
 
 [testenv:ansiblelint]
-basepython = python2.7
+basepython = python3.7
 commands = ansible-lint ansible/site.yml
 
 [testenv:bandit]
-basepython = python2.7
+basepython = python3.7
 commands = bandit -r functest_kubernetes -x tests -n 5 -ll
 
-[testenv:py36]
+[testenv:py37]
 commands = nosetests functest_kubernetes
 
 [testenv:bashate]
-basepython = python2.7
+basepython = python3.7
 files =
   build.sh
 commands = bashate -e E005,E006,E042,E043 {[testenv:bashate]files}