def do_vr_cfg_1(vr_cfg_params): logging.info("in do_vr_cfg_1 for %s", vr_cfg_params['nodeName_1']) ctrl = Controller(vr_cfg_params['ctrlIpAddr'], vr_cfg_params['ctrlPortNum'], vr_cfg_params['ctrlUname'], vr_cfg_params['ctrlPswd']) vrouter = VRouter5600(ctrl, vr_cfg_params['nodeName_1'], vr_cfg_params['nodeIpAddr_1'], vr_cfg_params['nodePortNum_1'], vr_cfg_params['nodeUname_1'], vr_cfg_params['nodePswd_1']) node_configured = False result = ctrl.check_node_config_status(vr_cfg_params['nodeName_1']) status = result.get_status() if status.eq(STATUS.NODE_CONFIGURED): node_configured = True print ("<<< '%s' is configured on the Controller" % vr_cfg_params['nodeName_1']) elif status.eq(STATUS.DATA_NOT_FOUND): node_configured = False else: logging.info ("\n") logging.info ("Failed to get configuration status for the '%s'" % vr_cfg_params['nodeName_1']) logging.info ("!!!Demo terminated, reason: %s" % status.detailed()) exit(0) if node_configured is False: result = ctrl.add_netconf_node(vrouter) status = result.get_status() if status.eq(STATUS.OK): logging.info ("<<< '%s' added to the Controller" % vr_cfg_params['nodeName_1']) else: logging.info ("\n") logging.info ("!!!Demo terminated, reason: %s" % status.detailed()) exit(0) result = ctrl.check_node_conn_status(vr_cfg_params['nodeName_1']) status = result.get_status() if status.eq(STATUS.NODE_CONNECTED): logging.info ("<<< '%s' is connected to the Controller" % vr_cfg_params['nodeName_1']) else: logging.info ("\n") logging.info ("!!!Demo terminated, reason: %s" % status.brief().lower()) exit(0) set_loopback_interface_1(ctrl, vr_cfg_params) dp1_1 = DataPlaneInterface(vr_cfg_params['dp1Name_1']) dp1_1.set_address(vr_cfg_params['dp1Addr_1']) vrouter.set_dataplane_interface_cfg(dp1_1) dp2_1 = DataPlaneInterface(vr_cfg_params['dp1Name_2']) dp2_1.set_address(vr_cfg_params['dp1Addr_2']) vrouter.set_dataplane_interface_cfg(dp2_1) dp3_1 = DataPlaneInterface(vr_cfg_params['dp1Name_3']) dp3_1.set_address(vr_cfg_params['dp1Addr_3']) vrouter.set_dataplane_interface_cfg(dp3_1) set_ospf_cfg_1(ctrl, vr_cfg_params) set_bgp_cfg_1(ctrl, vr_cfg_params) sys.exit(0)
def do_vr_cfg_3(vr_cfg_params): logging.info("in do_vr_cfg_3 for %s", vr_cfg_params['nodeName_3']) ctrl = Controller(vr_cfg_params['ctrlIpAddr'], vr_cfg_params['ctrlPortNum'], vr_cfg_params['ctrlUname'], vr_cfg_params['ctrlPswd']) vrouter = VRouter5600(ctrl, vr_cfg_params['nodeName_3'], vr_cfg_params['nodeIpAddr_3'], vr_cfg_params['nodePortNum_3'], vr_cfg_params['nodeUname_3'], vr_cfg_params['nodePswd_3']) logging.info ("<<< 'Controller': %s, '%s': %s" % (vr_cfg_params['ctrlIpAddr'], vr_cfg_params['nodeName_3'], vr_cfg_params['nodeIpAddr_3'])) # set interfaces loopback lo address 10.0.0.22/32 # set interfaces dataplane dp0s3 address 192.168.21.2/24 # set interfaces dataplane dp0s6 address 10.252.30.206/30 set_loopback_interface_3(ctrl, vr_cfg_params) dp1_3 = DataPlaneInterface(vr_cfg_params['dp1Name_3']) dp1_3.set_address(vr_cfg_params['dp1Addr_3']) vrouter.set_dataplane_interface_cfg(dp1_3) dp2_3 = DataPlaneInterface(vr_cfg_params['dp2Name_3']) dp2_3.set_address(vr_cfg_params['dp2Addr_3']) vrouter.set_dataplane_interface_cfg(dp2_3) set_ospf_cfg_3(ctrl, vr_cfg_params) sys.exit(0)
status = result.get_status() if(status.eq(STATUS.NODE_CONNECTED)): print ("<<< '%s' is connected to the Controller" % nodeName) else: print ("\n") print ("!!!Script terminated, reason: %s" % status.brief().lower()) exit(0) # wait on input print "\n" user_input = raw_input("Press any key to add the vif to the '%s': " % nodeName) # virtualInterface = VirtualInterface(vifId) # vrouter.add_modify_vif_instance(virtualInterface, interfaceName) virtualInterface = DataPlaneInterface(interfaceName) virtualInterface.vif = vifId vrouter.set_dataplane_interface_vif_cfg(virtualInterface) # wait on input print "\n" user_input = raw_input("Press any key to delete the vr5600: ") print (">>> Remove '%s' NETCONF node from the Controller" % nodeName) result = ctrl.delete_netconf_node(vrouter) status = result.get_status() if(status.eq(STATUS.OK)): print ("'%s' NETCONF node was successfully removed " "from the Controller" % nodeName) else: print ("\n")