glance 要对镜像的元数据进行存储管理,这需要后台数据引擎的支持。不同的引擎对应不同的
目录。
db 目录下包含了管理元数据所需要的数据引擎,当前只有 sqlalchemy 数据引擎。db/api.py 则
提供了统一的接口,db/sqlalchemy/api.py 也基于 sqlalchemy 数据引擎实现了这种接口。
glance/registry/db/sqlalchemy 主要是通过封装 SQLAlchemy 来对镜像存储提供数据库访问支持。
__init__.py 导入即注册 SQLAlchemy 引擎对数据模型的支持
models.py 基于 SQLAlchemy 定义的 glance 中的数据模型
class ModelBase(object)
基础数据模型,包括一些诸如创建时间的字段,没有有关镜像等的字段信息
class Image(BASE, ModelBase)
描述存储的镜像,添加的字段有
id
type
size
status
is_public
location
class ImageProperty(BASE, ModelBase)
描述镜像属性
api.py
内部利用 SQLAlchemy 提供对外的镜像操作方法集合