'Power on a VM instance.'

def _start(self, instance, vm_ref=None, bad_volumes_callback=None, start_pause=False):

    vm_ref = (vm_ref or self._get_vm_opaque_ref(instance))
    LOG.debug('Starting    instance', instance=instance)
    if bad_volumes_callback:
        bad_devices = self._volumeops.find_bad_volumes(vm_ref)
        for device_name in bad_devices:
            self._volumeops.detach_volume(None, instance['name'], device_name)
    self._session.call_xenapi('VM.start_on', vm_ref, self._session.host_ref, start_pause, False)
    if (bad_volumes_callback and bad_devices):
        bad_volumes_callback(bad_devices)
    self._post_start_actions(instance)
