Fix hw_settle and disk update during upgrade
This update addresses an issue with the hw_settle and disk update during an upgrade. Previously, the hw_settle parameter was only being updated for controllers, this fix extends the update to all hosts. This change the prefix on wwn-* paths. The default for ISCSI devices is 3, for virtualized envs like QEMU might not start with 3. Test plan: PASS: Upgrade Standard 2+2+2 with multipath (QEMU) closes-bug: 2015374 Signed-off-by: Lucas Borges <lucas.borges@windriver.com> Change-Id: I51bf78d7add37de7120adeb61c2e922b4a7a23fd
This commit is contained in:
parent
fb4550004a
commit
430049e0a4
@ -51,6 +51,7 @@ def main():
|
|||||||
do_update_i_idisks(conn)
|
do_update_i_idisks(conn)
|
||||||
do_update_partitions(conn)
|
do_update_partitions(conn)
|
||||||
do_update_i_pv(conn)
|
do_update_i_pv(conn)
|
||||||
|
do_update_hw_settle(conn)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
LOG.exception("Error: {}".format(e))
|
LOG.exception("Error: {}".format(e))
|
||||||
res = 1
|
res = 1
|
||||||
@ -134,7 +135,7 @@ def do_update_i_host(conn):
|
|||||||
for i_host in i_hosts:
|
for i_host in i_hosts:
|
||||||
query = (
|
query = (
|
||||||
"UPDATE i_host SET boot_device='/dev/mapper/mpatha', "
|
"UPDATE i_host SET boot_device='/dev/mapper/mpatha', "
|
||||||
"rootfs_device='/dev/mapper/mpatha', hw_settle='30' "
|
"rootfs_device='/dev/mapper/mpatha' "
|
||||||
"WHERE id={};".format(
|
"WHERE id={};".format(
|
||||||
i_host["id"]
|
i_host["id"]
|
||||||
)
|
)
|
||||||
@ -188,6 +189,12 @@ def do_update_query(conn, query):
|
|||||||
conn.commit()
|
conn.commit()
|
||||||
|
|
||||||
|
|
||||||
|
def do_update_hw_settle(conn):
|
||||||
|
query = "UPDATE i_host SET hw_settle='30'; "
|
||||||
|
LOG.info("Update hw_settle query= {}".format(query))
|
||||||
|
do_update_query(conn, query)
|
||||||
|
|
||||||
|
|
||||||
def is_multipath():
|
def is_multipath():
|
||||||
disk_operator = disk.DiskOperator()
|
disk_operator = disk.DiskOperator()
|
||||||
system_disk = disk_operator.idisk_get()[0]
|
system_disk = disk_operator.idisk_get()[0]
|
||||||
@ -205,7 +212,9 @@ def transform_device_node_path(path):
|
|||||||
|
|
||||||
|
|
||||||
def transform_device_path(path):
|
def transform_device_path(path):
|
||||||
regex = r"(\/dev\/disk\/by-id\/)dm-uuid-mpath-3(.*)"
|
# This regex is used to support QEMU virtualization devices,
|
||||||
|
# while all other real iSCSI devices start with 0
|
||||||
|
regex = r"(\/dev\/disk\/by-id\/)dm-uuid-mpath-[0-9](.*)"
|
||||||
result = re.match(regex, path)
|
result = re.match(regex, path)
|
||||||
if result:
|
if result:
|
||||||
return "{}wwn-0x{}".format(result[1], result[2])
|
return "{}wwn-0x{}".format(result[1], result[2])
|
||||||
@ -213,7 +222,9 @@ def transform_device_path(path):
|
|||||||
|
|
||||||
|
|
||||||
def transform_part_device_path(path):
|
def transform_part_device_path(path):
|
||||||
regex = r"(\/dev\/disk\/by-id\/)dm-uuid-(.*)-mpath-3(.*)"
|
# This regex is used to support QEMU virtualization devices,
|
||||||
|
# while all other real iSCSI devices start with 0
|
||||||
|
regex = r"(\/dev\/disk\/by-id\/)dm-uuid-(.*)-mpath-[0-9](.*)"
|
||||||
result = re.match(regex, path)
|
result = re.match(regex, path)
|
||||||
if result:
|
if result:
|
||||||
return "{}wwn-0x{}-{}".format(result[1], result[3], result[2])
|
return "{}wwn-0x{}-{}".format(result[1], result[3], result[2])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user