[release-announce] zun 3.0.0 (stein)

no-reply at openstack.org no-reply at openstack.org
Wed Apr 10 12:31:13 UTC 2019


We are overjoyed to announce the release of:

zun 3.0.0: OpenStack Containers service

This release is part of the stein release series.

The source is available from:

    https://git.openstack.org/cgit/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.

Changes in zun 2.1.0..3.0.0
---------------------------

3aa28b62 Fix issue on deleting cinder volume
0a119276 Fix issue of sharing volume across containers
78c8ab2d Fix refresh in VolumeMapping object
9adde15e Fix 'container' field in VolumeMapping object
5f340c99 Delete capsule volumes properly
47f16b93 Fix capsule volume attach
24f1d7f2 Update UPPER_CONSTRAINTS_FILE for stable/stein
48867246 Update .gitreview for stable/stein
dd6e3f5d Migrate legacy jobs to Ubuntu Bionic
0c63ec24 Fix the misspelling of "container"
8efb0c3f Add oslo.privsep to config-generator list
1b7feac6 Doc: run tempest tests without tox
7358119c Update json module to jsonutils
b5d46aba Fix parameters in _create_container_in_capsule
af15632d Avoid logging uuid on loading object attribute
9f03c3e9 Remove sandbox-related logic
a18ae456 Drop capsule data model in DB and objects
b8561266 Capsule: backward-compatible with legacy API version
588115b8 add python 3.7 unit test job
d0a79409 Consolidate Container and Capsule in compute
b54a91b0 Consolidate data model of Container and Capsule
51e07f9a Update the guide about API version bump
6023978a Set binding:host_id on creating/updating port
0589e16f Refactor the port update code
bb21f0e3 Remove unit test for etcd api
506f0e11 Handle invalid image name
38335064 Fix the misspelling of "available"
ced5e9e3 Add validation on network attach/detach
58218c1d Always reset task state to None
9ee214bf Fix incorrect process on init_container
82f15162 Fix a format issue on documentation
e09db8f0 Update rebuilding status in ApiLayer
f94a6a21 Fix the misspelling of "requests"
e304e831 Check task_status/container_state before saving to database
bcf8455d Pull image from registry
f6083000 Add registry_id to container
c88568d0 Support private registry - API layer
3c99f090 Encrypt registry password before persisting
31aa2fdf Support private registry - objects layer
f320089c Support private registry - DB layer
7dfb095a Add tests for cinder/neutron client
bf040c1a Reduce the number of calling container.save
e436634f Add enable_cpu_pinning to compute_node for etcd
880903e7 Get insecure option to decide how to access the client
3325c3db Make etcd job non-voting
617dc096 Set status after rebuilding a container
68105e53 Remove duplicated rebuild_status
36190c0a Avoid RPC call on healing a container
43c253f2 Skip healing container on missing container_id
fbbbc827 Support auth with docker registry
34b6187d Add support for default registry
6cb9c7e3 Fix hostname of docker image
80021a50 Add more test cases for image reference
5a0ef81d Document how to use private registry
a7418658 Fix image searching for private registry
50c58176 Make multinode job voting
344a6210 Populate default image driver in API layer
b8fbac31 Parse docker image name according to reference
2e8cd8b2 Import utils for parsing docker image
942603b4 Add more logging on network conflicting
0c741b24 Set 'enable_cpu_pinning' on creating node
d1d5dfe5 Allow setting quota of other tenants
a39b4f02 Add python3.6 in tox.ini
130371b3 Implement is_volume_deleted for Local volume
c0a17036 Handle the case that 'numactl' not installed
40b99c9d Use node's enable_cpu_pinning for scheduling
6d880e6f Add 'enable_cpu_pinning' to compute_node
70a23322 Implement a upgrade check for 'numactl'
c9d76396 Support cpuset and scheduler for cpuset
e51985e7 unify logging setup on zun
2c4afc82 Remove the unused admin_* config
1440b2ed Use python3 by default for tempest jobs
8f9fba6e Enable plugin in target branch
e4986026 Add pciutils to bindep.txt
10c567f5 Implement delete network
7232d0f6 Change openstack-dev to openstack-discuss
c8d1c087 Avoid using variable 'cur_host' before assignment
b73b7191 Support pre-downloading/uploading docker images
3de7feff Document CentOS installation
1bb99496 Add support for secure websocket connection
311d7d68 Update tls-proxy config
43552ddc Add missing ws seperator between words
008a96f8 Fix race condition on multinode
d7026ab1 Set capsule.host once it is running
54c42ccc Remove unused config for devstack job
5fe810a0 [Trivial Fix] modify spelling error of "resource"
4fbc34d4 Add a note on setting api version
280b09b7 Bump oslo.concurrency to 3.26.0
93ab0855 Remove unused file tools/cover.sh
4b0cf9aa Fix the status code of over quota response
9a13755c List system dependencies for running common tests
6ba99668 Fix the message formate in Base64Exception
7cc9500f Trivial fixes in upgrade check docs
f6daf3ed Expose 'host' field via image API
c90642c4 Add framework for zun-status upgrade check
6577abb9 Add job for checking the test coverage
a1c12fc3 Add a job to publish release notes
f543fdf1 Use template for lower constraints jobs
a156577f Handle network is already created in DB
6c031f8a Fix the deprecated rabbit config
8ea4e611 Query docker_root_dir from docker API
d71af9ea Handle docker data root doesn't exist
24b212e9 Use python-native api to get disk size
31e02d5b Fix a typo in the docstring
2f808257 Add the missing argument in CommandError
aad49b23 Add sample template for init containers
04a186ed Allow volume to be shared across capsule
1bb78daa Use volume uuid based mountpoint
3ce95424 Rename variable names from volume to volmap
0ac04cc1 Split volume_mapping table into two
09179193 Pass database model object to _add_filters
52dd2007 Rename 'volume_id' to 'cinder_volume_id'
0e67a696 Call detach with volume mapping object
78d56ee8 Fix an issue on container update
85f3f387 Add api-ref for quotas and quota_classes
007f518a Wait for cinder volume to be deleted
0ed42083 Refactor code for waiting volume available
94b68750 Don't unmount device twice
e2f04a48 Fix a docker internal error on server restart
b09f9a06 Bump api version to 1.26 in gate
7c96946d Rename QuotaExists to QuotaAlreadyExists
d610918a Encode injected file data (server-side)
8af77465 Add API controller for quotas and quota classes
dbaa9572 Encode/Decode archive file data
10419d39 Require mininum api version in gate
51e62ae4 Filter out the glance image with different tag
f8283731 Introduce QuotaEngine
5b9eb5ef enable RuntimeFilter
7bd16e19 Add test for update_claim
c2d7829e Add test for container_update
6177327a add python 3.6 unit test job
37871e80 Make Runtime work with capsule
91211a35 switch documentation job to new PTI
e7cb9e78 Remove image 'host' parameter from compute api
4a3b82ad import zuul job settings from project-config
eb9a2bff Add the init containers support for Capsule
04f3b9cb make "zun pull" support Glance uuid
44dc51f8 Support opening container's port
574bbc1a Prevent race condition on creating network
e3ec383e Rework Cinder volume multi-attach
72eac7c8 Add host to image table
9df85885 Add check_multiattach to Local volume driver
68119187 Use "server_id" to judge in cinder_api when detach
a1d45aeb Optimize container_rebuild
6b07db00 Opitimize exception when failed to update_claim
73a5eb52 Remove redundant call of container.save
8c734dcb Update reno for stable/rocky
545c3737 Optimize zun service update task
21ae28cc Support file injection on container


