Handle missing ipv6 boolean in network_data.yaml for Ceph
It's not valid input to exclude the ipv6 boolean when using IPv6, but when this happens the client fails with a type error. Handle this situation better and return a better error message. Closes-Bug: 1956517 Change-Id: Id99346ac0fc336b306550e71da0f9b746ff83ef1
This commit is contained in:
parent
3712cede1f
commit
79fa6fbe1c
|
@ -3246,7 +3246,7 @@ def get_ceph_networks(network_data_path,
|
|||
if ip_subnet in net:
|
||||
return net[ip_subnet]
|
||||
if 'subnets' in net:
|
||||
ip_subnets = list(map(lambda x: x.get(ip_subnet),
|
||||
ip_subnets = list(map(lambda x: x.get(ip_subnet, ''),
|
||||
net['subnets'].values()))
|
||||
return ','.join(ip_subnets)
|
||||
|
||||
|
@ -3274,9 +3274,11 @@ def get_ceph_networks(network_data_path,
|
|||
if not subnet:
|
||||
error = ("While searching %s, %s matched %s "
|
||||
"but that network did not have a %s "
|
||||
"value set."
|
||||
"value set. To use an ipv6_subnet add "
|
||||
"key 'ipv6: true' to %s in %s."
|
||||
% (network_data_path, search_tag,
|
||||
net_value, ip_subnet))
|
||||
net_value, ip_subnet, net_value,
|
||||
network_data_path))
|
||||
raise RuntimeError(error)
|
||||
else:
|
||||
subnet_key = net_name.replace('_name', '')
|
||||
|
|
Loading…
Reference in New Issue