We are chuffed to announce the release of:
openstack-cyborg 3.0.0: Distributed Acceleration Management as a Service
This release is part of the train release series.
The source is available from:
https://opendev.org/openstack/openstack-cyborg
Download the package from:
https://tarballs.openstack.org/cyborg/
For more details, please see below.
Changes in openstack-cyborg 2.0.0..3.0.0 ----------------------------------------
7e665ea Fix delete arq 403 failed and skip non-admin arq policy check 09a6aa2 Program FPGAs with oslo.privsep. 45ade8a Implement privsep boilerplate in cyborg. 2e694bc conductor writes device_profile update to db 38d6b40 Enable fake_driver by default 82fd155 Enable api v2 policy check 72df50f Fix v1 API. 477b4f9 remove rootwrap in cyborg 04bbd98 Blacklist eventlet 0.23.0,0.25.0 1bda697 [train][goal] Run 'cyborg-tempest-ipv6-only' job in gate a4a24be Fix arq api errors in delete and unbind d449232 bug fixing: let FPGA driver report correct traits when no SRIOV enabled 306b82e P8: Fix pep8 error in cyborg/tests and add post_mortem_debug.py ac4c4ea P7: Fix pep8 error in cyborg/objects and cyborg/image 369abe8 P6: Fix pep8 error in cyborg/agent and cyborg/db de4efde P5: Fix pep8 error in cyborg/accelerator 38119f6 python3 patch (including zuul config) dd965ff add cyborg-tempest job and remove cyborg-devstack job fdeceed Notify Nova when all ARQs are resolved for an instance. 369aa5e Make ResourceNotFound as NotFound exception bc24839 P9: Enable v2 API in devstack. 8c15a48 P8: Changes for programming. aea02c1 P7: Changes for ARQs and ExtARQs. 7175264 P6: Changes for device profiles. 4babaab P5.5: Additional changes to db layer. 2ec1a87 P5: Basic changes for API layer. 2f79769 Using str replace encode or decode 057f803 Fix placement report error in python3 f8c96e1 Remove the delete rc_fields in fake driver b61a6b7 Add driver_name to deployable reported by fake driver. 07efd62 Placement report c18731f Add Huawei Ascend driver 780ce43 bug fix: generate attach_handle query in DB session bf0e484 Update README.rst for cyborg e8a3803 P4: Fix pep8 error in cyborg/api 1e7561a P3: Fix pep8 error in cyborg/common and cyborg/conductor 03b7331 P2: Fix pep8 error in cyborg/conf and cyborg/cmd cc19e2d Fix pep8 error in cyborg/*.py and add Forbidden class f4758c9 enable branch selection in devstack installation d2a4c1d Fill "driver_name" field in Deployable object 33d8ffe Solve execute flake8 stuck in cyborg cbcb434 Fix docs gate issue ef5e307 fake driver bug fix 6583344 Add the fake driver 729d7dd Add serialization/deserialization for control_path.cpid_info 03fb1e5 Bug-fix in FPGA driver test case. 618967e fix cannot load 'stub' error for gpu discover 7a4c80e Add bindep support be36ee9 P4: Basic changes for objects layer. d582f73 P3: Changes for services. 1b3d968 P2: Changes for db layer, constants and exceptions. 16c6c37 Update api-ref location 9fa3d43 improve intel FPGA driver f86ab8d do not diff stub devices 5e7174f Remove old load fpga and gpu driver way 70aff88 P1: Disable old tests and add base for APIv2 tests. 9ca6134 Change attach_info, cpid_info from string to a dict. e3ed8db Fix re defination of GPU e8574bb Add AICHIP and GENERIC type in DB and obj 3725910 Add the new generic driver 945d8f4 Remove the old generic driver 1500136 Mailing lists change openstack-dev to openstack-discuss 75ecc3a Update json module to jsonutils 34f8c6a bug fix: deploy every cyborg components correctly 9dc398c Fix the section of enabled_drivers 9c1a1f9 Move to releases.openstack.org b8103b4 Sync Sphinx requirement 256d9d4 Dropping the py35 testing 0bc8ca6 Improve Intel sysinfo based FPGA driver 179bcd1 Fix auth config in "Install Cyborg from Source" e908282 Use opendev repository a74b995 OpenDev Migration Patch dd80572 add knob for OPAE install d4b83a1 Bug-fix: attach_type or control path type should be majuscule. f30066b Add deployables to api-ref bb56152 Fix Invalid fpgconfig options in driver.py 5e92c66 fix api context load failure for cyborg-api runs by uwsgi a94c3a9 Add cyborg driver development guide 470b232 Fix destroy DBReferenceError in driver_device.py 1a3db2b Replace openstack.org git:// URLs with https:// 947d828 Initial commit for cyborg api-ref cb58175 Update master for stable/stein
Diffstat (except docs and test files) -------------------------------------
.gitignore | 1 + .gitreview | 2 +- .zuul.yaml | 18 +- README.rst | 9 +- api-ref/source/conf.py | 90 + api-ref/source/index.rst | 11 + .../source/v1/accelerators.inc | 0 api-ref/source/v1/deployables.inc | 119 ++ api-ref/source/v1/index.rst | 22 + bindep.txt | 5 + cyborg/__init__.py | 3 - cyborg/accelerator/common/exception.py | 4 +- .../__init__.py => accelerator/common/utils.py} | 17 +- .../drivers/aichip}/__init__.py | 0 .../accelerator/drivers/aichip/huawei/__init__.py | 0 cyborg/accelerator/drivers/aichip/huawei/ascend.py | 120 ++ cyborg/accelerator/drivers/base.py | 79 - cyborg/accelerator/drivers/driver.py | 51 + cyborg/accelerator/drivers/fake.py | 93 + cyborg/accelerator/drivers/fpga/__init__.py | 41 - cyborg/accelerator/drivers/fpga/intel/driver.py | 55 +- cyborg/accelerator/drivers/fpga/intel/sysinfo.py | 230 ++- cyborg/accelerator/drivers/generic_driver.py | 80 - cyborg/accelerator/drivers/gpu/__init__.py | 42 - cyborg/accelerator/drivers/gpu/base.py | 6 +- cyborg/accelerator/drivers/gpu/utils.py | 58 +- cyborg/accelerator/drivers/spdk/nvmf/nvmf.py | 18 +- cyborg/accelerator/drivers/spdk/spdk.py | 13 + cyborg/accelerator/drivers/spdk/util/common_fun.py | 19 +- .../drivers/spdk/util/pyspdk/nvmf_client.py | 16 +- .../drivers/spdk/util/pyspdk/py_spdk.py | 19 +- .../drivers/spdk/util/pyspdk/vhost_client.py | 16 +- cyborg/accelerator/drivers/spdk/vhost/vhost.py | 18 +- cyborg/agent/manager.py | 28 +- cyborg/agent/provider_tree.py | 670 ------- cyborg/agent/rc_fields.py | 70 - cyborg/agent/resource_tracker.py | 9 +- cyborg/agent/rpcapi.py | 20 +- cyborg/api/config.py | 2 +- cyborg/api/controllers/base.py | 8 +- cyborg/api/controllers/link.py | 14 +- cyborg/api/controllers/root.py | 9 +- cyborg/api/controllers/{v1 => }/types.py | 16 +- cyborg/api/controllers/{v1 => }/utils.py | 0 cyborg/api/controllers/v1/accelerators.py | 9 +- cyborg/api/controllers/v1/deployables.py | 9 +- cyborg/api/controllers/v2/__init__.py | 73 + cyborg/api/controllers/v2/api_version_request.py | 181 ++ cyborg/api/controllers/v2/arqs.py | 293 +++ cyborg/api/controllers/v2/device_profiles.py | 230 +++ cyborg/api/middleware/parsable_error.py | 6 +- cyborg/api/wsgi_app.py | 2 +- cyborg/cmd/__init__.py | 2 + cyborg/cmd/agent.py | 4 +- cyborg/cmd/status.py | 3 + cyborg/common/constants.py | 20 +- cyborg/common/exception.py | 73 +- cyborg/common/nova_client.py | 59 + cyborg/common/placement_client.py | 296 +++ cyborg/common/policy.py | 59 +- cyborg/common/rpc.py | 2 +- cyborg/common/service.py | 2 +- cyborg/conductor/manager.py | 217 ++- cyborg/conductor/rpcapi.py | 20 + cyborg/conf/__init__.py | 2 +- cyborg/conf/default.py | 1 - cyborg/context.py | 3 +- cyborg/db/api.py | 14 +- .../versions/589ff20545b7_add_aichip_type.py | 22 + .../versions/c1b5abada09c_update_for_nova_integ.py | 87 + cyborg/db/sqlalchemy/api.py | 161 +- cyborg/db/sqlalchemy/models.py | 55 +- cyborg/image/api.py | 4 + cyborg/image/glance.py | 15 +- cyborg/objects/accelerator.py | 84 - cyborg/objects/arq.py | 43 +- cyborg/objects/attach_handle.py | 20 +- cyborg/objects/attribute.py | 11 +- cyborg/objects/base.py | 16 +- cyborg/objects/control_path.py | 14 +- cyborg/objects/deployable.py | 43 +- cyborg/objects/device.py | 23 +- cyborg/objects/device_profile.py | 95 +- .../objects/driver_objects/driver_attach_handle.py | 10 +- cyborg/objects/driver_objects/driver_attribute.py | 14 +- .../driver_objects/driver_controlpath_id.py | 122 +- cyborg/objects/driver_objects/driver_deployable.py | 38 +- cyborg/objects/driver_objects/driver_device.py | 290 +-- cyborg/objects/ext_arq.py | 355 +++- cyborg/objects/fields.py | 3 + cyborg/objects/physical_function.py | 137 -- cyborg/objects/virtual_function.py | 61 - cyborg/privsep/__init__.py | 31 + cyborg/quota.py | 2 +- cyborg/services/client/report.py | 1997 -------------------- cyborg/services/report.py | 175 -- .../unit/accelerator/drivers/aichip/__init__.py | 0 .../accelerator/drivers/aichip/huawei/__init__.py | 0 .../drivers/aichip/huawei/test_ascend.py | 54 + .../drivers/fpga/intel/prepare_test_data.py | 13 +- .../accelerator/drivers/fpga/intel/test_driver.py | 87 +- .../unit/accelerator/drivers/fpga/test_base.py | 9 +- .../unit/accelerator/drivers/gpu/test_base.py | 4 +- .../unit/accelerator/drivers/gpu/test_utils.py | 43 +- .../accelerator/drivers/modules/test_generic.py | 66 - .../accelerator/drivers/spdk/nvmf/test_nvmf.py | 3 +- .../accelerator/drivers/spdk/vhost/test_vhost.py | 5 +- ...{test_fpga_program.py => _test_fpga_program.py} | 2 - .../api/controllers/v2/test_device_profiles.py | 124 ++ .../{test_deployable.py => _test_deployable.py} | 21 +- ...acement_client.py => _test_placement_client.py} | 10 +- devstack/lib/cyborg | 81 +- devstack/lib/opae | 2 +- devstack/plugin.sh | 58 +- devstack/settings | 1 + .../deployables/deployable-create-resp.json | 36 + .../deployables/deployable-patch-curl.json | 10 + .../deployables/deployable-post-curl.json | 26 + .../deployables/deployable-update-resp.json | 72 + .../deployables/deployables-getone-resp.json | 35 + .../deployables/deployables-list-resp.json | 62 + .../contributor/driver-development-guide.rst | 58 + etc/cyborg/rootwrap.conf | 23 - etc/cyborg/rootwrap.d/acceleration.filters | 2 - playbooks/legacy/cyborg-devstack/post.yaml | 15 - playbooks/legacy/cyborg-devstack/run.yaml | 54 - .../implement_oslo_privsep-4fc6e15360c92772.yaml | 14 + releasenotes/source/conf.py | 2 +- releasenotes/source/index.rst | 1 + releasenotes/source/stein.rst | 6 + requirements.txt | 4 +- setup.cfg | 10 +- test-requirements.txt | 1 + tox.ini | 38 +- 163 files changed, 5064 insertions(+), 4609 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index 909bf2d..0175791 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9 +9 @@ six>=1.8.0 # MIT -eventlet>=0.12.0,!=0.18.3,!=0.20.1,!=0.21.0 # MIT +eventlet>=0.12.0,!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0 # MIT @@ -17,0 +18 @@ oslo.db>=4.1.0 # Apache-2.0 +os-resource-classes>=0.5.0 # Apache-2.0 @@ -29,0 +31 @@ python-glanceclient>=2.3.0 # Apache-2.0 +oslo.privsep>=1.32.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 84f5ac2..e200e58 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -18,0 +19 @@ Pygments>=2.2.0 # BSD license +os-resource-classes>=0.5.0 # Apache-2.0