def _update_health_monitor_with_new_ips(route_spec, all_ips,
                                        q_monitor_ips):
    """
    Take the current route spec and compare to the current list of known IP
    addresses. If the route spec mentiones a different set of IPs, update the
    monitoring thread with that new list.

    Return the current set of IPs mentioned in the route spec.

    """
    # Extract all the IP addresses from the route spec, unique and sorted.
    new_all_ips = \
        sorted(set(itertools.chain.from_iterable(route_spec.values())))
    if new_all_ips != all_ips:
        logging.debug("New route spec detected. Updating "
                      "health-monitor with: %s" %
                      ",".join(new_all_ips))
        # Looks like we have a new list of IPs
        all_ips = new_all_ips
        q_monitor_ips.put(all_ips)
    else:
        logging.debug("New route spec detected. No changes in "
                      "IP address list, not sending update to "
                      "health-monitor.")

    return all_ips
def _update_health_monitor_with_new_ips ( route_spec , all_ips , q_monitor_ips ) : new_all_ips = sorted ( set ( itertools . chain . from_iterable ( route_spec . values ( ) ) ) ) if new_all_ips != all_ips : logging . debug ( "New route spec detected. Updating " "health-monitor with: %s" % "," . join ( new_all_ips ) ) all_ips = new_all_ips q_monitor_ips . put ( all_ips ) else : logging . debug ( "New route spec detected. No changes in " "IP address list, not sending update to " "health-monitor." ) return all_ips
Take the current route spec and compare to the current list of known IP
    addresses. If the route spec mentiones a different set of IPs, update the
    monitoring thread with that new list.

    Return the current set of IPs mentioned in the route spec.