From 9f236389592de55feda47195a4cd92b5ba5d6242 Mon Sep 17 00:00:00 2001 From: 3wc <3wc.cyberia@doesthisthing.work> Date: Wed, 21 Jul 2021 22:06:30 +0200 Subject: [PATCH 1/3] Add VMs to the database even with HUB_MODE=mock Closes ~cyberia/services#83 --- capsulflask/hub_model.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/capsulflask/hub_model.py b/capsulflask/hub_model.py index ac2a865..ba81eb5 100644 --- a/capsulflask/hub_model.py +++ b/capsulflask/hub_model.py @@ -40,6 +40,16 @@ class MockHub(VirtualizationInterface): validate_capsul_id(id) current_app.logger.info(f"mock create: {id} for {email}") sleep(1) + get_model().create_vm( + email=email, + id=id, + size=size, + os=os, + host=host_id, + network_name=network_name, + public_ipv4=public_ipv4, + ssh_authorized_keys=list(map(lambda x: x["name"], ssh_authorized_keys)), + ) def destroy(self, email: str, id: str): current_app.logger.info(f"mock destroy: {id} for {email}") @@ -49,7 +59,6 @@ class MockHub(VirtualizationInterface): class CapsulFlaskHub(VirtualizationInterface): - def synchronous_operation(self, hosts: List[OnlineHost], email: str, payload: str) -> List[HTTPResult]: return self.generic_operation(hosts, email, payload, True)[1] @@ -262,4 +271,3 @@ class CapsulFlaskHub(VirtualizationInterface): if not result_status == "success": raise ValueError(f"""failed to {command} vm "{id}" on host "{host.id}" for {email}: {result_json_string}""") - -- 2.40.1 From f7461d5a28a295393276329c9f7f7d83676cdfb8 Mon Sep 17 00:00:00 2001 From: forest Date: Wed, 21 Jul 2021 16:16:50 -0500 Subject: [PATCH 2/3] default_network and default_ipv4 on mock hub --- capsulflask/hub_model.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/capsulflask/hub_model.py b/capsulflask/hub_model.py index ba81eb5..5cf57b4 100644 --- a/capsulflask/hub_model.py +++ b/capsulflask/hub_model.py @@ -17,6 +17,10 @@ from capsulflask.http_client import HTTPResult from capsulflask.shared import VirtualizationInterface, VirtualMachine, OnlineHost, validate_capsul_id, my_exec_info_message class MockHub(VirtualizationInterface): + def __init__(self): + self.default_network = "public1" + self.default_ipv4 = "1.1.1.1" + def capacity_avaliable(self, additional_ram_bytes): return True @@ -29,9 +33,9 @@ class MockHub(VirtualizationInterface): {"key_type":"RSA", "content":"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvotgzgEP65JUQ8S8OoNKy1uEEPEAcFetSp7QpONe6hj4wPgyFNgVtdoWdNcU19dX3hpdse0G8OlaMUTnNVuRlbIZXuifXQ2jTtCFUA2mmJ5bF+XjGm3TXKMNGh9PN+wEPUeWd14vZL+QPUMev5LmA8cawPiU5+vVMLid93HRBj118aCJFQxLgrdP48VPfKHFRfCR6TIjg1ii3dH4acdJAvlmJ3GFB6ICT42EmBqskz2MPe0rIFxH8YohCBbAbrbWYcptHt4e48h4UdpZdYOhEdv89GrT8BF2C5cbQ5i9qVpI57bXKrj8hPZU5of48UHLSpXG8mbH0YDiOQOfKX/Mt", "sha256":"ghee6KzRnBJhND2kEUZSaouk7CD6o6z2aAc8GPkV+GQ"}, {"key_type":"ECDSA", "content":"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLLgOoATz9R4aS2kk7vWoxX+lshK63t9+5BIHdzZeFE1o+shlcf0Wji8cN/L1+m3bi0uSETZDOAWMP3rHLJj9Hk=", "sha256":"aCYG1aD8cv/TjzJL0bi9jdabMGksdkfa7R8dCGm1yYs"} ]""") - return VirtualMachine(id, current_app.config["SPOKE_HOST_ID"], ipv4="1.1.1.1", ssh_host_keys=ssh_host_keys) + return VirtualMachine(id, current_app.config["SPOKE_HOST_ID"], ipv4=self.default_ipv4, ssh_host_keys=ssh_host_keys) - return VirtualMachine(id, current_app.config["SPOKE_HOST_ID"], ipv4="1.1.1.1") + return VirtualMachine(id, current_app.config["SPOKE_HOST_ID"], ipv4=self.default_ipv4) def list_ids(self) -> list: return get_model().all_non_deleted_vm_ids() @@ -46,8 +50,8 @@ class MockHub(VirtualizationInterface): size=size, os=os, host=host_id, - network_name=network_name, - public_ipv4=public_ipv4, + network_name=self.default_network, + public_ipv4=self.default_ipv4, ssh_authorized_keys=list(map(lambda x: x["name"], ssh_authorized_keys)), ) -- 2.40.1 From 6dbe2b5c86d255f77f401bed28c7b704bd439157 Mon Sep 17 00:00:00 2001 From: forest Date: Wed, 21 Jul 2021 16:18:43 -0500 Subject: [PATCH 3/3] forgot host id --- capsulflask/hub_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/capsulflask/hub_model.py b/capsulflask/hub_model.py index 5cf57b4..375bb9f 100644 --- a/capsulflask/hub_model.py +++ b/capsulflask/hub_model.py @@ -49,7 +49,7 @@ class MockHub(VirtualizationInterface): id=id, size=size, os=os, - host=host_id, + host=current_app.config["SPOKE_HOST_ID"], network_name=self.default_network, public_ipv4=self.default_ipv4, ssh_authorized_keys=list(map(lambda x: x["name"], ssh_authorized_keys)), -- 2.40.1