We joyfully announce the release of: openstack-cyborg 2.0.0: Distributed Acceleration Management as a Service This release is part of the stein release series. The source is available from: https://git.openstack.org/cgit/openstack/cyborg Download the package from: https://tarballs.openstack.org/cyborg/ Please report issues through: https://bugs.launchpad.net/openstack-cyborg/+bugs For more details, please see below. Changes in openstack-cyborg 1.0.0..2.0.0 ---------------------------------------- 0160a6b let conductor to update DB and placement 0cbced2 Add driver-side OVO functions. 5c4e648 Add gpu driver 5cc4962 Fix undefined name 'api_dep' error in deployables.py c4af526 Add the module used but not be imported 2224fe3 Add the params default value for method _paginate_query() c927728 Fix method 'test_discover' assertError in test_driver.py f7961e5 Improve Intel FPGA driver c645621 Fix failures in v1 accelerator API. Updated documentation 23542a8 Report data to conductor feeb6fd Fix bug: deployable object related bugs. 16e6af9 Modify the deployable's api for new database work a6590b2 Bug fix: Change object definition according to the newest DB. 4bb248b Fix:add python-glanceclient to cyborg requirements 620bf0c Add New Driver OVO. e6028de Modified the Deployable Object 354818e Add Device and DeviceProfile objects ebe865a Add AttachHandle and ControlpathID objects e9152d7 Modify "extended_accelerator_requests" table "project_id" field. af2ab60 Fix New DB Schema problems. 2f1f372 Add ExtArq and ARQ object 13a3d5a Add new DB schema: sqlachemy and alembic scripts. 6fc9220 Fix tox -e py27 d9516e9 Update the API content in the document to Rocky 5ef4010 Add OS-limitation in the devstack_setup doc ca225fc Add "Report device data to cyborg" e426463 Devstack enablement for OPAE FPGA driver. d63b858 List accelerators for all-tenants by default 751c815 [Docs] Install cyborg from source code 8cc0be2 Replacing the HTTP protocal with HTTPS in devstack_setup.rst. 0bd8a7d Added downloading bitstream when programming fpga 79e8f86 Add cyborg-status upgrade check command framework 69c6b8a bug fix: fix 2 bugs for image client 55ed3e2 use context to get project_id and user_id 389ebe4 Fix imports in spdk driver f3a017d [docs] Deploy cyborg api under WSGI server 95515c5 Deploy cyborg-api via uwsgi c9398c2 Don't quote {posargs} in tox.ini e3746dd Add WSGI support script for cyborg API a58e893 PY3 : Replice dict.iteritems() with dict.items() d23f704 Bug fix: add missing fields required when adding deployables 156c9f1 Added Glance Client for Image downloading b75816b Increment versioning with pbr instruction 715f039 python2/3 compatibilty for spdk/util using oslo.log 6d3f74d switch documentation job to new PTI 800d8a8 import zuul job settings from project-config 0138345 Improve pep8 checking along with hacking e7db748 Quota usage support in Cyborg 4d5809d Fix deployable attribute object issues and unit test failures. b812e2c Update reno for stable/rocky 33b86b8 Follow the new PTI for document build 1d1f937 Update html_theme so cyborg doc page displays in standard page theme Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 5 + CONTRIBUTING.rst | 4 - cyborg/accelerator/drivers/fpga/base.py | 2 +- cyborg/accelerator/drivers/fpga/intel/driver.py | 2 +- cyborg/accelerator/drivers/fpga/intel/sysinfo.py | 78 ++- cyborg/accelerator/drivers/gpu/__init__.py | 42 ++ cyborg/accelerator/drivers/gpu/base.py | 59 ++ cyborg/accelerator/drivers/gpu/nvidia/__init__.py | 0 cyborg/accelerator/drivers/gpu/nvidia/driver.py | 33 + cyborg/accelerator/drivers/gpu/nvidia/sysinfo.py | 26 + cyborg/accelerator/drivers/gpu/utils.py | 118 ++++ cyborg/accelerator/drivers/spdk/util/common_fun.py | 4 +- .../drivers/spdk/util/pyspdk/nvmf_client.py | 18 +- .../drivers/spdk/util/pyspdk/py_spdk.py | 12 +- .../drivers/spdk/util/pyspdk/vhost_client.py | 14 +- cyborg/agent/manager.py | 24 +- cyborg/agent/resource_tracker.py | 141 +--- cyborg/agent/rpcapi.py | 19 +- cyborg/api/controllers/base.py | 3 +- cyborg/api/controllers/v1/__init__.py | 2 + cyborg/api/controllers/v1/accelerators.py | 79 +-- cyborg/api/controllers/v1/deployables.py | 61 +- cyborg/api/controllers/v1/types.py | 12 +- cyborg/api/wsgi_app.py | 43 ++ cyborg/cmd/status.py | 50 ++ cyborg/common/constants.py | 9 + cyborg/common/exception.py | 90 ++- cyborg/common/rpc.py | 2 +- cyborg/common/service.py | 2 +- cyborg/common/utils.py | 55 ++ cyborg/conductor/manager.py | 202 +++++- cyborg/conductor/rpcapi.py | 18 +- cyborg/conf/__init__.py | 9 +- cyborg/conf/agent.py | 42 ++ cyborg/conf/glance.py | 171 +++++ cyborg/conf/keystone.py | 40 ++ cyborg/conf/service_token.py | 54 ++ cyborg/context.py | 171 +++++ cyborg/db/__init__.py | 20 + cyborg/db/api.py | 160 ++++- .../d6f033d8fa5b_add_quota_related_tables.py | 70 ++ .../alembic/versions/ede4e3f1a232_new_db_schema.py | 176 +++++ cyborg/db/sqlalchemy/api.py | 725 ++++++++++++++++++--- cyborg/db/sqlalchemy/models.py | 227 +++++-- cyborg/hacking/__init__.py | 0 cyborg/hacking/checks.py | 173 +++++ cyborg/image/__init__.py | 0 cyborg/image/api.py | 163 +++++ cyborg/image/download/__init__.py | 54 ++ cyborg/image/glance.py | 707 ++++++++++++++++++++ cyborg/objects/__init__.py | 8 +- cyborg/objects/arq.py | 74 +++ cyborg/objects/attach_handle.py | 110 ++++ cyborg/objects/attribute.py | 10 + cyborg/objects/base.py | 13 + cyborg/objects/control_path.py | 105 +++ cyborg/objects/deployable.py | 116 ++-- cyborg/objects/device.py | 96 +++ cyborg/objects/device_profile.py | 88 +++ cyborg/objects/driver_objects/__init__.py | 5 + .../objects/driver_objects/driver_attach_handle.py | 69 ++ cyborg/objects/driver_objects/driver_attribute.py | 58 ++ .../driver_objects/driver_controlpath_id.py | 60 ++ cyborg/objects/driver_objects/driver_deployable.py | 103 +++ cyborg/objects/driver_objects/driver_device.py | 135 ++++ cyborg/objects/ext_arq.py | 152 +++++ cyborg/objects/fields.py | 18 + cyborg/quota.py | 190 ++++++ cyborg/service_auth.py | 54 ++ .../unit/accelerator/drivers/fpga/intel/driver.py | 93 --- .../accelerator/drivers/fpga/intel/test_driver.py | 121 ++++ .../unit/accelerator/drivers/fpga/test_base.py | 38 ++ .../accelerator/drivers/gpu/nvidia/__init__.py | 0 .../accelerator/drivers/gpu/nvidia/test_driver.py | 17 + .../unit/accelerator/drivers/gpu/test_base.py | 27 + .../unit/accelerator/drivers/gpu/test_utils.py | 96 +++ .../unit/api/controllers/v1/test_accelerators.py | 164 ----- .../unit/api/controllers/v1/test_deployables.py | 93 --- .../unit/api/controllers/v1/test_fpga_program.py | 5 +- devstack/lib/cyborg | 54 +- devstack/lib/opae | 61 ++ devstack/plugin.sh | 21 +- devstack/settings | 10 + .../queens/approved/cyborg-nova-interaction.rst | 2 +- .../rocky/approved/cyborg-agent-driver-api.rst | 2 +- .../specs/rocky/approved/cyborg-nova-sched.rst | 6 +- ...s-upgrade-check-framework-567f8df30b971f13.yaml | 13 + releasenotes/source/index.rst | 1 + releasenotes/source/rocky.rst | 6 + requirements.txt | 2 + setup.cfg | 17 +- test-requirements.txt | 6 +- tox.ini | 15 +- 125 files changed, 7177 insertions(+), 1966 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index b03fdfd..909bf2d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -17,0 +18 @@ oslo.db>=4.1.0 # Apache-2.0 +oslo.upgradecheck>=0.1.0 # Apache-2.0 @@ -27,0 +29 @@ mock>=2.0.0 # BSD +python-glanceclient>=2.3.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 5521794..84f5ac2 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10 +9,0 @@ mock>=2.0.0 # BSD -sphinx>=1.6.2,!=1.6.6,!=1.6.7 # BSD @@ -17,4 +15,0 @@ testtools>=0.9.32 # MIT -sphinxcontrib-pecanwsme>=0.2 # Apache-2.0 -sphinxcontrib-seqdiag>=0.8.4 # BSD -reno>=1.8.0 # Apache-2.0 -os-api-ref>=1.4.0 # Apache-2.0 @@ -22,0 +18 @@ doc8>=0.6.0 # Apache-2.0 +Pygments>=2.2.0 # BSD license