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
2018-02-07 20:53:38 +08:00
2017-03-14 01:16:33 +08:00
2017-08-30 09:27:56 -04:00
2017-09-11 19:27:17 +00:00
2017-01-13 08:08:37 +11:00
2018-02-02 06:09:51 -08:00
2017-09-13 10:51:11 -06:00
2018-02-05 00:57:30 +08:00

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
S
Description
Acceleration Management
Readme
21 MiB
Languages
Python 78.4%
Perl 14.6%
C 3.6%
Shell 3.2%
Makefile 0.1%