From 1bf53cfd03fe903b6723989eda784737cc44f0b8 Mon Sep 17 00:00:00 2001 From: bharnden Date: Sat, 30 Mar 2019 21:05:50 -0700 Subject: [PATCH] small cleanup to grpc switch example --- daemon/examples/grpc/switch.py | 79 +++++++--------------------------- 1 file changed, 16 insertions(+), 63 deletions(-) diff --git a/daemon/examples/grpc/switch.py b/daemon/examples/grpc/switch.py index 3906dd9a..354e7b66 100644 --- a/daemon/examples/grpc/switch.py +++ b/daemon/examples/grpc/switch.py @@ -1,5 +1,4 @@ import logging -import os from core.grpc import client from core.grpc import core_pb2 @@ -10,96 +9,50 @@ def log_event(event): def main(): - xml_file_name = "/tmp/core.xml" core = client.CoreGrpcClient() with core.context_connect(): - if os.path.exists(xml_file_name): - response = core.open_xml(xml_file_name) - print("open xml: {}".format(response)) - - print("services: {}".format(core.get_services())) - # create session session = core.create_session() + logging.info("created session: %s", session) + + # handle events session may broadcast core.exception_events(session.id, log_event) core.node_events(session.id, log_event) core.session_events(session.id, log_event) core.link_events(session.id, log_event) core.file_events(session.id, log_event) core.config_events(session.id, log_event) - print("created session: {}".format(session)) - print("default services: {}".format(core.get_service_defaults(session.id))) - print("emane models: {}".format(core.get_emane_models(session.id))) - print("add hook: {}".format(core.add_hook(session.id, core_pb2.STATE_RUNTIME, "test", "echo hello"))) - print("hooks: {}".format(core.get_hooks(session.id))) - - response = core.get_sessions() - print("core client received: {}".format(response)) - - print("set emane config: {}".format(core.set_emane_config(session.id, {"otamanagerttl": "2"}))) - print("emane config: {}".format(core.get_emane_config(session.id))) - - # set session location - response = core.set_session_location( - session.id, x=0, y=0, - lat=47.57917, lon=-122.13232, alt=3.0, - scale=150000.0 - ) - print("set location response: {}".format(response)) - - # get options - print("get options: {}".format(core.get_session_options(session.id))) - - # get location - print("get location: {}".format(core.get_session_location(session.id))) # change session state - print("set session state: {}".format(core.set_session_state(session.id, core_pb2.STATE_CONFIGURATION))) + response = core.set_session_state(session.id, core_pb2.STATE_CONFIGURATION) + logging.info("set session state: %s", response) # create switch node switch = core_pb2.Node(type=core_pb2.NODE_SWITCH) response = core.add_node(session.id, switch) - print("created switch: {}".format(response)) + logging.info("created switch: %s", response) switch_id = response.id - # ip generator for example + # helper to create interfaces interface_helper = client.InterfaceHelper(ip4_prefix="10.83.0.0/16") - # create node nodes and link them to switch - for _ in xrange(2): - node = core_pb2.Node() + for i in xrange(2): + # create node + position = core_pb2.Position(x=50 + 50 * i, y=50) + node = core_pb2.Node(position=position) response = core.add_node(session.id, node) - print("created node: {}".format(response)) + logging.info("created node: %s", response) node_id = response.id - position = core_pb2.Position(x=5, y=5) - print("edit node: {}".format(core.edit_node(session.id, node_id, position))) - print("get node: {}".format(core.get_node(session.id, node_id))) - print("emane model config: {}".format( - core.get_emane_model_config(session.id, node_id, "emane_tdma"))) - - print("node service: {}".format(core.get_node_service(session.id, node_id, "zebra"))) # create link interface_one = interface_helper.create_interface(node_id, 0) - print("created link: {}".format(core.add_link(session.id, node_id, switch_id, interface_one))) - link_options = core_pb2.LinkOptions(per=50) - print("edit link: {}".format(core.edit_link( - session.id, node_id, switch_id, link_options, interface_one=0))) - - print("get node links: {}".format(core.get_node_links(session.id, node_id))) + response = core.add_link(session.id, node_id, switch_id, interface_one) + logging.info("created link: %s", response) # change session state - print("set session state: {}".format(core.set_session_state(session.id, core_pb2.STATE_INSTANTIATION))) - - # get session - print("get session: {}".format(core.get_session(session.id))) - - # save xml - core.save_xml(session.id, xml_file_name) - - # delete session - print("delete session: {}".format(core.delete_session(session.id))) + response = core.set_session_state(session.id, core_pb2.STATE_INSTANTIATION) + logging.info("set session state: %s", response) if __name__ == "__main__":