예제 #1
0
 def vm_power_on(self, vm_obj):
     facts = {}
     try:
         if self.params['power_on']:
             task = vm_obj.PowerOn()
             if self.params['wait']:
                 wait_for_task(task)
                 if self.params['wait_for_ip_address']:
                     _facts = wait_for_vm_ip(self.si, vm_obj)
                     if not _facts:
                         self.module.fail_json(
                             msg='Waiting for IP address timed out')
                     facts.update(_facts)
     except Exception, e:
         self.module.fail_json(msg="Error received from vCenter:%s" %
                               (e.message.msg))
예제 #2
0
    def power_on(self):
        facts = {}
        if self.params['power_on']:
            task = self.entity.PowerOn()
            if self.params['wait']:
                wait_for_task(task)
                if self.params['wait_for_ip_address']:
                    _facts = wait_for_vm_ip(self.si, self.entity)
                    if not _facts:
                        self.module.fail_json(msg='Waiting for IP address timed out')
                    facts.update(_facts)

        if not facts:
            facts.update(gather_vm_facts(self.si, self.entity))

        return facts
예제 #3
0
 def power_on(self):
     facts = {}
     if self.params['power_on']:
         task = self.entity.PowerOn()
         if self.params['wait']:
             try:
                 wait_for_task(task)
             except Exception, e:
                 self.module.fail_json(
                     msg="Unable to PowerOn VM due to: %s" %
                     to_native(e.message.msg))
             if task.info.state == 'error':
                 self.module.exit_json(msg="Error occured: %s" %
                                       to_native(task.info.error.msg))
             if self.params['wait_for_ip_address']:
                 _facts = wait_for_vm_ip(self.si, self.entity)
                 if not _facts:
                     self.module.fail_json(
                         msg='Waiting for IP address timed out')
                 facts.update(_facts)