mirror of
https://github.com/xcat2/confluent.git
synced 2025-01-16 04:39:16 +00:00
Modify get_nodename to search by uuid
Instead of *just* being able to search by uuid for pxe, add the ability to search by uuid for https things, if no fingerprint match. This allows remote xcc setup to follow in the wake of a pxe attempt.
This commit is contained in:
parent
d8216f2472
commit
368666823f
@ -613,25 +613,22 @@ def detected(info):
|
||||
|
||||
|
||||
def get_nodename(cfg, handler, info):
|
||||
if not handler.https_supported:
|
||||
curruuid = info['uuid']
|
||||
nodename = nodes_by_uuid.get(curruuid, None)
|
||||
if nodename is None:
|
||||
_map_unique_ids()
|
||||
nodename = nodes_by_uuid.get(curruuid, None)
|
||||
if nodename is None:
|
||||
# TODO: if there are too many matches on port for a
|
||||
# given type, error! Can't just arbitarily limit,
|
||||
# shared nic with vms is possible and valid
|
||||
nodename = macmap.find_node_by_mac(info['hwaddr'], cfg)
|
||||
return nodename
|
||||
currcert = handler.https_cert
|
||||
if not currcert:
|
||||
info['discofailure'] = 'nohttps'
|
||||
return None
|
||||
currprint = util.get_fingerprint(currcert)
|
||||
nodename = nodes_by_fprint.get(currprint, None)
|
||||
nodename = None
|
||||
if handler.https_supported:
|
||||
currcert = handler.https_cert
|
||||
if not currcert:
|
||||
info['discofailure'] = 'nohttps'
|
||||
return None
|
||||
currprint = util.get_fingerprint(currcert)
|
||||
nodename = nodes_by_fprint.get(currprint, None)
|
||||
if not nodename:
|
||||
curruuid = info.get('uuid', None)
|
||||
if uuid_is_valid(curruuid):
|
||||
nodename = nodes_by_uuid.get(curruuid, None)
|
||||
if nodename is None:
|
||||
_map_unique_ids()
|
||||
nodename = nodes_by_uuid.get(curruuid, None)
|
||||
if not nodename: # as a last resort, search switch for info
|
||||
nodename = macmap.find_node_by_mac(info['hwaddr'], cfg)
|
||||
return nodename
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user