Fix handling hardware types and drivers when generating fencing parameters
This is a partial backport of812d7e6cbb
and fixes handling about new hardware types which doesn't have prefixes like pm_, pxe_ and so on[1]. [1]73b6ede2bb
Change-Id: I696581ea9a9fb7bfbefb6a168b37b3e36a2abc3c Closes-Bug: #1924374
This commit is contained in:
parent
b2495f222e
commit
863368af63
|
@ -378,6 +378,13 @@ class GenerateFencingParametersAction(base.TripleOAction):
|
||||||
|
|
||||||
# Build up fencing parameters based on which Ironic driver this
|
# Build up fencing parameters based on which Ironic driver this
|
||||||
# node is using
|
# node is using
|
||||||
|
try:
|
||||||
|
# Deprecated classic drivers (pxe_ipmitool, etc)
|
||||||
|
driver_proto = node['pm_type'].split('_')[1]
|
||||||
|
except IndexError:
|
||||||
|
# New-style hardware types (ipmi, etc)
|
||||||
|
driver_proto = node['pm_type']
|
||||||
|
|
||||||
if hostmap and node["pm_type"] == "pxe_ssh":
|
if hostmap and node["pm_type"] == "pxe_ssh":
|
||||||
# Ironic fencing driver
|
# Ironic fencing driver
|
||||||
node_data["agent"] = "fence_ironic"
|
node_data["agent"] = "fence_ironic"
|
||||||
|
@ -404,8 +411,7 @@ class GenerateFencingParametersAction(base.TripleOAction):
|
||||||
hostmap[mac_addr]["compute_name"]
|
hostmap[mac_addr]["compute_name"]
|
||||||
if self.delay:
|
if self.delay:
|
||||||
params["delay"] = self.delay
|
params["delay"] = self.delay
|
||||||
elif (node['pm_type'] == 'ipmi' or node["pm_type"].split('_')[1] in
|
elif driver_proto in {'ipmi', 'ipmitool', 'drac', 'idrac', 'ilo'}:
|
||||||
("ipmitool", "ilo", "drac")):
|
|
||||||
# IPMI fencing driver
|
# IPMI fencing driver
|
||||||
node_data["agent"] = "fence_ipmilan"
|
node_data["agent"] = "fence_ipmilan"
|
||||||
params["ipaddr"] = node["pm_addr"]
|
params["ipaddr"] = node["pm_addr"]
|
||||||
|
|
Loading…
Reference in New Issue