+ if network_type == "external":
+ expected_r_id = r"{}_\d+_{}_port_\d+".format(vm_type, network_role)
+ else:
+ expected_r_id = r"{}_\d+_int_{}_port_\d+".format(
+ vm_type, network_role
+ )
+ if not re.match(expected_r_id, port_id):
+ invalid_ports.append(
+ (port_id, "Did not match {}".format(expected_r_id))
+ )
+
+ port_errors = "; ".join(
+ "{} -> {}".format(port, error) for port, error in invalid_ports
+ )
+ msg = "The following ports have invalid resource IDs: {}".format(port_errors)
+ msg = msg.replace(r"\d+", "{index}")
+ assert not invalid_ports, msg