فهرست منبع

实现通过检测未被使用的序列,来确定当前磁盘在目标 Guest 身上的序列

James Iter 9 سال پیش
والد
کامیت
df3e88ba61
2فایلهای تغییر یافته به همراه12 افزوده شده و 3 حذف شده
  1. 12 2
      api/guest.py
  2. 0 1
      views/disk.py

+ 12 - 2
api/guest.py

@@ -450,10 +450,20 @@ def r_attach_disk(uuid, disk_uuid):
             ret['state'] = ji.Common.exchange_state(41259)
             return ret
 
-        # 取出该 guest 已挂载的磁盘,来做出决定,确定该磁盘的序列
+        # 通过检测未被使用的序列,来确定当前磁盘在目标 Guest 身上的序列
         disk.guest_uuid = guest.uuid
         disks, count = disk.get_by_filter(filter_str='guest_uuid:in:' + guest.uuid)
-        disk.sequence = count
+
+        already_used_sequence = list()
+
+        for _disk in disks:
+            already_used_sequence.append(_disk['sequence'])
+
+        for sequence in range(0, dev_table.__len__()):
+            if sequence not in already_used_sequence:
+                disk.sequence = sequence
+                break
+
         disk.state = DiskState.mounting.value
 
         config = Config()

+ 0 - 1
views/disk.py

@@ -6,7 +6,6 @@ import json
 from flask import Blueprint, render_template, url_for, request
 import requests
 from math import ceil
-import re
 
 
 __author__ = 'James Iter'