[modules iscsi] On transforme udev-update-symlinks pour gérer "proprement" la redondance
This commit is contained in:
parent
a78a22eed5
commit
d834d23fa2
7 changed files with 140 additions and 100 deletions
46
gestion/iscsi/udev_get_iscsi_name.py
Executable file
46
gestion/iscsi/udev_get_iscsi_name.py
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# udev-get-iscsi-name.py
|
||||
# ----------------------
|
||||
# Copyright : (c) 2012, Olivier Iffrig <iffrig@crans.org>
|
||||
# Copyright : (c) 2008, Jeremie Dimino <jeremie@dimino.org>
|
||||
# Licence : BSD3
|
||||
|
||||
u'''Script appelé par udev (/etc/udev/rules.d/10_crans_iscsi.rules)
|
||||
pour les liens symboliques pour les périphériques iscsi'''
|
||||
|
||||
import sys
|
||||
import os
|
||||
sys.path.append("/usr/scripts/gestion")
|
||||
from config import ISCSI_MAP_FILE
|
||||
|
||||
def getname(device):
|
||||
map_file = ISCSI_MAP_FILE
|
||||
|
||||
# Rechreche le nom complet du périphérique dans /sys
|
||||
dev = os.readlink("/sys/block/%s/device" % device)
|
||||
|
||||
# L'identifiant est de la forme "../../../0:0:0:42", où 42 (j'ai perdu)
|
||||
# est le lun.
|
||||
try:
|
||||
lun = int(dev.rsplit(":", 1)[1])
|
||||
except:
|
||||
print >>sys.stderr, u"périphérique invalide"
|
||||
sys.exit(1)
|
||||
|
||||
if not os.access(map_file, os.R_OK):
|
||||
print >>sys.stderr, u"Impossible de lire le fichier de mapping(%s)" % map_file
|
||||
sys.exit(1)
|
||||
|
||||
globals()['map'] = {}
|
||||
execfile(map_file, globals())
|
||||
|
||||
return map.get(lun, "lun%d" % lun)
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) != 2:
|
||||
print >>sys.stderr, u"usage: %s <nom de périphérique>" % sys.argv[0]
|
||||
sys.exit(2)
|
||||
a = getname(sys.argv[1])
|
||||
print a
|
Loading…
Add table
Add a link
Reference in a new issue