diff --git a/inventory_provider/routes/classifier.py b/inventory_provider/routes/classifier.py index ac080bb0af4446e7cdf6e4f8fef01ff4581dad5e..e5576d489b44e467a12f213a7d14d0920b8da7e4 100644 --- a/inventory_provider/routes/classifier.py +++ b/inventory_provider/routes/classifier.py @@ -237,6 +237,14 @@ def find_interfaces_and_services(address_str): @common.require_accepts_json def peer_info(address): + # canonicalize the input address first ... + try: + obj = ipaddress.ip_address(address) + address = obj.exploded + except ValueError: + raise ClassifierProcessingError( + 'unable to parse %r as an ip address' % address) + r = common.get_current_redis() cache_key = 'classifier-cache:peer:%s' % address