You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by GitBox <gi...@apache.org> on 2020/04/30 00:40:32 UTC

[GitHub] [libcloud] 99Kies opened a new pull request #1451: Add no cache and Optimize the Dockerfile format

99Kies opened a new pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451


   ## Changes Title (replace this with a logical title for your changes)
   
   ### Description
   
   Replace this with the PR description (mention the changes you have made, why
   you have made them, provide some background and any references to the provider
   documentation if needed, etc.).
   
   For more information on contributing, please see [Contributing](http://libcloud.readthedocs.org/en/latest/development.html#contributing)
   section of our documentation.
   
   > Clean up the Dockerfile code format and remove the cache residue after **pip install**
   ### Status
   
   Replace this: describe the PR status. Examples:
   
   - work in progress
   - done, ready for review
   
   > **done**
   ### Checklist (tick everything that applies)
   
   - [ ] [Code linting](http://libcloud.readthedocs.org/en/latest/development.html#code-style-guide) (required, can be done after the PR checks)
   - [ ] Documentation
   - [ ] [Tests](http://libcloud.readthedocs.org/en/latest/testing.html)
   - [ ] [ICLA](http://libcloud.readthedocs.org/en/latest/development.html#contributing-bigger-changes) (required for bigger changes)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419119115



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       i got it.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623120589


   I receive the following error when I try to build a fresh Docker image:
   
   ```bash
     File "/usr/local/lib/python2.7/dist-packages/importlib_metadata/__init__.py", line 9, in <module>
       import zipp
   ImportError: No module named zipp
   ```
   
   It appears to be related to old version of pip - I will look into upgrading it as part of the Dockerfile step.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623126232


   Here we go - https://github.com/Kami/libcloud/commit/ca9c274cef24cd4935a51da5e6d914ff07589df0.
   
   I also pushed a change to use newer Ubuntu version and Python 3 for running tox target. Now it's more or less in sync with latest master / trunk and we just need to sort running it on CI.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623135456


   > Alright, took a couple of more fixes ([Kami@c2edeeb](https://github.com/Kami/libcloud/commit/c2edeebcec4d510c1632119795ea0dbeb11c0257), [Kami@15c1ffe](https://github.com/Kami/libcloud/commit/15c1ffe6769707ce25e3f37ba25c8e713fdff72e)), but it's now passing and also hooked up to CI - https://travis-ci.org/github/Kami/libcloud/jobs/682629304.
   > 
   > Only downside is that this CI target is quite slow (8 -10 minutes). But as mentioned above, not having it hooked up to CI is worse than not having this Dockerfile at all :)
   
   nice, :)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419114908



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       This actually won't work correctly, targets need to be passed to tox as a single argument.
   
   So either:
   
   ```
   tox -epy1,py2...
   ```
   
   Or:
   
   ```
   ["tox", "-e", "py1,py"]
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] codecov-io commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
codecov-io commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-621550646


   # [Codecov](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=h1) Report
   > Merging [#1451](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=desc) into [trunk](https://codecov.io/gh/apache/libcloud/commit/5b54d7205a163ef13ef77c6c8cd08a268aeb1b6c&el=desc) will **not change** coverage.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/libcloud/pull/1451/graphs/tree.svg?width=650&height=150&src=pr&token=PYoduksh69)](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=tree)
   
   ```diff
   @@           Coverage Diff           @@
   ##            trunk    #1451   +/-   ##
   =======================================
     Coverage   86.15%   86.15%           
   =======================================
     Files         375      375           
     Lines       78630    78630           
     Branches     7770     7770           
   =======================================
     Hits        67743    67743           
     Misses       7953     7953           
     Partials     2934     2934           
   ```
   
   
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=footer). Last update [5b54d72...31bce07](https://codecov.io/gh/apache/libcloud/pull/1451?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623124065


   Thanks for the original contribution, but after trying to get it to work locally it turned out it needs much more work.
   
   It was likely broken and not working for quite a while now.
   
   Here are the changes I needed to make to get it in sync with latest master and everything passing - https://github.com/Kami/libcloud/commit/bf25ca3298a41249c8a2193cd8359eafee7f206e, https://github.com/Kami/libcloud/commit/e2a5cbc9bb58d8e657594076d9ae51caed54f6d3, https://github.com/Kami/libcloud/commit/a3eb0a274dc890d43df1ac71e2ada33ab0231cd1.
   
   I will also see if I can get it to run on our CI - if we don't do that, it's better to remove it all together from this repo. Otherwise will just get out of date and broken again sooner or later.
   
   And in the future, we also need to update base image to be something more recent than Ubuntu 16.04 which defaults to Python 3.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419120218



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       This is my fault, I have n’t tested it because of time.
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419120406



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       yes, Upgrade to python3 is definitely necessary.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419120283



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       This is my fault, I have n’t tested it because of time.

##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       This is my fault, I haven’t tested it because of time.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623134730


   Alright, took a couple of more fixes (https://github.com/Kami/libcloud/commit/c2edeebcec4d510c1632119795ea0dbeb11c0257, https://github.com/Kami/libcloud/commit/15c1ffe6769707ce25e3f37ba25c8e713fdff72e), but it's now passing and also hooked up to CI - https://travis-ci.org/github/Kami/libcloud/jobs/682629304.
   
   Only downside is that this CI target is quite slow (8 -10 minutes). But as mentioned above, not having it hooked up to CI is worse than not having this Dockerfile at all :)


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419112793



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       As per my comment on the PR - once I confirm it's working, I will go ahead and split into two Dockerfiles - Dockerfile.python3 and Dockerfile.python2.
   
   In the future, we can also get rid of python2 one all together since we don't officially support it anymore anyway.




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] Kami commented on pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
Kami commented on pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#issuecomment-623119897


   Thanks for the contribution.
   
   I'll test it locally and ensure that it's working as expected.
   
   Besides that - we recently dropped support for Python < 3.4 so we can also remove those Python versions from Dockerfile.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [libcloud] 99Kies commented on a change in pull request #1451: Add no cache and Optimize the Dockerfile format

Posted by GitBox <gi...@apache.org>.
99Kies commented on a change in pull request #1451:
URL: https://github.com/apache/libcloud/pull/1451#discussion_r419120218



##########
File path: contrib/Dockerfile
##########
@@ -1,32 +1,34 @@
 FROM ubuntu:16.04
 
 RUN set -e && \
-  apt-get update && \
-  apt-get install -y \
-    software-properties-common \
-    wget \
-    ssh && \
-  add-apt-repository ppa:deadsnakes/ppa && \
-  apt-get update && \
-  apt-get -y install \
-    python2.7 \
-    python3.4 \
-    python3.5 \
-    python3.6 \
-    python-dev \
-    python2.7-dev \
-    python3.4-dev \
-    python3.5-dev \
-    python3.6-dev \
-    pypy \
-    python-pip
+    apt-get update && \
+    apt-get install -y \
+      software-properties-common \
+      wget \
+      ssh && \
+    add-apt-repository ppa:deadsnakes/ppa && \
+    apt-get update && \
+    apt-get -y install \
+      python2.7 \
+      python3.4 \
+      python3.5 \
+      python3.6 \
+      python-dev \
+      python2.7-dev \
+      python3.4-dev \
+      python3.5-dev \
+      python3.6-dev \
+      pypy \
+      python-pip
 
 RUN set -e && \
-  pip install tox \
-    mock \
-    lockfile \
-    coverage
+    pip install --no-cache-dir tox \
+      mock \
+      lockfile \
+      coverage
 
 COPY . /libcloud
+
 WORKDIR /libcloud
-CMD tox -e py2.7,pypypy,py3.4,py3.5,py3.6,lint
+
+CMD ["tox", "-e", "py2.7", "pypypy", "py3.4", "py3.5", "py3.6", "lint"]

Review comment:
       This is my fault, I have n’t tested it because of time.
   




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org