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
participants (1)
-
no-reply@openstack.org