Upgrade from docker-py to docker

The pypi package 'docker-py' [1] has been renamed to 'docker' [2].
It is better to move to the new 'docker' package because the old
package will be deprecated and all the new features will go into
the new package only.

Package 'docker' has been added to requirements [3]. The old
package 'docker-py' is still allowed to be in the global requirements
during the transition period but it should be removed after all or
most of the projects finsih the migration.

[1] https://pypi.python.org/pypi/docker-py
[2] https://pypi.python.org/pypi/docker
[3] https://review.openstack.org/#/c/423715/

Change-Id: I3ffd8bb6461e8b7edacc5e833754f00c4249b854
This commit is contained in:
Hongbin Lu 2017-06-20 22:14:03 +00:00
parent 2627e3c009
commit 7e2486c3d9
5 changed files with 12 additions and 12 deletions

View File

@ -21,7 +21,7 @@ RUN /bin/true
{{ macros.install_packages(dind_packages | customizable("packages")) }}
{% set dind_pip_packages = [
'docker-py'
'docker'
] %}
RUN {{ macros.install_pip(dind_pip_packages | customizable("pip_packages"), constraints = false) }}

View File

@ -132,7 +132,7 @@ class DockerTask(task.Task):
if self._dc is not None:
return self._dc
docker_kwargs = self.docker_kwargs.copy()
self._dc = docker.Client(version='auto', **docker_kwargs)
self._dc = docker.APIClient(version='auto', **docker_kwargs)
return self._dc

View File

@ -58,7 +58,7 @@ class TasksTest(base.TestCase):
self.imageChild.path = self.useFixture(fixtures.TempDir()).path
@mock.patch.dict(os.environ, clear=True)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_push_image(self, mock_client):
self.dc = mock_client
pusher = build.PushTask(self.conf, self.image)
@ -67,7 +67,7 @@ class TasksTest(base.TestCase):
self.image.canonical_name, stream=True, insecure_registry=True)
@mock.patch.dict(os.environ, clear=True)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_build_image(self, mock_client):
self.dc = mock_client
push_queue = mock.Mock()
@ -82,7 +82,7 @@ class TasksTest(base.TestCase):
self.assertTrue(builder.success)
@mock.patch.dict(os.environ, clear=True)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_build_image_with_build_arg(self, mock_client):
self.dc = mock_client
build_args = {
@ -103,7 +103,7 @@ class TasksTest(base.TestCase):
@mock.patch.dict(os.environ, {'http_proxy': 'http://FROM_ENV:8080'},
clear=True)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_build_arg_from_env(self, mock_client):
push_queue = mock.Mock()
self.dc = mock_client
@ -122,7 +122,7 @@ class TasksTest(base.TestCase):
@mock.patch.dict(os.environ, {'http_proxy': 'http://FROM_ENV:8080'},
clear=True)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_build_arg_precedence(self, mock_client):
self.dc = mock_client
build_args = {
@ -141,7 +141,7 @@ class TasksTest(base.TestCase):
self.assertTrue(builder.success)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
@mock.patch('requests.get')
def test_requests_get_timeout(self, mock_get, mock_client):
self.dc = mock_client
@ -162,7 +162,7 @@ class TasksTest(base.TestCase):
self.assertFalse(builder.success)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
@mock.patch('requests.get')
@mock.patch('shutil.rmtree')
@mock.patch('shutil.copyfile')
@ -192,7 +192,7 @@ class TasksTest(base.TestCase):
else:
self.assertIsNotNone(get_result)
@mock.patch('docker.Client')
@mock.patch('docker.APIClient')
def test_followups_docker_image(self, mock_client):
self.imageChild.source = {
'source': 'http://fake/source',

View File

@ -2,7 +2,7 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
pbr!=2.1.0,>=2.0.0 # Apache-2.0
docker-py>=1.8.1 # Apache-2.0
docker>=2.0.0 # Apache-2.0
Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
gitdb>=0.6.4 # BSD License (3 clause)
GitPython>=1.0.1 # BSD License (3 clause)

View File

@ -151,7 +151,7 @@ function setup_ansible {
mkdir /tmp/kolla
# TODO(SamYaple): Move to virtualenv
sudo -H pip install -U "ansible>=2" "docker-py>=1.6.0" "python-openstackclient" "python-neutronclient"
sudo -H pip install -U "ansible>=2" "docker>=2.0.0" "python-openstackclient" "python-neutronclient"
detect_distro
setup_inventory