@@ -11,11 +11,23 @@ def __init__(self, pyvmomi_service, ip_manager):
1111 self .pyvmomi_service = pyvmomi_service # type: pyVmomiService
1212 self .ip_manager = ip_manager # type: VMIPManager
1313
14- def create (self , vm , name , reserved_networks , ip_regex , deployment_details_provider , logger ):
15- """"""
14+ def create (self , vm , name , reserved_networks , ip_regex , deployment_details_provider , wait_for_ip , logger ):
15+ """
16+ creates the details provider
17+ :param vm:
18+ :param name:
19+ :param reserved_networks:
20+ :param ip_regex:
21+ :param deployment_details_provider:
22+ :param wait_for_ip: type: string contains 'True' or 'False'
23+ :param logger:
24+ :return:
25+ """
26+
27+ logger .info ('waiting for ip = {0}' .format (wait_for_ip ))
1628
1729 vm_instance_data = self ._get_vm_instance_data (vm , deployment_details_provider )
18- vm_network_data = self ._get_vm_network_data (vm , reserved_networks , ip_regex , logger )
30+ vm_network_data = self ._get_vm_network_data (vm , reserved_networks , ip_regex , wait_for_ip , logger )
1931
2032 return VmDetailsData (vmInstanceData = vm_instance_data , vmNetworkData = vm_network_data )
2133
@@ -39,10 +51,14 @@ def _get_vm_instance_data(self, vm, deployment_details_provider):
3951
4052 return data
4153
42- def _get_vm_network_data (self , vm , reserved_networks , ip_regex , logger ):
54+ def _get_vm_network_data (self , vm , reserved_networks , ip_regex , wait_for_ip , logger ):
4355 network_interfaces = []
4456
45- primary_ip = self ._get_primary_ip (vm , ip_regex , logger )
57+ if wait_for_ip == 'True' :
58+ primary_ip = self ._get_primary_ip (vm , ip_regex , logger )
59+ else :
60+ primary_ip = None ;
61+
4662 net_devices = [d for d in vm .config .hardware .device if isinstance (d , vim .vm .device .VirtualEthernetCard )]
4763
4864 for device in net_devices :
0 commit comments