Commit d10538b3 authored by Willie Koomson's avatar Willie Koomson Committed by Commit Bot

Add SetVmId() call to ConciergeClient

This change adds support for SetVmId() call to ConciergeClient, which is
used by ArcVmClientAdapter to set the correct owner id for a mini-ARCVM
instance.

BUG=b:144542975
TEST=Use function from ArcVmClientAdapter, and check that vm_concierge
 receives the call and responds successfully.

Cq-Depend: chromium:2354353
Change-Id: I098b3fa2c1e829b693906a234aae635fa0b3ae80
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2354493Reviewed-by: default avatarYusuke Sato <yusukes@chromium.org>
Reviewed-by: default avatarSteven Bennetts <stevenjb@chromium.org>
Commit-Queue: Willie Koomson <wvk@google.com>
Cr-Commit-Position: refs/heads/master@{#812448}
parent 0c934f62
...@@ -233,6 +233,12 @@ class ConciergeClientImpl : public ConciergeClient { ...@@ -233,6 +233,12 @@ class ConciergeClientImpl : public ConciergeClient {
CallMethod(concierge::kResizeDiskImageMethod, request, std::move(callback)); CallMethod(concierge::kResizeDiskImageMethod, request, std::move(callback));
} }
void SetVmId(const vm_tools::concierge::SetVmIdRequest& request,
DBusMethodCallback<vm_tools::concierge::SetVmIdResponse>
callback) override {
CallMethod(concierge::kSetVmIdMethod, request, std::move(callback));
}
protected: protected:
void Init(dbus::Bus* bus) override { void Init(dbus::Bus* bus) override {
concierge_proxy_ = bus->GetObjectProxy( concierge_proxy_ = bus->GetObjectProxy(
......
...@@ -249,6 +249,12 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) ConciergeClient : public DBusClient { ...@@ -249,6 +249,12 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) ConciergeClient : public DBusClient {
DBusMethodCallback<vm_tools::concierge::ResizeDiskImageResponse> DBusMethodCallback<vm_tools::concierge::ResizeDiskImageResponse>
callback) = 0; callback) = 0;
// Sets the cryptohome id of the given VM.
// |callback| is called after the method call finishes.
virtual void SetVmId(
const vm_tools::concierge::SetVmIdRequest& request,
DBusMethodCallback<vm_tools::concierge::SetVmIdResponse> callback) = 0;
// Creates an instance of ConciergeClient. // Creates an instance of ConciergeClient.
static std::unique_ptr<ConciergeClient> Create(); static std::unique_ptr<ConciergeClient> Create();
......
...@@ -309,6 +309,14 @@ void FakeConciergeClient::ResizeDiskImage( ...@@ -309,6 +309,14 @@ void FakeConciergeClient::ResizeDiskImage(
weak_ptr_factory_.GetWeakPtr())); weak_ptr_factory_.GetWeakPtr()));
} }
void FakeConciergeClient::SetVmId(
const vm_tools::concierge::SetVmIdRequest& request,
DBusMethodCallback<vm_tools::concierge::SetVmIdResponse> callback) {
set_vm_id_called_ = true;
base::ThreadTaskRunnerHandle::Get()->PostTask(
FROM_HERE, base::BindOnce(std::move(callback), set_vm_id_response_));
}
void FakeConciergeClient::NotifyVmStarted( void FakeConciergeClient::NotifyVmStarted(
const vm_tools::concierge::VmStartedSignal& signal) { const vm_tools::concierge::VmStartedSignal& signal) {
for (auto& observer : vm_observer_list_) for (auto& observer : vm_observer_list_)
...@@ -374,6 +382,9 @@ void FakeConciergeClient::InitializeProtoResponses() { ...@@ -374,6 +382,9 @@ void FakeConciergeClient::InitializeProtoResponses() {
detach_usb_device_response_.emplace(); detach_usb_device_response_.emplace();
detach_usb_device_response_->set_success(true); detach_usb_device_response_->set_success(true);
set_vm_id_response_.emplace();
set_vm_id_response_->set_success(true);
} }
} // namespace chromeos } // namespace chromeos
...@@ -116,6 +116,10 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient ...@@ -116,6 +116,10 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient
DBusMethodCallback<vm_tools::concierge::ResizeDiskImageResponse> callback) DBusMethodCallback<vm_tools::concierge::ResizeDiskImageResponse> callback)
override; override;
void SetVmId(const vm_tools::concierge::SetVmIdRequest& request,
DBusMethodCallback<vm_tools::concierge::SetVmIdResponse>
callback) override;
const base::ObserverList<Observer>& observer_list() const { const base::ObserverList<Observer>& observer_list() const {
return observer_list_; return observer_list_;
} }
...@@ -286,6 +290,7 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient ...@@ -286,6 +290,7 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient
bool detach_usb_device_called_ = false; bool detach_usb_device_called_ = false;
bool start_arc_vm_called_ = false; bool start_arc_vm_called_ = false;
bool resize_disk_image_called_ = false; bool resize_disk_image_called_ = false;
bool set_vm_id_called_ = false;
bool is_vm_started_signal_connected_ = true; bool is_vm_started_signal_connected_ = true;
bool is_vm_stopped_signal_connected_ = true; bool is_vm_stopped_signal_connected_ = true;
bool is_container_startup_failed_signal_connected_ = true; bool is_container_startup_failed_signal_connected_ = true;
...@@ -321,6 +326,7 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient ...@@ -321,6 +326,7 @@ class COMPONENT_EXPORT(CHROMEOS_DBUS) FakeConciergeClient
detach_usb_device_response_; detach_usb_device_response_;
base::Optional<vm_tools::concierge::ResizeDiskImageResponse> base::Optional<vm_tools::concierge::ResizeDiskImageResponse>
resize_disk_image_response_; resize_disk_image_response_;
base::Optional<vm_tools::concierge::SetVmIdResponse> set_vm_id_response_;
// Can be set to fake a series of disk image status signals. // Can be set to fake a series of disk image status signals.
std::vector<vm_tools::concierge::DiskImageStatusResponse> std::vector<vm_tools::concierge::DiskImageStatusResponse>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment