We joyfully announce the release of: zun 4.0.0: OpenStack Containers service This release is part of the train 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. Changes in zun 3.0.0.0rc1..4.0.0 -------------------------------- 2adf6b8e Handle GET /containers/<UUID> when host is down cdcf4687 Bump python-zunclient to 3.5.0 87a0764c Fetch docker logs in post run cfdec2c2 Update install guide for placement integration cfd06f05 Release notes for placement integration d7df13de Revert "Add kolla-ansible Zun job to the gate" ec96c5e9 Exponential backoff on retrying create network 7b3b1c5e Claim container allocation in placement b8af5ebc Compute node report to placement 9d03d042 [train][goal] Define new 'zun-tempest-docker-sql-api-ipv6-only' job 1d35176d Fix zun start in devstack IPV6 81561170 Add a job for testing zun standalone deployment 31747060 Increase exec timeout to 15 seconds 67925c9c Remove the unnecessary glance_store config e205780b Fix container status on create 935639c1 Fix format issue on private registry doc 0fb82e70 Use placement for unified resource management 35f56232 Update api-ref location a4dad10e Add 'tty' and 'stdin' to capsule 663f4840 Add 'tty' property to container 8f9cb35f Add Python 3 Train unit tests d614126d Blacklist sphinx 2.1.0 (autodoc bug) 607a2a2b Add Python 3 Train unit tests 2c81fc2a Fix invalid assertIsNone state 4260d21b Ping api version for fullstack test bcd102c9 Endpoint type for glanceclient 009424db Switch to the new canonical constraints URL on master 9dcdbecb Introduce fullstack tests 4cc1098c Allow force delete a 'DELETING' container aee32d94 Add 'region_name' to cinder client config d3d4b169 Add 'region_name' to neutron client config 6e307cc2 Sync Sphinx requirement bb7ba49c Support exposing ports in capsule - API 20ad7bbe Support exposing ports in capsule - driver eed97918 Add 'init_containers' field to capsule 8d6ca1ed Add 'finish_time' to container action 8ce2a4f3 Record action finish fdf99ddc Fix missing print format 28703c73 api-ref: add missing parameters for container 56383590 Skip tempest jobs on api-ref changes 125f2a25 api-ref: add API reference for capsule 5f2e4a5a api-ref: update container sample request/response 37ba0592 Remove get_cpu_used from container driver 587a273f Fix a TypeError on _get_network_info cb334460 Fix requirement job 9776a098 Refactor get_available_resources d82168fe Account resource requests of init containers ed14667f Don't limit cpu/memory on capsule container 0cb61409 Allow overcommit of cpu resource in docker 07e5f01a Skip image validation if failed d62f9438 Trivial: fix a format issue in api history docs b00bba24 Disable image validation 6aa0179d Add remote_ip_prefix on security group rule 4f93b069 Add kolla-ansible Zun job to the gate 08fe0774 Remove etcd db backend 271ca60c Remove etcd devstack config 39f5dacc Remove etcd job from gate 3da61dd1 Replace git.openstack.org URLs with opendev.org URLs 56a589ac Trivial fix: rename instance_uuid to container_uuid b3d19497 OpenDev Migration Patch ad67715d Update task state in context manager 92057109 Skip populating container's state on tasks 000cb719 Dropping the py35 testing fe6f9e7a Use ISO8601 format for timestamp fields f553fadf Refactor the code of API controller/view 1b776319 Add middleware generated request_id to context 0b4617e2 Fix an AttributeError on rebuild 570fb144 Require admin privilege to retrieve some fields b2c812f4 Force image pull policy to always b53d197f Support 'name' field in capsule's container f18c7d4d Check key exist before retrieving value badbb292 Add zun's technical vision reflection 173173e7 Add validation for capsule template 5af5601f Move 'check_capsule_template' to capsule.py 7f25f0ee Allow 'resources' to be empty dict in capsule 06f563db Allow imagePullPolicy to be upper case 983cd1e9 Fix lower-constraint deps handling 9a71eed1 Update master for stable/stein 6ee2f978 Pass kwargs to exception to get better formatted error message 47f9fb16 Add the 'containers' field back to capsule 24bc74f8 Fix init container in capsule 1f868534 Fix issue on deleting cinder volume ca85190e Fix issue of sharing volume across containers acbf5329 Fix refresh in VolumeMapping object d15d67cd Fix 'container' field in VolumeMapping object d5faacb3 Delete capsule volumes properly dd933447 Fix capsule volume attach Diffstat (except docs and test files) ------------------------------------- .gitignore | 4 - .gitreview | 2 +- .zuul.yaml | 99 +- README.rst | 4 +- api-ref/source/capsules.inc | 388 ++ api-ref/source/containers.inc | 37 +- api-ref/source/index.rst | 1 + api-ref/source/parameters.yaml | 390 +- api-ref/source/samples/capsule-create-req.json | 76 + api-ref/source/samples/capsule-create-resp.json | 67 + api-ref/source/samples/capsule-get-all-resp.json | 96 + api-ref/source/samples/capsule-show-resp.json | 89 + .../source/samples/container-action-get-resp.json | 7 +- .../samples/container-actions-list-resp.json | 6 +- api-ref/source/samples/container-create-req.json | 8 +- api-ref/source/samples/container-create-resp.json | 24 +- api-ref/source/samples/container-get-all-resp.json | 12 +- api-ref/source/samples/container-rename-resp.json | 102 +- api-ref/source/samples/container-show-resp.json | 12 +- api-ref/source/samples/container-update-resp.json | 57 +- api-ref/source/samples/service-get-resp.json | 6 +- devstack/files/debs/zun | 2 + devstack/files/rpms/zun | 2 + devstack/lib/zun | 69 +- devstack/settings | 6 +- lower-constraints.txt | 9 +- playbooks/fullstack/post.yaml | 3 + playbooks/fullstack/run.yaml | 5 + playbooks/zun-tempest-base/post.yaml | 14 +- .../placement-integration-d701f64c584981d6.yaml | 23 + releasenotes/source/index.rst | 1 + releasenotes/source/stein.rst | 6 + requirements.txt | 11 +- roles/fetch_docker_log/tasks/main.yaml | 11 + setup.cfg | 3 +- specs/kuryr-integration.rst | 4 +- specs/zun-api-validation.rst | 2 +- test-requirements.txt | 1 + tox.ini | 19 +- zun/api/controllers/v1/capsules.py | 104 +- zun/api/controllers/v1/containers.py | 69 +- zun/api/controllers/v1/schemas/containers.py | 1 + zun/api/controllers/v1/schemas/parameter_types.py | 9 +- zun/api/controllers/v1/views/actions_view.py | 71 + zun/api/controllers/v1/views/capsules_view.py | 16 +- zun/api/controllers/v1/views/containers_view.py | 1 + zun/api/controllers/v1/views/services_view.py | 47 + zun/api/controllers/v1/zun_services.py | 2 + zun/api/controllers/versions.py | 7 +- zun/api/hooks.py | 3 + zun/api/http_error.py | 2 +- zun/api/rest_api_version_history.rst | 41 +- zun/common/clients.py | 40 +- zun/common/consts.py | 15 +- zun/common/exception.py | 129 +- zun/common/keystone.py | 9 + zun/common/policies/capsule.py | 36 +- zun/common/policies/container.py | 97 +- zun/common/policies/image.py | 6 +- zun/common/quota.py | 2 +- zun/common/utils.py | 127 +- zun/compute/api.py | 8 +- zun/compute/compute_node_tracker.py | 167 +- zun/compute/manager.py | 504 +-- zun/compute/provider_tree.py | 680 ++++ zun/conf/__init__.py | 2 + zun/conf/api.py | 2 +- zun/conf/cinder_client.py | 3 + zun/conf/compute.py | 168 +- zun/conf/container_driver.py | 2 +- zun/conf/database.py | 18 +- zun/conf/netconf.py | 1 - zun/conf/neutron_client.py | 3 + zun/conf/placement_client.py | 53 + zun/conf/scheduler.py | 19 + zun/container/docker/driver.py | 139 +- zun/container/driver.py | 202 +- zun/db/api.py | 9 +- zun/db/etcd/api.py | 1352 ------- zun/db/etcd/models.py | 463 --- .../versions/b2bda272f4dd_add_tty_to_container.py | 33 + .../d502ce8fb705_add_rp_uuid_to_compute_node.py | 59 + zun/db/sqlalchemy/api.py | 39 +- zun/db/sqlalchemy/models.py | 2 + zun/network/kuryr_network.py | 4 +- zun/network/neutron.py | 3 +- zun/objects/__init__.py | 3 + zun/objects/compute_node.py | 4 +- zun/objects/container.py | 46 +- zun/objects/container_action.py | 25 +- zun/objects/fields.py | 12 +- zun/objects/quota.py | 6 +- zun/objects/quota_class.py | 6 +- zun/objects/request_group.py | 48 + zun/objects/volume.py | 23 + zun/objects/volume_mapping.py | 14 +- zun/scheduler/client.py | 37 - zun/scheduler/client/__init__.py | 0 zun/scheduler/client/query.py | 95 + zun/scheduler/client/report.py | 2294 +++++++++++ zun/scheduler/driver.py | 6 +- zun/scheduler/filter_scheduler.py | 87 +- zun/scheduler/host_state.py | 60 + zun/scheduler/request_filter.py | 46 + zun/scheduler/utils.py | 412 ++ .../unit/api/controllers/v1/test_containers.py | 25 +- .../unit/compute/test_compute_node_tracker.py | 3 +- .../unit/container/docker/test_docker_driver.py | 85 +- .../{test_client.py => client/test_query.py} | 35 +- 141 files changed, 12809 insertions(+), 2781 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 8c74bc66..9ca66959 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7 +7 @@ eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT -keystonemiddleware>=4.17.0 # Apache-2.0 +keystonemiddleware>=4.18.0 # Apache-2.0 @@ -10 +9,0 @@ psutil>=3.2.2 # BSD -python-etcd>=0.4.3 # MIT License @@ -24 +23 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 -oslo.versionedobjects>=1.31.2 # Apache-2.0 +oslo.versionedobjects>=1.35.0 # Apache-2.0 @@ -26 +25 @@ oslo.context>=2.19.2 # Apache-2.0 -oslo.utils>=3.33.0 # Apache-2.0 +oslo.utils>=3.37.0 # Apache-2.0 @@ -30,0 +30,2 @@ os-brick>=2.2.0 # Apache-2.0 +os-resource-classes>=0.1.0 # Apache-2.0 +os-traits>=0.15.0 # Apache-2.0 @@ -35,0 +37,2 @@ neutron-lib>=1.13.0 # Apache-2.0 +retrying>=1.3.3 # Apache-2.0 +tenacity>=4.9.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 152b46dc..333a9057 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -21,0 +22 @@ Pygments>=2.2.0 # BSD license +python-zunclient>=3.5.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org