问题导读
1、db文件夹下各文件具有什么功能?
2、db中类的具体表示是什么?
我们继续来整理代码,看cinder中db部分的代码。
10 db(/cinder/db/)
/cinder/db/api.py:定义DB的若干接口入口方法;
/cinder/db/base.py:需要模块化的数据库接口的基类;
/cinder/db/migration.py:主要定义和实现了数据库版本操作的两个方法;
/cinder/db/sqlalchemy/api.py:针对数据库相关的api方法(/cinder/db/api.py)的具体实现的api方法;
/cinder/db/sqlalchemy/migration.py:
/cinder/db/sqlalchemy/models.py:定义和描述了cinder相关数据表的结构;
class CinderBase-Cinder Model的基类;
class Service(BASE, CinderBase):表示一个主机上正在运行的服务相关数据库中的信息;
class CinderNode(BASE, CinderBase):表示一个主机上正在运行的cinder服务相关数据库中的信息;
class Volume(BASE, CinderBase):表示一个能够附加到虚拟机的块存储设备(也就是卷)的相关数据库中的信息;
class VolumeMetadata(BASE, CinderBase):表示一个卷的元数据的键值对;
class VolumeAdminMetadata(BASE, CinderBase):表示一个管理员所有的卷的元数据的键值对;
class VolumeTypes(BASE, CinderBase):表示卷可能支持的所有卷类型的数据库相关信息;
class VolumeTypeExtraSpecs(BASE, CinderBase):表示卷类型的额外功能(规范)的键值对;
class QualityOfServiceSpecs(BASE, CinderBase):表示QoS功能(规范)的键值对;
class VolumeGlanceMetadata(BASE, CinderBase):表示可引导卷的glance元数据;
class Quota(BASE, CinderBase):表示一个单一的对象的配额信息;
class QuotaClass(BASE, CinderBase):表示一个配额类(quota class)的配额信息;
class QuotaUsage(BASE, CinderBase):表示指定资源当前使用率的数据库信息;
class Reservation(BASE, CinderBase):表示资源配额恢复的相关数据库信息;
class Snapshot(BASE, CinderBase):表示一个能够附加到虚拟机的块存储设备(也就是快照)的数据库信息;
class SnapshotMetadata(BASE, CinderBase):表示一个快照的元数据的键值对数据库相关信息;
class IscsiTarget(BASE, CinderBase):表示一个指定主机的iscsi target的数据库信息;
class Backup(BASE, CinderBase):表示针对Swift后端的卷的备份;
class Encryption(BASE, CinderBase):表示一个卷类型的加密请求的相关数据库信息;
class Transfer(BASE, CinderBase):表示一个卷所有权转换请求的相关数据库信息;
相关文章
OpenStack Cinder源码分析之一
http://www.aboutyun.com/thread-10236-1-1.html
OpenStack Cinder源码分析之二
http://www.aboutyun.com/thread-10242-1-1.html
OpenStack Cinder源码分析之三
http://www.aboutyun.com/thread-10243-1-1.html
OpenStack Cinder源码分析之四
http://www.aboutyun.com/thread-10244-1-1.html
OpenStack Cinder源码分析之五
http://www.aboutyun.com/thread-10245-1-1.html
OpenStack Cinder源码分析之六
http://www.aboutyun.com/thread-10246-1-1.html
OpenStack Cinder源码分析之八
http://www.aboutyun.com/thread-10248-1-1.html
|
|