diff --git a/confluent_server/confluent/discovery/core.py b/confluent_server/confluent/discovery/core.py index 438ad524..88eee990 100644 --- a/confluent_server/confluent/discovery/core.py +++ b/confluent_server/confluent/discovery/core.py @@ -1790,6 +1790,10 @@ async def generic_eval(address, hwaddr=None): if 443 in ports: resdata = await ssdp.check_fish(('/redfish/v1/', peerdata)) if resdata: + if resdata.get('vendor') == 'Lenovo': + maybedata = await ssdp.check_fish(('/DeviceDescription.json', peerdata)) + if maybedata: + return safe_detected(maybedata) return safe_detected(resdata) peerdata['services'] = ['generic-https'] if 22 in ports: diff --git a/confluent_server/confluent/discovery/protocols/ssdp.py b/confluent_server/confluent/discovery/protocols/ssdp.py index 34eb0003..7e404998 100644 --- a/confluent_server/confluent/discovery/protocols/ssdp.py +++ b/confluent_server/confluent/discovery/protocols/ssdp.py @@ -587,6 +587,7 @@ async def check_fish(urldata, port=443, verifycallback=None): if 'UUID' in peerinfo: vendor = peerinfo.get('Vendor', '') # NOTE: Specific path for EUREKA MEGWARE Chassis + data['vendor'] = vendor if vendor == 'Megware': data['services'] = ['megware-chassis'] else: