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

Function verify_network_rules

scripts/vm/network/security_group.py:1365–1410  ·  view source on GitHub ↗
(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips)

Source from the content-addressed store, hash-verified

1363 return False
1364
1365def verify_network_rules(vm_name, vm_id, vm_ip, vm_ip6, vm_mac, vif, brname, sec_ips):
1366 if vm_name is None or vm_ip is None or vm_mac is None:
1367 print("vm_name, vm_ip and vm_mac must be specifed")
1368 sys.exit(1)
1369
1370 if vm_id is None:
1371 vm_id = vm_name.split("-")[-2]
1372
1373 if brname is None:
1374 brname = execute("virsh domiflist %s |grep -w '%s' | awk '{print $3}'" % (vm_name, vm_mac)).strip()
1375 if not brname:
1376 print("Cannot find bridge")
1377 sys.exit(1)
1378
1379 if vif is None:
1380 vif = execute("virsh domiflist %s |grep -w '%s' | awk '{print $1}'" % (vm_name, vm_mac)).strip()
1381 if not vif:
1382 print("Cannot find vif")
1383 sys.exit(1)
1384
1385 #vm_name = "i-2-55-VM"
1386 #vm_id = 55
1387 #vm_ip = "10.11.118.128"
1388 #vm_ip6 = "fe80::1c00:b4ff:fe00:5"
1389 #vm_mac = "1e:00:b4:00:00:05"
1390 #vif = "vnet11"
1391 #brname = "cloudbr0"
1392 #sec_ips = "10.11.118.133;10.11.118.135;10.11.118.138;" # end with ";" and separated by ";"
1393
1394 vm_ips = []
1395 if sec_ips is not None:
1396 vm_ips = sec_ips.split(';')
1397 vm_ips.pop()
1398 vm_ips.reverse()
1399 vm_ips.append(vm_ip)
1400
1401 if not verify_ipset_for_vm(vm_name, vm_id, vm_ips, vm_ip6):
1402 sys.exit(2)
1403 if not verify_iptables_rules_for_bridge(brname):
1404 sys.exit(3)
1405 if not verify_default_iptables_rules_for_vm(vm_name, vm_id, vm_ips, vm_ip6, vm_mac, vif, brname):
1406 sys.exit(4)
1407 if not verify_ebtables_rules_for_vm(vm_name, vm_id, vm_ips, vm_ip6, vm_mac, vif, brname):
1408 sys.exit(5)
1409
1410 sys.exit(0)
1411
1412def verify_ipset_for_vm(vm_name, vm_id, vm_ips, vm_ip6):
1413 vmipsetName = ipset_chain_name(vm_name)

Callers 1

security_group.pyFile · 0.85

Calls 6

verify_ipset_for_vmFunction · 0.85
executeFunction · 0.70
appendMethod · 0.45

Tested by

no test coverage detected