Merge pull request #2156 from docker/3.5.1-release

3.5.1 release
This commit is contained in:
Joffrey F 2018-10-17 15:03:27 -07:00 committed by GitHub
commit 7cc0a1b6eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 75 additions and 50 deletions

View File

@ -465,7 +465,7 @@ class ContainerApiMixin(object):
dns_opt (:py:class:`list`): Additional options to be added to the dns_opt (:py:class:`list`): Additional options to be added to the
container's ``resolv.conf`` file container's ``resolv.conf`` file
dns_search (:py:class:`list`): DNS search domains. dns_search (:py:class:`list`): DNS search domains.
extra_hosts (dict): Addtional hostnames to resolve inside the extra_hosts (dict): Additional hostnames to resolve inside the
container, as a mapping of hostname to IP address. container, as a mapping of hostname to IP address.
group_add (:py:class:`list`): List of additional group names and/or group_add (:py:class:`list`): List of additional group names and/or
IDs that the container process will run as. IDs that the container process will run as.
@ -765,16 +765,16 @@ class ContainerApiMixin(object):
Args: Args:
container (str): The container to get logs from container (str): The container to get logs from
stdout (bool): Get ``STDOUT`` stdout (bool): Get ``STDOUT``. Default ``True``
stderr (bool): Get ``STDERR`` stderr (bool): Get ``STDERR``. Default ``True``
stream (bool): Stream the response stream (bool): Stream the response. Default ``False``
timestamps (bool): Show timestamps timestamps (bool): Show timestamps. Default ``False``
tail (str or int): Output specified number of lines at the end of tail (str or int): Output specified number of lines at the end of
logs. Either an integer of number of lines or the string logs. Either an integer of number of lines or the string
``all``. Default ``all`` ``all``. Default ``all``
since (datetime or int): Show logs since a given datetime or since (datetime or int): Show logs since a given datetime or
integer epoch (in seconds) integer epoch (in seconds)
follow (bool): Follow log output follow (bool): Follow log output. Default ``False``
until (datetime or int): Show logs that occurred before the given until (datetime or int): Show logs that occurred before the given
datetime or integer epoch (in seconds) datetime or integer epoch (in seconds)

View File

@ -253,16 +253,16 @@ class Container(Model):
generator you can iterate over to retrieve log output as it happens. generator you can iterate over to retrieve log output as it happens.
Args: Args:
stdout (bool): Get ``STDOUT`` stdout (bool): Get ``STDOUT``. Default ``True``
stderr (bool): Get ``STDERR`` stderr (bool): Get ``STDERR``. Default ``True``
stream (bool): Stream the response stream (bool): Stream the response. Default ``False``
timestamps (bool): Show timestamps timestamps (bool): Show timestamps. Default ``False``
tail (str or int): Output specified number of lines at the end of tail (str or int): Output specified number of lines at the end of
logs. Either an integer of number of lines or the string logs. Either an integer of number of lines or the string
``all``. Default ``all`` ``all``. Default ``all``
since (datetime or int): Show logs since a given datetime or since (datetime or int): Show logs since a given datetime or
integer epoch (in seconds) integer epoch (in seconds)
follow (bool): Follow log output follow (bool): Follow log output. Default ``False``
until (datetime or int): Show logs that occurred before the given until (datetime or int): Show logs that occurred before the given
datetime or integer epoch (in seconds) datetime or integer epoch (in seconds)
@ -558,7 +558,7 @@ class ContainerCollection(Collection):
environment (dict or list): Environment variables to set inside environment (dict or list): Environment variables to set inside
the container, as a dictionary or a list of strings in the the container, as a dictionary or a list of strings in the
format ``["SOMEVARIABLE=xxx"]``. format ``["SOMEVARIABLE=xxx"]``.
extra_hosts (dict): Addtional hostnames to resolve inside the extra_hosts (dict): Additional hostnames to resolve inside the
container, as a mapping of hostname to IP address. container, as a mapping of hostname to IP address.
group_add (:py:class:`list`): List of additional group names and/or group_add (:py:class:`list`): List of additional group names and/or
IDs that the container process will run as. IDs that the container process will run as.

