intracom-telecom-sdn/multinet

View on GitHub
bin/handlers/detect_hosts

Summary

Maintainability
Test Coverage
#!/usr/bin/env python
"""Detect the hosts in the topologies
Command line handler to make the hosts visible to
the SDN Controller hosttracker.
Makes every host perform a ping to send a PACKET_IN
to the controller
"""

import util.multinet_requests as m_util


def detect_hosts_handler_main():
    """Main
    Send a POST request to the master 'detect_hosts' endpoint,
    validate the response code and print the responses

    Usage:
      bin/handler/detect_hosts --json-config <path-to-json-conf>

    Example:
      bin/handler/detect_hosts --json-config config/runtime_config.json

    Command Line Arguments:
      json-config (str): Path to the JSON configuration file to be used
    """
    args = m_util.parse_arguments()
    conf = m_util.parse_json_conf(args.json_config)
    data = {'is_serial':args.is_serial}
    res = m_util.master_cmd(conf['master_ip'],
                            conf['master_port'],
                            'detect_hosts', data)

    m_util.handle_post_request(res, exit_on_fail=True)

if __name__ == '__main__':
    detect_hosts_handler_main()