'Create three vms.
First VM has a static mac and is placed on first host. Second VM is
placed on the first host and third VM is placed on second host.'

def _create_three_vms_first_has_static_mac(self, project_id, allowed_port, subnet_cidr):

    network = self.safe_client.create_network(project_id)
    self.safe_client.create_subnet(project_id, network['id'], subnet_cidr)
    sg = self.safe_client.create_security_group(project_id)
    self.safe_client.create_security_group_rule(project_id, sg['id'], direction='ingress', ethertype=constants.IPv4, protocol=constants.PROTO_NAME_TCP, port_range_min=allowed_port, port_range_max=allowed_port)
    vms = [self._create_vm_on_host(project_id, network['id'], sg['id'], self.environment.hosts[0], mac_address='fa:16:3e:de:ad:fe')]
    if (self.firewall_driver == 'iptables_hybrid'):
        vms.extend([self._create_vm_on_host(project_id, network['id'], sg['id'], self.environment.hosts[0]) for _ in range(2)])
    else:
        vms.extend([self._create_vm_on_host(project_id, network['id'], sg['id'], host) for host in self.environment.hosts[:2]])
    map((lambda vm: vm.block_until_boot()), vms)
    return vms
