Method: OpenNebula::VirtualMachine#wait_state

Defined in:
lib/opennebula/virtual_machine.rb

#wait_state(state, timeout = 10) ⇒ Object



950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
# File 'lib/opennebula/virtual_machine.rb', line 950

def wait_state(state, timeout=10)
    vm_state = ""
    lcm_state = ""

    timeout.times do
        rc = info()
        return rc if OpenNebula.is_error?(rc)

        vm_state = state_str()
        lcm_state = lcm_state_str()

        if vm_state == state
            return true
        end

        sleep 1
    end

    return Error.new("Timeout expired for state #{state}. "<<
        "VM is in state #{vm_state}, #{lcm_state}")
end