Diffstat (except docs and test files)
-------------------------------------

.gitreview                                         |   1 +
.zuul.yaml                                         |  44 +-
api-ref/source/containers.inc                      |   1 +
api-ref/source/hosts.inc                           |   2 +
api-ref/source/index.rst                           |   2 +
api-ref/source/parameters.yaml                     |  82 +++
api-ref/source/quota_classes.inc                   | 103 ++++
api-ref/source/quotas.inc                          | 176 ++++++
api-ref/source/samples/quota-classes-get-resp.json |   6 +
.../source/samples/quota-classes-update-req.json   |   6 +
.../source/samples/quota-classes-update-resp.json  |   6 +
.../source/samples/quotas-get-defaults-resp.json   |   6 +
api-ref/source/samples/quotas-get-resp.json        |  18 +
api-ref/source/samples/quotas-update-req.json      |   6 +
api-ref/source/samples/quotas-update-resp.json     |   6 +
bindep.txt                                         |  40 ++
contrib/vagrant/config/localrc                     |   8 +-
devstack/files/debs/zun                            |   1 +
devstack/files/rpms/zun                            |   1 +
devstack/lib/zun                                   |  47 +-
devstack/local.conf.sample                         |  11 +-
devstack/local.conf.subnode.sample                 |   6 +-
devstack/plugin.sh                                 |   2 +-
etc/zun/zun-config-generator.conf                  |   1 +
lower-constraints.txt                              |   6 +-
...d-upgrade-check-framework-4729fcb4ecd31221.yaml |  14 +
releasenotes/source/index.rst                      |   1 +
releasenotes/source/rocky.rst                      |   6 +
requirements.txt                                   |   6 +-
setup.cfg                                          |   4 +-
template/capsule/capsule-init-containers.yaml      |  25 +
tools/cover.sh                                     |  71 ---
tox.ini                                            |  21 +-
zun/api/controllers/v1/__init__.py                 |  32 +-
zun/api/controllers/v1/capsules.py                 | 205 ++++---
zun/api/controllers/v1/collection.py               |   4 +
zun/api/controllers/v1/containers.py               | 221 ++++++--
zun/api/controllers/v1/images.py                   |  17 +-
zun/api/controllers/v1/networks.py                 |  37 +-
zun/api/controllers/v1/quota_classes.py            |  57 ++
zun/api/controllers/v1/quotas.py                   |  88 +++
zun/api/controllers/v1/registries.py               | 219 ++++++++
zun/api/controllers/v1/schemas/containers.py       |  12 +-
zun/api/controllers/v1/schemas/images.py           |   9 -
zun/api/controllers/v1/schemas/parameter_types.py  |  41 ++
zun/api/controllers/v1/schemas/quota_classes.py    |  20 +
zun/api/controllers/v1/schemas/quotas.py           |  31 ++
zun/api/controllers/v1/schemas/registries.py       |  55 ++
zun/api/controllers/v1/views/capsules_view.py      |  31 +-
zun/api/controllers/v1/views/containers_view.py    |  10 +-
zun/api/controllers/v1/views/hosts_view.py         |   1 +
zun/api/controllers/v1/views/images_view.py        |   3 +-
zun/api/controllers/v1/views/registries_view.py    |  54 ++
zun/api/controllers/versions.py                    |  12 +-
zun/api/rest_api_version_history.rst               |  67 ++-
zun/cmd/status.py                                  |  68 +++
zun/cmd/wsproxy.py                                 |   3 +
zun/common/clients.py                              |   7 +
zun/common/consts.py                               |  15 +-
zun/common/crypt.py                                |  53 ++
zun/common/docker_image/__init__.py                |   0
zun/common/docker_image/digest.py                  |  59 ++
zun/common/docker_image/reference.py               | 121 ++++
zun/common/docker_image/regexp.py                  |  93 ++++
zun/common/exception.py                            |  73 ++-
zun/common/policies/__init__.py                    |   4 +-
zun/common/policies/network.py                     |  11 +
zun/common/policies/quota.py                       |   6 +-
zun/common/policies/registry.py                    |  91 +++
zun/common/quota.py                                | 613 +++++++++++++++++++++
zun/common/utils.py                                | 108 +++-
zun/compute/api.py                                 |  57 +-
zun/compute/claims.py                              |  46 +-
zun/compute/compute_node_tracker.py                |  30 +-
zun/compute/manager.py                             | 556 ++++++++-----------
zun/compute/rpcapi.py                              |  33 +-
zun/conf/__init__.py                               |   2 +
zun/conf/compute.py                                |   6 +-
zun/conf/container_driver.py                       |  10 -
zun/conf/docker.py                                 |   9 +
zun/conf/quota.py                                  |  99 ++++
zun/conf/scheduler.py                              |   1 +
zun/conf/utils.py                                  |   5 +
zun/conf/volume.py                                 |  12 +
zun/conf/websocket_proxy.py                        |   8 +
zun/container/docker/driver.py                     | 370 +++++++++----
zun/container/docker/host.py                       |   4 +-
zun/container/driver.py                            |  61 +-
zun/container/os_capability/host_capability.py     |  12 +-
.../os_capability/linux/os_capability_linux.py     |  17 +
zun/db/api.py                                      | 313 +++++++----
zun/db/etcd/models.py                              |   1 +
.../02134de8e7d3_add_exposed_ports_to_container.py |  37 ++
.../versions/157a0595e13e_drop_capsule_table.py    |  31 ++
.../1bc34e18180b_add_registry_id_to_container.py   |  36 ++
...c818a_add_enable_cpu_pinning_to_compute_node.py |  35 ++
.../2b129060baff_support_container_cpuset.py       |  38 ++
.../33cdd98bb9b2_split_volume_mapping_table.py     | 142 +++++
...53f_rename_volume_id_to_cinder_volume_id_in_.py |  35 ++
...8da7_convert_type_of_command_from_string_to_.py |   5 +-
...75afb32_add_init_containers_uuids_to_capsule.py |  36 ++
.../versions/5ffc1cabe6b4_add_registry_table.py    |  49 ++
.../versions/a019998b09b5_add_host_to_image.py     |  38 ++
...b54274a_add_contents_to_volume_mapping_table.py |  40 ++
...d73b72ab7cc6_add_container_type_to_container.py |  38 ++
zun/db/sqlalchemy/api.py                           | 359 ++++++++----
zun/db/sqlalchemy/models.py                        |  89 +--
zun/image/docker/driver.py                         |  42 +-
zun/image/driver.py                                |   2 +-
zun/image/glance/driver.py                         |   6 +-
zun/image/glance/utils.py                          |   8 +-
zun/network/kuryr_network.py                       | 205 ++++---
zun/network/neutron.py                             |  56 +-
zun/objects/__init__.py                            |  12 +-
zun/objects/capsule.py                             | 222 --------
zun/objects/compute_node.py                        |   4 +-
zun/objects/container.py                           | 315 ++++++++---
zun/objects/image.py                               |   6 +-
zun/objects/network.py                             |  27 +-
zun/objects/numa.py                                |  12 +-
zun/objects/registry.py                            | 156 ++++++
zun/objects/volume.py                              | 132 +++++
zun/objects/volume_mapping.py                      | 102 +++-
zun/scheduler/filters/cpuset_filter.py             |  58 ++
zun/scheduler/filters/runtime_filter.py            |   2 +-
zun/scheduler/host_state.py                        |   4 +
zun/servicegroup/zun_service_periodic.py           |   7 +-
.../unit/api/controllers/v1/test_containers.py     |  97 +++-
.../unit/api/controllers/v1/test_quota_classes.py  |  48 ++
.../unit/api/controllers/v1/test_registries.py     | 340 ++++++++++++
.../unit/common/docker_image/test_reference.py     | 164 ++++++
.../unit/compute/test_compute_node_tracker.py      |  72 +++
.../unit/container/docker/test_docker_driver.py    | 217 ++++----
.../unit/scheduler/filters/test_cpuset_filter.py   |  88 +++
.../unit/scheduler/filters/test_disk_filter.py     |   1 +
zun/volume/cinder_api.py                           |   5 +-
zun/volume/cinder_workflow.py                      |  66 ++-
zun/volume/driver.py                               | 130 ++++-
195 files changed, 9368 insertions(+), 5031 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index b4abac6a..8c74bc66 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,0 +9 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
+psutil>=3.2.2 # BSD
@@ -15 +16 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.concurrency>=3.25.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
@@ -20 +21 @@ oslo.policy>=1.30.0 # Apache-2.0
-oslo.privsep>=1.23.0 # Apache-2.0
+oslo.privsep>=1.32.0 # Apache-2.0
@@ -27,0 +29 @@ oslo.rootwrap>=5.8.0 # Apache-2.0
+oslo.upgradecheck>=0.1.0 # Apache-2.0






More information about the Release-announce mailing list