ZBLOG

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

该函数用于创建access path,具体实现过程如下:

  1. 解析请求参数,包括pid、igid、vid_list、username、password、pgid_list、name、ap_type、desc和rw_state等。
  2. 对参数进行检查和验证,如检查desc是否合法、ap_type是否有效等。
  3. 检查igid是否存在并且有wwn,如果传入了vid_list,则必须提供igid;如果传入了lunids,则必须提供vid_list。
  4. 判断access path名称和iqn是否已存在,并且判断access path个数是否超过限制。
  5. 获取access path的id,如果不存在则设置为1,否则在原有基础上加1。
  6. 如果用户名和密码非空,则获取chap_id,如果不存在则设置为1。
  7. 获取待添加pg所在节点和对应的tpg_id,以及各pg下的ip列表。
  8. 创建proxy。
  9. 在节点上依次创建。
  10. 将信息记录到etcd中。
  11. 返回成功响应,包括apid和lunid_dict。

其中,部分操作需要调用其他函数来完成,如获取ig信息、判断volume是否有效、判断access path名称是否已存在等,这些函数都在该类中实现。同时,在创建proxy和在节点上创建access path时,使用了多线程处理,以提高效率。

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?