We are stoked to announce the release of: zun 6.0.0: OpenStack Containers service This release is part of the victoria release series. The source is available from: https://opendev.org/openstack/zun Download the package from: https://tarballs.openstack.org/zun/ Please report issues through: https://bugs.launchpad.net/zun/+bugs For more details, please see below. 6.0.0 ^^^^^ Prelude ******* Introduce a CNI plugin for docker. The new CNI plugin will eventually replace kuryr-libnetwork (which is the current network plugin Zun is currently using for docker). New Features ************ * Introduce a CNI plugin for docker. In before, Zun was using libnetwork as the networking model for docker containers. Starting from this release, Zun introduces an alternative CNI plugin which implements the CNI networking model for docker containers. The new CNI plugin will become the default network plugin and the old libnetwork plugin will be deprecated. Upgrade Notes ************* * Deployers who are choosing CNI plugin don't need to deploy kuryr- libnetwork and etcd. Changes in zun 5.0.0..6.0.0 --------------------------- 40bf033a Add release note for CNI plugin of docker. 25ee5972 Introduce CNI network driver for docker 49ab5efe Populate container command and entrypoint 14a8a771 Reduce one neutron API call b7b8fcd5 Several fixes to unblock the gate ce0e2c6c Deal with subnet without gateway in CNI 5fe1dec7 Use importlib to take place of im module 40416bd2 Remove mox3 from lower-constraints.txt 0a3a763e api-ref: fix wrong naming in /execute 994359ea Make volume wait timeout configurable b77de2a8 Dep's should be restricted by upper-constraints 84b27720 Add kuryr-libnetwork as a required dependency 5d9e042a Handle missing of 'networks' stats 05d55ec9 Refactor kuryr libnetwork code 9f6fd3f5 Fix mock name for capsule ut 2905c488 Fix ovs hybrid plug in zun cni 52427d61 requirements: Drop os-testr 7f5d147c Rename network_api to network_driver de6d7e08 Pick up cafile from keystone_auth 0bcfcd97 Use uwsgi binary from path 9b9bbfe6 Remount container volume on host reboot deb9ce4e Always reset CONF when starting the wsgi app 90f120be Stop to use the __future__ module. 895d211a Fix init container status - docker ef6b875f Fix capsule's container status fd28742b Switch to newer openstackdocstheme and reno versions 4060c4b0 Add fullstack tests for container with volumes 42b7fb8b tox: Keeping going with docs 0733804e Resolve error when create container with bind volume 4f480766 Remove python_version>='3.4' on doc/requirements.txt e863fccb Remove translation sections from setup.cfg 01767f36 Remove the unused coding style modules 8dd2b79c Fix hacking min version to 3.0.1 397eca92 [Part2]: Remove the six 68dd0e86 Monkey patch original current_thread _active 767b04b1 Add a /healthcheck URL b5150230 Remove six b54d5a92 Bump default tox env from py37 to py38 66094f60 Add py38 package metadata b764ae0c Add Python3 victoria unit tests aed4a926 Update master for stable/ussuri 721625c2 Clarify the wording of centos installation 1140e8ab Add Kata Containers to Zun installation guide 28d43f27 Update docker installation link 6746fe8e Fix a formatting issue on installation guide Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 2 +- api-ref/source/conf.py | 24 +- api-ref/source/containers.inc | 6 +- babel.cfg | 2 - contrib/nova-docker/nova/virt/zun/client.py | 11 +- contrib/nova-docker/nova/virt/zun/driver.py | 3 - devstack/lib/zun | 2 +- etc/zun/api-paste.ini | 12 +- etc/zun/zun-config-generator.conf | 1 + lower-constraints.txt | 43 ++-- ...uce-CNI-plugin-for-docker-07d6a78cd281a508.yaml | 17 ++ releasenotes/source/conf.py | 12 +- releasenotes/source/index.rst | 1 + releasenotes/source/ussuri.rst | 6 + requirements.txt | 15 +- setup.cfg | 16 +- test-requirements.txt | 6 +- tools/test-setup.sh | 4 +- tox.ini | 13 +- zun/__init__.py | 2 - zun/api/controllers/base.py | 4 +- zun/api/controllers/v1/capsules.py | 11 +- zun/api/controllers/v1/containers.py | 28 +-- zun/api/http_error.py | 4 +- zun/api/middleware/parsable_error.py | 4 +- zun/api/validation/validators.py | 3 +- zun/api/wsgi.py | 3 + zun/cmd/__init__.py | 6 + zun/cni/api.py | 8 +- zun/cni/binding/base.py | 12 +- zun/cni/binding/bridge.py | 23 +- zun/cni/cmd/cni.py | 6 +- zun/cni/daemon/service.py | 91 ++++---- zun/cni/plugins/zun_cni_registry.py | 94 ++++---- zun/cni/utils.py | 7 +- zun/common/clients.py | 10 +- zun/common/consts.py | 1 + zun/common/context.py | 3 +- zun/common/exception.py | 13 +- zun/common/short_id.py | 17 +- zun/common/utils.py | 38 ++-- zun/compute/api.py | 11 +- zun/compute/manager.py | 143 +++++++----- zun/conf/cni_daemon.py | 3 + zun/conf/compute.py | 5 + zun/conf/volume.py | 7 + zun/container/cri/driver.py | 3 + zun/container/docker/driver.py | 244 +++++++++------------ zun/container/docker/utils.py | 8 +- zun/container/driver.py | 3 - zun/container/os_capability/host_capability.py | 3 +- zun/db/sqlalchemy/alembic/env.py | 1 - zun/db/sqlalchemy/models.py | 2 +- zun/image/docker/driver.py | 12 +- zun/image/driver.py | 3 +- zun/image/glance/driver.py | 20 +- zun/network/cni_network.py | 192 ++++++++++++++++ zun/network/kuryr_network.py | 69 ++++-- zun/network/network.py | 38 ++-- zun/network/neutron.py | 12 +- zun/objects/container_action.py | 5 +- zun/objects/fields.py | 3 +- zun/objects/pci_device.py | 3 +- zun/objects/pci_device_pool.py | 3 +- zun/pci/devspec.py | 7 +- zun/pci/stats.py | 5 - zun/scheduler/client/report.py | 3 +- zun/scheduler/driver.py | 5 +- zun/scheduler/utils.py | 2 +- .../unit/api/controllers/v1/test_containers.py | 3 +- .../unit/container/docker/test_docker_driver.py | 37 +--- .../test_os_capability_linux.py | 4 +- zun/version.py | 2 - zun/volume/cinder_api.py | 6 +- zun/volume/cinder_workflow.py | 6 +- zun/volume/driver.py | 21 +- zun/websocket/websocketproxy.py | 5 +- 104 files changed, 1119 insertions(+), 815 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 0e3fdfdf..29a72028 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,3 +8,3 @@ futurist>=1.6.0 # Apache-2.0 -grpcio>=1.12.0 # Apache-2.0 -PyYAML>=3.12 # MIT -eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT +grpcio>=1.25.0 # Apache-2.0 +PyYAML>=3.13 # MIT +eventlet>=0.22.0 # MIT @@ -30 +30 @@ oslo.versionedobjects>=1.35.0 # Apache-2.0 -oslo.context>=2.19.2 # Apache-2.0 +oslo.context>=2.22.0 # Apache-2.0 @@ -32 +32 @@ oslo.utils>=3.37.0 # Apache-2.0 -oslo.db>=4.27.0 # Apache-2.0 +oslo.db>=4.44.0 # Apache-2.0 @@ -35 +35 @@ oslo.upgradecheck>=0.1.0 # Apache-2.0 -os-brick>=2.2.0 # Apache-2.0 +os-brick>=3.1.0 # Apache-2.0 @@ -39 +38,0 @@ os-vif>=1.15.1 # Apache-2.0 -six>=1.10.0 # MIT @@ -46 +45 @@ retrying>=1.3.3 # Apache-2.0 -tenacity>=4.9.0 # Apache-2.0 +tenacity>=6.0.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 346fb167..0eea9519 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -4,0 +5,2 @@ +# Hacking already pins down pep8, pyflakes and flake8 +hacking>=3.0.1,<3.1.0 # Apache-2.0 @@ -10 +11,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD -hacking>=3.0,<3.1.0 # Apache-2.0 @@ -13 +13,0 @@ osprofiler>=1.4.0 # Apache-2.0 -os-testr>=1.0.0 # Apache-2.0 @@ -19 +19 @@ testtools>=2.2.0 # MIT -stestr>=1.0.0 # Apache-2.0 +stestr>=2.0.0 # Apache-2.0