ZBLOG

对这个函数详细说说: def post(self): """创建access path""" args = parser.parse_args() pid = args["pid"] ig_id = args["igid"] vids = args["vid_list"] user

该函数是用来创建一个access path的,接收的参数有:pid、igid、vid_list、username、password、pgid_list、name、ap_type、desc、rw_state、lunids。具体实现过程如下:

  1. 对传入参数进行检查,如果有不合法的参数则抛出异常。

  2. 检查chap用户名和密码是否符合要求。

  3. 检查指定的pool是否存在。

  4. 判断access path名称和iqn是否已经存在。

  5. 检查access path的数量是否超过限制。

  6. 如果指定了initiator group,则获取该initiator group的信息,并且mapview数量为1。

  7. 如果指定了vid_list,则判断传入的volume是否有效。

  8. 如果指定了lunids,则判断传入的lunid和vid_list是否匹配。

  9. 判断传入vol list是否在其他access path中已经存在。

  10. 如果指定了pgid_list,则检查传入的pgid是否有效。

  11. 从etcd中获取access path的id号,然后将新创建的access path保存至etcd。

  12. 将volume list保存至etcd。

  13. 获取pg下的ip列表,以及待添加pg所在的节点,并获取待添加pg对应的tpg_id。

  14. 创建proxy。

  15. 在各个节点上依次创建access path。

  16. 如果创建失败,则回滚之前的操作,并返回异常。

  17. 如果创建成功,则向前端发送事件通知,并返回access path的相关信息。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=980

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?