Acceleration Management
Go to file
Shaohe Feng 709f79ce6d bug fix: rename accelerator to Accelerator
When run:
$ python -m unittest cyborg.tests.unit.accelerator.drivers.modules.test_generic

It will report the follow error:
  File "cyborg/tests/unit/accelerator/drivers/modules/test_generic.py", line 20, in <module>
    from cyborg.accelerator.drivers.generic_driver import GenericDriver as generic
  File "cyborg/accelerator/drivers/generic_driver.py", line 24, in <module>
    from cyborg.accelerator import accelerator
  File "cyborg/accelerator/accelerator.py", line 23, in <module>
    class accelerator(Base):
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/api.py", line 64, in __init__
    _as_declarative(cls, classname, cls.__dict__)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 88, in _as_declarative
    _MapperConfig.setup_mapping(cls, classname, dict_)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 103, in setup_mapping
    cfg_cls(cls_, classname, dict_)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/base.py", line 125, in __init__
    clsregistry.add_class(self.classname, self.cls)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/clsregistry.py", line 65, in add_class
    module.add_class(classname, cls)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/ext/declarative/clsregistry.py", line 172, in add_class
    existing.add_item(cls)
AttributeError: '_ModuleMarker' object has no attribute 'add_item'

That's because:
_ModuleMarker will add the module name and class name in to same contents dict.
_MultipleClassMarker refers to multiple classes of the same name within _decl_class_registry.
It has add_item attribute.
_ModuleMarker refers to a module name within _decl_class_registry.
It does not have add_item attribute.

So the class name should be different with module name.

REF:
https://github.com/zzzeek/sqlalchemy/blob/master/lib/sqlalchemy/ext/declarative/clsregistry.py

Change-Id: I8d8aa8809f6afd5b9eaace832a06ba7f3770e652
2018-02-08 09:31:23 +00:00
cyborg bug fix: rename accelerator to Accelerator 2018-02-08 09:31:23 +00:00
devstack Fix bug in cyborg/devstack script 2018-01-22 08:40:55 +00:00
doc queens release doc fix part 1 2018-02-07 20:53:38 +08:00
etc/cyborg Auto generate cyborg.conf with oslo-config-generator 2017-12-08 10:58:25 +08:00
playbooks/legacy/cyborg-devstack Move legacy jobs to project 2017-12-29 09:27:59 +01:00
releasenotes/notes queens release doc fix part 1 2018-02-07 20:53:38 +08:00
sandbox Setup sandbox and specs folder 2017-03-14 01:16:33 +08:00
setup Cyborg deployment script 2017-08-30 09:27:56 -04:00
tools/config Auto generate cyborg.conf with oslo-config-generator 2017-12-08 10:58:25 +08:00
.gitignore Merge "Cyborg deployment script" 2017-09-11 19:27:17 +00:00
.gitreview Rename project in .gitreview 2017-01-13 08:08:37 +11:00
.testr.conf initial setup "correct tox.ini testr and test-requirement.txt requirement 2016-01-18 14:29:39 +08:00
.zuul.yaml Zuul: Remove project name 2018-02-02 06:09:51 -08:00
CONTRIBUTING.rst Update and replace http with https for doc links in cyborg 2017-09-12 22:46:46 -07:00
HACKING.rst Update and replace http with https for doc links in cyborg 2017-09-12 22:46:46 -07:00
LICENSE initial setup "correct tox.ini testr and test-requirement.txt requirement 2016-01-18 14:29:39 +08:00
README.rst Pike doc clean up 2017-09-13 10:51:11 -06:00
babel.cfg initial setup "correct tox.ini testr and test-requirement.txt requirement 2016-01-18 14:29:39 +08:00
requirements.txt Add Cyborg SPDK Driver 2018-02-05 00:57:30 +08:00
setup.cfg Update and replace http with https for doc links in cyborg 2017-09-12 22:46:46 -07:00
setup.py initial setup "correct tox.ini testr and test-requirement.txt requirement 2016-01-18 14:29:39 +08:00
test-requirements.txt Cleanup test-requirements 2017-11-06 14:38:14 +07:00
tox.ini Merge "Auto generate cyborg.conf with oslo-config-generator" 2017-12-27 04:31:42 +00:00

README.rst

Cyborg

OpenStack Acceleration as a Service

Cyborg provides a general management framework for accelerators such as FPGA, GPU, SoCs, NVMe SSDs, CCIX caches, DPDK/SPDK, pmem and so forth.

Features

  • REST API for basic accelerator life cycle management
  • Generic driver for common accelerator support