COMMON_CONFIG = config.CommonConfig()
-def odl_add_neighbor(neighbor_ip, controller):
+def odl_add_neighbor(neighbor_ip, controller_ip, controller):
+ # Explicitly pass controller_ip because controller.ip
+ # Might not be accessible from the Quagga instance
command = 'configure-bgp -op add-neighbor --as-num 200'
- command += ' --ip %s --use-source-ip %s' % (neighbor_ip, controller.ip)
+ command += ' --ip %s --use-source-ip %s' % (neighbor_ip, controller_ip)
success = run_odl_cmd(controller, command)
+ # The run_cmd api is really whimsical
+ logger.info("Maybe stdout of %s: %s", command, success)
return success
return rc == 0
-def gen_quagga_setup_script(controller_ip, instance_floating_ip):
+def gen_quagga_setup_script(controller_ip,
+ fake_floating_ip,
+ ext_net_mask):
with open(COMMON_CONFIG.quagga_setup_script_path) as f:
template = f.read()
- script = template % (controller_ip, instance_floating_ip)
+ script = template % (controller_ip,
+ fake_floating_ip,
+ ext_net_mask)
return script
def check_for_peering(controller):
- cmd = 'show-bgp --cmd "ip bgp neighbors"'
+ cmd = 'show-bgp --cmd \\"ip bgp neighbors\\"'
tries = 20
neighbors = None
bgp_state_regex = re.compile("(BGP state =.*)")