scripts/gestion/iscsi/nols-get-volume-mapping.py
Olivier Iffrig 668ba63330 [iscsi] On évite les conflits entre les fichiers de mapping des 2 baies
Ignore-this: 7a14d9e365b2b0a5299ee5015bad02d0

darcs-hash:20120807222443-108b1-d23b778fbb79a32b079d7bad34480df9ccf3e938.gz
2012-08-08 00:24:43 +02:00

54 lines
1.2 KiB
Python
Executable file

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# nols-get-volume-mapping.py
# --------------------------
# Qui taper si ça marche pas : Pierre-Elliott Bécue <peb@crans.org>
# Merci à : Jérémie Dimino <jeremie@dimino.org>, je n'ai fait que s/slon/nols/ sur ce script.
# Licence : BSD3
u'''Outil pour récupérer le mapping lun/volume depuis la baie de
stockage'''
import nolslib, re, sys
sys.path.append("/usr/scripts/gestion")
from config import ISCSI_NEW_MAP_FILE
import affich_tools
print u"Connexion à la baie de stockage..."
nols = nolslib.Nols()
print u"Récupération des informations..."
map = nols.volume_map().items()
map.sort()
print u"Déconnexion..."
nols.logout()
print u"Enregistrement des informations..."
f = open(ISCSI_NEW_MAP_FILE, "w")
f.write((u"""\
# -*- coding: utf-8 -*-
# Fichier de mapping lun -> nom de volume
#
# Ce fichier est généré par %s
map = {
""" % sys.argv[0]).encode("UTF-8"))
for lun, name in map:
f.write(' %d : "%s",\n' % (lun, name))
f.write("}\n")
f.close()
print u"Terminé, mapping enregistré dans %s" % ISCSI_NEW_MAP_FILE
print u"Le mapping actuel est:"
print affich_tools.tableau(titre = ["lun", "nom"], data = map, alignement = ["g", "c"])