搜档网
当前位置:搜档网 › 后端资源管理设计_v1

后端资源管理设计_v1

1.设计一个后端存储配置表 volume_backends,用于记录操作员增减的后端存储信息。主键uuid,cinder.conf里存储节点里的参数作为表基本属性,不常用字段存在ext_vals,状态包括初始化、在用、停用。

2.定义cinder-api接口,权限问题不考虑,可由keystone后期实现。
开发要求:学习cinder-api接口逻辑,学习cinder-api和cinder-scheduler调用逻辑,学习wsgi、paste,学习openstack taskflow使用等。
包括功能:
- get_backends 获取后端存储列表,支持分页、按条件查询
- add_backend 增加后端存储。request使用json格式,参数包含cinder.conf存储节点几个重要参数。response包含添加状态(success)和已经成功添加的后端存储相关参数信息。
逻辑:
1)根据backend_name判断记录是否已经存在,若已经存在,返回response,msg=record exists
2)volume_backends插一条记录,自动生成uuid做主键backend_id,状态为初始化
3)复制/etc/cinder/cinder.conf进/etc/cinder/bak目录,作为备份
4)复制/etc/cinder/cinder.conf进/etc/cinder/tmp目录,/etc/cinder/tmp/cinder.conf里增加存储配置
5)/etc/cinder/tmp/cinder.conf替换/etc/cinder/cinder.conf
6)返回response
- del_backend 删除后端存储。request使用json格式,参数包含backend_name,backend_id(uuid)。response删除状态(success)和已经成功删除的后端存储相关参数信息。
逻辑:
1)根据backend_name、backend_id判断记录是否已经存在,若不存在,返回response,msg=record is not exists
2)volume_backends根据backend_name,backend_id(uuid)修改数据记录,记录停用时间
3)复制/etc/cinder/cinder.conf进/etc/cinder/bak目录,作为备份
4)复制/etc/cinder/cinder.conf进/etc/cinder/tmp目录,/etc/cinder/tmp/cinder.conf里删除存储配置
5)/etc/cinder/tmp/cinder.conf替换/etc/cinder/cinder.conf
6)返回response
- restart_cinder_volume 重启cinder-volume服务进程,让cinder.conf修改生效
逻辑:
1)读取volume_backends表,有记录停用时间的记录,全部设置状态为停用。
2)读取volume_backends表,没有记录停用时间并且状态为初始化的记录,全部设置状态为在用。
3)调用cinder-volume restart,重启cinder-volume服务
4)返回response

相关主题