Exemplo n.º 1
0
def test_caps_init():
    with mock.patch('caps.detect_supported_caps', return_value=[common.CAT_CAP, common.MBA_CAP]) as mock_detect_caps,\
         mock.patch('common.PQOS_API.is_multicore', return_value = True) as mock_is_multi:

        assert not caps.caps_init()

        mock_detect_caps.assert_called_once()
        mock_is_multi.assert_called_once()

        caps.SYSTEM_CAPS = ["TEST"]
        assert not caps.caps_init()

        mock_is_multi.return_value = False
        assert caps.caps_init() == -1
Exemplo n.º 2
0
def main():
    """
    Main entry point
    """

    # parse command line arguments
    parser = argparse.ArgumentParser()
    parser.add_argument('-c',
                        '--config',
                        metavar="PATH",
                        default=common.CONFIG_FILENAME,
                        help="Configuration file path")
    parser.add_argument('--port',
                        metavar=("PORT"),
                        default=[5000],
                        type=int,
                        nargs=1,
                        help="REST API port")
    parser.add_argument('-V',
                        '--verbose',
                        action='store_true',
                        help="Verbose mode")
    cmd_args = parser.parse_args()

    # configure syslog output
    syslog.openlog("AppQoS")

    if cmd_args.verbose:
        log.enable_verbose()

    # initialize libpqos/Intel RDT interface
    result = common.PQOS_API.init()
    if result != 0:
        log.error("libpqos initialization failed, Terminating...")
        return

    # initialize capabilities
    result = caps.caps_init()
    if result == 0:
        # initialize main logic
        app_qos = AppQoS()

        # start REST API server
        server = rest.Server()
        result = server.start("127.0.0.1", cmd_args.port[0], cmd_args.verbose)
        if result == 0:
            # run main logic
            app_qos.run(cmd_args)

            # stop REST API server
            server.terminate()
        else:
            log.error("Failed to start REST API server, Terminating...")
    else:
        log.error("Required capabilities not supported, Terminating...")

    # de-initialize libpqos
    common.PQOS_API.fini()
Exemplo n.º 3
0
def main():
    """
    Main entry point
    """

    parser = argparse.ArgumentParser()
    parser.add_argument('-c', '--config', metavar="PATH", default=common.CONFIG_FILENAME,
                        help="Configuration file path")
    parser.add_argument('--port', metavar=("PORT"), default=[5000], type=int, nargs=1,
                        help="REST API port")
    parser.add_argument('-V', '--verbose', action='store_true', help="Verbose mode")
    cmd_args = parser.parse_args()

    # configure syslog output
    syslog.openlog("AppQoS")

    if cmd_args.verbose:
        log.enable_verbose()

    result = common.PQOS_API.init()
    if result != 0:
        log.error("libpqos initialization failed, Terminating...")
        return

    # initialize capabilities
    result = caps.caps_init()
    if result == 0:
        # initialize main logic
        app_qos = AppQoS()

        # start REST API server
        server = rest.Server()
        result = server.start("0.0.0.0", cmd_args.port[0], cmd_args.verbose)
        if result == 0:
            # run main logic
            app_qos.run(cmd_args)

            # stop REST API server
            server.terminate()
        else:
            log.error("Failed to start REST API server, Terminating...")
    else:
        log.error("Required capabilities not supported, Terminating...")

    # de-initialize libpqos
    common.PQOS_API.fini()