diff --git a/include/multipass/utils.h b/include/multipass/utils.h index ea1bf80805..f1620abe09 100644 --- a/include/multipass/utils.h +++ b/include/multipass/utils.h @@ -65,8 +65,6 @@ std::string timestamp(); bool is_running(const VirtualMachine::State& state); void wait_until_ssh_up(VirtualMachine* virtual_machine, std::chrono::milliseconds timeout, std::function const& process_vm_events = []() { }); -void wait_for_cloud_init(VirtualMachine* virtual_machine, std::chrono::milliseconds timeout, - std::function const& process_vm_events = []() { }); enum class TimeoutAction { diff --git a/include/multipass/virtual_machine.h b/include/multipass/virtual_machine.h index 6d02bc82c7..982476a46e 100644 --- a/include/multipass/virtual_machine.h +++ b/include/multipass/virtual_machine.h @@ -58,7 +58,6 @@ class VirtualMachine virtual std::string ipv4() = 0; virtual std::string ipv6() = 0; virtual void wait_until_ssh_up(std::chrono::milliseconds timeout) = 0; - virtual void wait_for_cloud_init(std::chrono::milliseconds timeout) = 0; virtual void update_state() = 0; VirtualMachine::State state; diff --git a/src/daemon/daemon.cpp b/src/daemon/daemon.cpp index 1e10d33ed4..495009d692 100644 --- a/src/daemon/daemon.cpp +++ b/src/daemon/daemon.cpp @@ -750,10 +750,6 @@ try // clang-format on vm->start(); vm->wait_until_ssh_up(std::chrono::minutes(5)); - reply.set_create_message("Waiting for initialization to complete"); - server->Write(reply); - vm->wait_for_cloud_init(std::chrono::minutes(5)); - reply.set_vm_instance_name(name); server->Write(reply); diff --git a/src/platform/backends/libvirt/libvirt_virtual_machine.cpp b/src/platform/backends/libvirt/libvirt_virtual_machine.cpp index 89370bb75c..2933163622 100644 --- a/src/platform/backends/libvirt/libvirt_virtual_machine.cpp +++ b/src/platform/backends/libvirt/libvirt_virtual_machine.cpp @@ -384,11 +384,6 @@ void mp::LibVirtVirtualMachine::wait_until_ssh_up(std::chrono::milliseconds time mp::utils::wait_until_ssh_up(this, timeout); } -void mp::LibVirtVirtualMachine::wait_for_cloud_init(std::chrono::milliseconds timeout) -{ - mp::utils::wait_for_cloud_init(this, timeout); -} - void mp::LibVirtVirtualMachine::update_state() { monitor->persist_state_for(vm_name); diff --git a/src/platform/backends/libvirt/libvirt_virtual_machine.h b/src/platform/backends/libvirt/libvirt_virtual_machine.h index f9d7ba77dc..f66b8d141c 100644 --- a/src/platform/backends/libvirt/libvirt_virtual_machine.h +++ b/src/platform/backends/libvirt/libvirt_virtual_machine.h @@ -50,7 +50,6 @@ class LibVirtVirtualMachine final : public VirtualMachine std::string ipv4() override; std::string ipv6() override; void wait_until_ssh_up(std::chrono::milliseconds timeout) override; - void wait_for_cloud_init(std::chrono::milliseconds timeout) override; void update_state() override; private: diff --git a/src/platform/backends/qemu/qemu_virtual_machine.cpp b/src/platform/backends/qemu/qemu_virtual_machine.cpp index 1fe462b445..43e7a3c954 100644 --- a/src/platform/backends/qemu/qemu_virtual_machine.cpp +++ b/src/platform/backends/qemu/qemu_virtual_machine.cpp @@ -498,10 +498,3 @@ void mp::QemuVirtualMachine::wait_until_ssh_up(std::chrono::milliseconds timeout delete_memory_snapshot = false; } } - -void mp::QemuVirtualMachine::wait_for_cloud_init(std::chrono::milliseconds timeout) -{ - auto process_vm_events = [this] { ensure_vm_is_running(); }; - - mp::utils::wait_for_cloud_init(this, timeout, process_vm_events); -} diff --git a/src/platform/backends/qemu/qemu_virtual_machine.h b/src/platform/backends/qemu/qemu_virtual_machine.h index 671c13e2a3..b3bb194cd2 100644 --- a/src/platform/backends/qemu/qemu_virtual_machine.h +++ b/src/platform/backends/qemu/qemu_virtual_machine.h @@ -50,7 +50,6 @@ class QemuVirtualMachine final : public VirtualMachine std::string ipv4() override; std::string ipv6() override; void wait_until_ssh_up(std::chrono::milliseconds timeout) override; - void wait_for_cloud_init(std::chrono::milliseconds timeout) override; void update_state() override; private: diff --git a/src/utils/utils.cpp b/src/utils/utils.cpp index 1c8f050b68..218cfa3f05 100644 --- a/src/utils/utils.cpp +++ b/src/utils/utils.cpp @@ -168,28 +168,6 @@ void mp::utils::wait_until_ssh_up(VirtualMachine* virtual_machine, std::chrono:: mp::utils::try_action_for(on_timeout, timeout, action); } -void mp::utils::wait_for_cloud_init(mp::VirtualMachine* virtual_machine, std::chrono::milliseconds timeout, - std::function const& process_vm_events) -{ - auto action = [virtual_machine, &process_vm_events] { - process_vm_events(); - try - { - mp::SSHSession session{virtual_machine->ssh_hostname(), virtual_machine->ssh_port(), - virtual_machine->ssh_username(), virtual_machine->key_provider}; - auto ssh_process = session.exec({"[ -e /var/lib/cloud/instance/boot-finished ]"}); - return ssh_process.exit_code() == 0 ? mp::utils::TimeoutAction::done : mp::utils::TimeoutAction::retry; - } - catch (const std::exception& e) - { - mpl::log(mpl::Level::warning, virtual_machine->vm_name, e.what()); - return mp::utils::TimeoutAction::retry; - } - }; - auto on_timeout = [] { throw std::runtime_error("timed out waiting for initialization to complete"); }; - mp::utils::try_action_for(on_timeout, timeout, action); -} - mp::Path mp::utils::make_dir(const QDir& a_dir, const QString& name) { if (!a_dir.mkpath(name)) diff --git a/tests/stub_virtual_machine.h b/tests/stub_virtual_machine.h index 44d45222cc..cafa960495 100644 --- a/tests/stub_virtual_machine.h +++ b/tests/stub_virtual_machine.h @@ -84,10 +84,6 @@ struct StubVirtualMachine final : public multipass::VirtualMachine { } - void wait_for_cloud_init(std::chrono::milliseconds) override - { - } - void update_state() override { }