vmtemplate.py has a function that checks template integrity
(validate_integrity), that check template and if found some parameters
invalid, warn the user.
Today, the function is not verifying disks. I'll do it. Just want to
make sure i'm checking all kind:
Here is the function:
def validate_integrity(self):
invalid = {}
# validate networks integrity
invalid_networks = list(set(self.info['networks']) -
set(self._get_all_networks_name()))
if invalid_networks:
invalid['networks'] = invalid_networks
# validate storagepools and integrity
for disk in self.info['disks']:
pool_uri = disk['pool']['name']
pool_name = pool_name_from_uri(pool_uri)
if pool_name not in self._get_active_storagepools_name():
invalid['storagepools'] = [pool_name]
if os.path.exists(disk["base"])
# validate iso integrity
# FIXME when we support multiples cdrom devices
iso = self.info.get('cdrom')
if iso:
if os.path.exists(iso):
st_mode = os.stat(iso).st_mode
if not (stat.S_ISREG(st_mode) or stat.S_ISBLK(st_mode)):
invalid['cdrom'] = [iso]
elif not check_url_path(iso):
invalid['cdrom'] = [iso]
self.info['invalid'] = invalid
return self.info
I just need to get the loop "# validate storagepools and integrity" and
add a checking:
# validate storagepools and integrity
for disk in self.info['disks']:
pool_uri = disk['pool']['name']
pool_name = pool_name_from_uri(pool_uri)
if pool_name not in self._get_active_storagepools_name():
invalid['storagepools'] = [pool_name]
+
+ if not os.path.exists(disk.get("base")):
+ invalid["disks"] = disk
+
I guess this way i can validate disks on dir storagepools, and nfs. But,
what about netboot and other kind?
--
Ramon Nunes Medeiros
Kimchi Developer
Linux Technology Center Brazil
IBM Systems & Technology Group
Phone : +55 19 2132 7878
ramonn(a)br.ibm.com