Exemple #1
0
    def run(self, cli_opts):
        try:
            # fetch routes from decision module
            (decision_unicast_routes,
             decision_mpls_routes) = utils.get_shortest_routes(
                 decision_client.DecisionClient(cli_opts).get_route_db())
            # fetch routes from fib module
            (fib_unicast_routes, fib_mpls_routes) = utils.get_shortest_routes(
                fib_client.FibClient(cli_opts).get_route_db())
            # fetch route from net_agent module
            agent_unicast_routes = self.client.getRouteTableByClient(
                self.client.client_id)
            agent_mpls_routes = self.client.getMplsRouteTableByClient(
                self.client.client_id)
            # fetch link_db from link-monitor module
            lm_links = lm_client.LMClient(
                cli_opts).dump_links().interfaceDetails

        except Exception as e:
            print("Failed to validate Fib routes.")
            print("Exception: {}".format(e))
            raise e
            # return 1

        (res1_unicast, _) = utils.compare_route_db(
            decision_unicast_routes,
            fib_unicast_routes,
            "unicast",
            ["Decision:unicast", "Openr-Fib:unicast"],
            cli_opts.enable_color,
        )
        (res1_mpls, _) = utils.compare_route_db(
            decision_mpls_routes,
            fib_mpls_routes,
            "mpls",
            ["Decision:mpls", "Openr-Fib:mpls"],
            cli_opts.enable_color,
        )
        (res2_unicast, _) = utils.compare_route_db(
            fib_unicast_routes,
            agent_unicast_routes,
            "unicast",
            ["Openr-Fib:unicast", "FibAgent:unicast"],
            cli_opts.enable_color,
        )
        (res2_mpls, _) = utils.compare_route_db(
            fib_mpls_routes,
            agent_mpls_routes,
            "mpls",
            ["Openr-Fib:mpls", "FibAgent:mpls"],
            cli_opts.enable_color,
        )
        (res3, _) = utils.validate_route_nexthops(
            fib_unicast_routes,
            lm_links,
            ["Openr-Fib:unicast", "LinkMonitor"],
            cli_opts.enable_color,
        )
        return (0 if res1_unicast and res1_mpls and res2_unicast and res2_mpls
                and res3 else -1)
        def _decision_client():
            decision_client_inst = decision_client.DecisionClient(
                zmq.Context(), "tcp://localhost:5000")

            self.assertEqual(decision_client_inst.get_route_db(), route_db_cache)
            self.assertEqual(decision_client_inst.get_adj_dbs(), adj_dbs_cache)
            self.assertEqual(decision_client_inst.get_prefix_dbs(), prefix_dbs_cache)
Exemple #3
0
    def __init__(self, cli_opts):
        """ initialize the Decision client """

        self.host = cli_opts.host
        self.timeout = cli_opts.timeout
        self.cli_opts = cli_opts
        self.fib_agent_port = cli_opts.fib_agent_port
        self.enable_color = cli_opts.enable_color

        self.client = decision_client.DecisionClient(cli_opts)
        self.kvstore_client = kvstore_client.KvStoreClient(cli_opts)
Exemple #4
0
        def _decision_client():
            decision_client_inst = decision_client.DecisionClient(
                bunch.Bunch({
                    "ctx": zmq.Context(),
                    "host": "localhost",
                    "decision_rep_port": 5000,
                }))

            self.assertEqual(decision_client_inst.get_route_db(),
                             route_db_cache)
            self.assertEqual(decision_client_inst.get_adj_dbs(), adj_dbs_cache)
            self.assertEqual(decision_client_inst.get_prefix_dbs(),
                             prefix_dbs_cache)
Exemple #5
0
    def __init__(self, cli_opts):
        ''' initialize the Decision client '''

        self.host = cli_opts.host
        self.timeout = cli_opts.timeout
        self.lm_cmd_port = cli_opts.lm_cmd_port
        self.kv_rep_port = cli_opts.kv_rep_port
        self.fib_agent_port = cli_opts.fib_agent_port
        self.enable_color = cli_opts.enable_color

        self.client = decision_client.DecisionClient(
            cli_opts.zmq_ctx,
            "tcp://[{}]:{}".format(cli_opts.host, cli_opts.decision_rep_port),
            cli_opts.timeout, cli_opts.proto_factory)
Exemple #6
0
 def get_decision_route_db(self):
     self.decision_client = decision_client.DecisionClient(
         zmq.Context(), "tcp://[{}]:{}".format(self.client.host,
                                               self.decision_rep_port))
     return self.decision_client.get_route_db()
Exemple #7
0
 def get_decision_route_db(self, cli_opts):
     self.decision_client = decision_client.DecisionClient(cli_opts)
     return utils.get_shortest_routes(self.decision_client.get_route_db())
Exemple #8
0
 def get_decision_route_db(self, cli_opts):
     self.decision_client = decision_client.DecisionClient(
         zmq.Context(), "tcp://[{}]:{}".format(cli_opts.host,
                                               cli_opts.decision_rep_port))
     return utils.get_shortest_routes(self.decision_client.get_route_db())