Skip to content

Commit

Permalink
daemon: Remove wait_for_cloud_init() since it's no longer necessary
Browse files Browse the repository at this point in the history
The client (and user) no longer need to wait for cloud-init to finish in the
instance since cloud-init no longer installs sshfs.
  • Loading branch information
Chris Townsend committed Feb 28, 2019
1 parent 2bff665 commit ea5d56b
Show file tree
Hide file tree
Showing 9 changed files with 0 additions and 47 deletions.
2 changes: 0 additions & 2 deletions include/multipass/utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -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<void()> const& process_vm_events = []() { });
void wait_for_cloud_init(VirtualMachine* virtual_machine, std::chrono::milliseconds timeout,
std::function<void()> const& process_vm_events = []() { });

enum class TimeoutAction
{
Expand Down
1 change: 0 additions & 1 deletion include/multipass/virtual_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
4 changes: 0 additions & 4 deletions src/daemon/daemon.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
5 changes: 0 additions & 5 deletions src/platform/backends/libvirt/libvirt_virtual_machine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
1 change: 0 additions & 1 deletion src/platform/backends/libvirt/libvirt_virtual_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
7 changes: 0 additions & 7 deletions src/platform/backends/qemu/qemu_virtual_machine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
1 change: 0 additions & 1 deletion src/platform/backends/qemu/qemu_virtual_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
22 changes: 0 additions & 22 deletions src/utils/utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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<void()> 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))
Expand Down
4 changes: 0 additions & 4 deletions tests/stub_virtual_machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,6 @@ struct StubVirtualMachine final : public multipass::VirtualMachine
{
}

void wait_for_cloud_init(std::chrono::milliseconds) override
{
}

void update_state() override
{
}
Expand Down

0 comments on commit ea5d56b

Please sign in to comment.