Unverified Kaydet (Commit) 7cc0a1b6 authored tarafından Joffrey F's avatar Joffrey F Kaydeden (comit) GitHub

Merge pull request #2156 from docker/3.5.1-release

3.5.1 release
...@@ -465,7 +465,7 @@ class ContainerApiMixin(object): ...@@ -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): ...@@ -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)
......
...@@ -253,16 +253,16 @@ class Container(Model): ...@@ -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): ...@@ -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.
......
...@@ -64,9 +64,9 @@ class Image(Model): ...@@ -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.
......
...@@ -42,7 +42,7 @@ class Service(Model): ...@@ -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`
...@@ -84,26 +84,27 @@ class Service(Model): ...@@ -84,26 +84,27 @@ class Service(Model):
def logs(self, **kwargs): def logs(self, **kwargs):
""" """
Get log stream for the service. Get log stream for the service.
Note: This method works only for services with the ``json-file`` Note: This method works only for services with the ``json-file``
or ``journald`` logging drivers. or ``journald`` logging drivers.
Args: Args:
details (bool): Show extra details provided to logs. details (bool): Show extra details provided to logs.
Default: ``False`` Default: ``False``
follow (bool): Keep connection open to read logs as they are follow (bool): Keep connection open to read logs as they are
sent by the Engine. Default: ``False`` sent by the Engine. Default: ``False``
stdout (bool): Return logs from ``stdout``. Default: ``False`` stdout (bool): Return logs from ``stdout``. Default: ``False``
stderr (bool): Return logs from ``stderr``. Default: ``False`` stderr (bool): Return logs from ``stderr``. Default: ``False``
since (int): UNIX timestamp for the logs staring point. since (int): UNIX timestamp for the logs staring point.
Default: 0 Default: 0
timestamps (bool): Add timestamps to every log line. timestamps (bool): Add timestamps to every log line.
tail (string or int): Number of log lines to be returned, tail (string or int): Number of log lines to be returned,
counting from the current end of the logs. Specify an counting from the current end of the logs. Specify an
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): ...@@ -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): ...@@ -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): ...@@ -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): ...@@ -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): ...@@ -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`
......
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(".")])
...@@ -145,6 +145,7 @@ Configuration types ...@@ -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
......
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
......
...@@ -30,7 +30,10 @@ Service objects ...@@ -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
...@@ -10,7 +10,7 @@ idna==2.5 ...@@ -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'
......
...@@ -22,7 +22,15 @@ echo "##> Removing stale build files" ...@@ -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 ...@@ -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 fi
echo "##> sdist & wheel" \ No newline at end of file
python setup.py sdist bdist_wheel
fi
...@@ -40,7 +40,7 @@ extras_require = { ...@@ -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'],
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment