MCPcopy Create free account
hub / github.com/apache/cloudstack / check_default_network_rules

Function check_default_network_rules

scripts/vm/network/security_group.py:508–530  ·  view source on GitHub ↗
(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips, is_first_nic=False)

Source from the content-addressed store, hash-verified

506 logging.debug("Failed to program ebtables rules for secondary ip %s for vm %s with action %s" % (ip, vmname, action))
507
508def check_default_network_rules(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips, is_first_nic=False):
509 brfw = get_br_fw(brname)
510 vmchain_default = '-'.join(vm_name.split('-')[:-1]) + "-def"
511 try:
512 rules = execute("iptables-save |grep -w %s |grep -w %s |grep -w %s" % (brfw, vif, vmchain_default))
513 except:
514 rules = None
515 if not rules:
516 logging.debug("iptables rules do not exist, programming default rules for %s %s" % (vm_name,vif))
517 default_network_rules(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips, is_first_nic)
518 else:
519 vmchain_in = vm_name + "-in"
520 try:
521 rules = execute("ebtables -t nat -L PREROUTING | grep %s |grep -w %s" % (vmchain_in, vif))
522 except:
523 rules = None
524 if not rules:
525 logging.debug("ebtables rules do not exist, programming default ebtables rules for %s %s" % (vm_name,vif))
526 default_ebtables_rules(vm_name, vm_ip, vm_mac, vif, is_first_nic)
527 ips = sec_ips.split(';')
528 ips.pop()
529 ebtables_rules_vmip(vm_name, vm_mac, ips, "-I")
530 return True
531
532def default_network_rules(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips, is_first_nic=False):
533 if not add_fw_framework(brname):

Callers 1

security_group.pyFile · 0.85

Calls 7

get_br_fwFunction · 0.85
default_network_rulesFunction · 0.85
default_ebtables_rulesFunction · 0.85
ebtables_rules_vmipFunction · 0.85
debugMethod · 0.80
executeFunction · 0.70
joinMethod · 0.45

Tested by

no test coverage detected