View File

@ -64,9 +64,9 @@ class Image(Model):
Get a tarball of an image. Similar to the ``docker save`` command. Get a tarball of an image. Similar to the ``docker save`` command.
Args: Args:
chunk_size (int): The number of bytes returned by each iteration chunk_size (int): The generator will return up to that much data
of the generator. If ``None``, data will be streamed as it is per iteration, but may return less. If ``None``, data will be
received. Default: 2 MB streamed as it is received. Default: 2 MB
Returns: Returns:
(generator): A stream of raw archive data. (generator): A stream of raw archive data.

View File

@ -42,7 +42,7 @@ class Service(Model):
``label``, and ``desired-state``. ``label``, and ``desired-state``.
Returns: Returns:
(:py:class:`list`): List of task dictionaries. :py:class:`list`: List of task dictionaries.
Raises: Raises:
:py:class:`docker.errors.APIError` :py:class:`docker.errors.APIError`
@ -103,7 +103,8 @@ class Service(Model):
integer or ``'all'`` to output all log lines. integer or ``'all'`` to output all log lines.
Default: ``all`` Default: ``all``
Returns (generator): Logs for the service. Returns:
generator: Logs for the service.
""" """
is_tty = self.attrs['Spec']['TaskTemplate']['ContainerSpec'].get( is_tty = self.attrs['Spec']['TaskTemplate']['ContainerSpec'].get(
'TTY', False 'TTY', False
@ -118,7 +119,7 @@ class Service(Model):
replicas (int): The number of containers that should be running. replicas (int): The number of containers that should be running.
Returns: Returns:
``True``if successful. bool: ``True`` if successful.
""" """
if 'Global' in self.attrs['Spec']['Mode'].keys(): if 'Global' in self.attrs['Spec']['Mode'].keys():
@ -134,7 +135,7 @@ class Service(Model):
Force update the service even if no changes require it. Force update the service even if no changes require it.
Returns: Returns:
``True``if successful. bool: ``True`` if successful.
""" """
return self.update(force_update=True, fetch_current_spec=True) return self.update(force_update=True, fetch_current_spec=True)
@ -206,7 +207,7 @@ class ServiceCollection(Collection):
containers. containers.
Returns: Returns:
(:py:class:`Service`) The created service. :py:class:`Service`: The created service.
Raises: Raises:
:py:class:`docker.errors.APIError` :py:class:`docker.errors.APIError`
@ -228,7 +229,7 @@ class ServiceCollection(Collection):
into the output. into the output.
Returns: Returns:
(:py:class:`Service`): The service. :py:class:`Service`: The service.
Raises: Raises:
:py:class:`docker.errors.NotFound` :py:class:`docker.errors.NotFound`
@ -253,7 +254,7 @@ class ServiceCollection(Collection):
Default: ``None``. Default: ``None``.
Returns: Returns:
(list of :py:class:`Service`): The services. list of :py:class:`Service`: The services.
Raises: Raises:
:py:class:`docker.errors.APIError` :py:class:`docker.errors.APIError`

View File

@ -1,2 +1,2 @@
version = "3.5.0" version = "3.5.1"
version_info = tuple([int(d) for d in version.split("-")[0].split(".")]) version_info = tuple([int(d) for d in version.split("-")[0].split(".")])

View File

@ -145,6 +145,7 @@ Configuration types
.. autoclass:: Privileges .. autoclass:: Privileges
.. autoclass:: Resources .. autoclass:: Resources
.. autoclass:: RestartPolicy .. autoclass:: RestartPolicy
.. autoclass:: RollbackConfig
.. autoclass:: SecretReference .. autoclass:: SecretReference
.. autoclass:: ServiceMode .. autoclass:: ServiceMode
.. autoclass:: SwarmExternalCA .. autoclass:: SwarmExternalCA

View File

@ -1,10 +1,22 @@
Change log Change log
========== ==========
3.5.1
-----
[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/54?closed=1)
### Miscellaneous
* Bumped version of `pyOpenSSL` in `requirements.txt` and `setup.py` to prevent
installation of a vulnerable version
* Docs fixes
3.5.0 3.5.0
----- -----
[List of PRs / issues for this release](https://github.com/docker/docker-py/milestone=53?closed=1) [List of PRs / issues for this release](https://github.com/docker/docker-py/milestone/53?closed=1)
### Deprecation warning ### Deprecation warning

View File

@ -30,7 +30,10 @@ Service objects
The raw representation of this object from the server. The raw representation of this object from the server.
.. automethod:: force_update
.. automethod:: logs
.. automethod:: reload .. automethod:: reload
.. automethod:: remove .. automethod:: remove
.. automethod:: scale
.. automethod:: tasks .. automethod:: tasks
.. automethod:: update .. automethod:: update

View File

@ -10,7 +10,7 @@ idna==2.5
ipaddress==1.0.18 ipaddress==1.0.18
packaging==16.8 packaging==16.8
pycparser==2.17 pycparser==2.17
pyOpenSSL==17.0.0 pyOpenSSL==18.0.0
pyparsing==2.2.0 pyparsing==2.2.0
pypiwin32==219; sys_platform == 'win32' and python_version < '3.6' pypiwin32==219; sys_platform == 'win32' and python_version < '3.6'
pypiwin32==223; sys_platform == 'win32' and python_version >= '3.6' pypiwin32==223; sys_platform == 'win32' and python_version >= '3.6'

View File

@ -22,7 +22,15 @@ echo "##> Removing stale build files"
rm -rf ./build || exit 1 rm -rf ./build || exit 1
echo "##> Tagging the release as $VERSION" echo "##> Tagging the release as $VERSION"
git tag $VERSION || exit 1 git tag $VERSION
if [[ $? != 0 ]]; then
head_commit=$(git show --pretty=format:%H HEAD)
tag_commit=$(git show --pretty=format:%H $VERSION)
if [[ $head_commit != $tag_commit ]]; then
echo "ERROR: tag already exists, but isn't the current HEAD"
exit 1
fi
fi
if [[ $2 == 'upload' ]]; then if [[ $2 == 'upload' ]]; then
echo "##> Pushing tag to github" echo "##> Pushing tag to github"
git push $GITHUB_REPO $VERSION || exit 1 git push $GITHUB_REPO $VERSION || exit 1
@ -30,10 +38,10 @@ fi
pandoc -f markdown -t rst README.md -o README.rst || exit 1 pandoc -f markdown -t rst README.md -o README.rst || exit 1
echo "##> sdist & wheel"
python setup.py sdist bdist_wheel
if [[ $2 == 'upload' ]]; then if [[ $2 == 'upload' ]]; then
echo "##> Uploading sdist to pypi" echo '##> Uploading sdist to pypi'
python setup.py sdist bdist_wheel upload twine upload dist/docker-$VERSION*
else
echo "##> sdist & wheel"
python setup.py sdist bdist_wheel
fi fi

View File

@ -40,7 +40,7 @@ extras_require = {
# https://github.com/pypa/pip/issues/4391). Once that's fixed, instead of # https://github.com/pypa/pip/issues/4391). Once that's fixed, instead of
# installing the extra dependencies, install the following instead: # installing the extra dependencies, install the following instead:
# 'requests[security] >= 2.5.2, != 2.11.0, != 2.12.2' # 'requests[security] >= 2.5.2, != 2.11.0, != 2.12.2'
'tls': ['pyOpenSSL>=0.14', 'cryptography>=1.3.4', 'idna>=2.0.0'], 'tls': ['pyOpenSSL>=17.5.0', 'cryptography>=1.3.4', 'idna>=2.0.0'],
} }