updated the namings for clients
This commit is contained in:
parent
faeacf67eb
commit
5713152d03
@ -8,7 +8,7 @@ message NodePubkey {
|
||||
string node_pubkey = 1;
|
||||
}
|
||||
|
||||
message RegisterNodeRequest {
|
||||
message RegisterNodeReq {
|
||||
string node_pubkey = 1;
|
||||
string owner_pubkey = 2;
|
||||
string ip = 3;
|
||||
@ -23,7 +23,7 @@ message RegisterNodeRequest {
|
||||
uint32 max_ports_per_vm = 12;
|
||||
}
|
||||
|
||||
message NewVMRequest {
|
||||
message NewVMReq {
|
||||
string uuid = 1; // UUID is empty when CLI sends request; brain sets UUID
|
||||
string hostname = 2;
|
||||
string admin_pubkey = 3;
|
||||
@ -40,7 +40,7 @@ message NewVMRequest {
|
||||
string dtrfs_sha = 14;
|
||||
}
|
||||
|
||||
message UpdateVMRequest {
|
||||
message UpdateVMReq {
|
||||
string uuid = 1;
|
||||
string node_pubkey = 2;
|
||||
uint32 disk_size_gb = 3;
|
||||
@ -79,7 +79,7 @@ message ListVMContractsReq {
|
||||
string node_pubkey = 2;
|
||||
}
|
||||
|
||||
message NewVMConfirmation {
|
||||
message NewVMResp {
|
||||
string uuid = 1;
|
||||
repeated uint32 exposed_ports = 2;
|
||||
string public_ipv4 = 3;
|
||||
@ -87,20 +87,21 @@ message NewVMConfirmation {
|
||||
string error = 5;
|
||||
}
|
||||
|
||||
message DeletedVMUpdate {
|
||||
message DeleteVMReq {
|
||||
string uuid = 1;
|
||||
}
|
||||
|
||||
service BrainDaemonService {
|
||||
rpc RegisterNode (RegisterNodeRequest) returns (Empty);
|
||||
rpc GetNewVMReqs (NodePubkey) returns (stream NewVMRequest);
|
||||
rpc SendVMConfirmations (stream NewVMConfirmation) returns (Empty);
|
||||
rpc DeletedVMUpdates (NodePubkey) returns (stream DeletedVMUpdate);
|
||||
rpc RegisterNode (RegisterNodeReq) returns (Empty);
|
||||
rpc GetNewVMReqs (NodePubkey) returns (stream NewVMReq);
|
||||
rpc SendNewVMResp (stream NewVMResp) returns (Empty);
|
||||
rpc GetDeleteVMReq (NodePubkey) returns (stream DeleteVMReq);
|
||||
rpc ListVMContracts (ListVMContractsReq) returns (stream VMContract);
|
||||
rpc GetUpdateVM (NodePubkey) returns (stream UpdateVMRequest);
|
||||
rpc SendUpdateVM (stream UpdateVMResp) returns (Empty);
|
||||
rpc GetUpdateVMReq (NodePubkey) returns (stream UpdateVMReq);
|
||||
rpc SendUpdateVMResp (stream UpdateVMResp) returns (Empty);
|
||||
}
|
||||
|
||||
|
||||
message NodeFilters {
|
||||
uint32 free_ports = 1;
|
||||
bool offers_ipv4 = 2;
|
||||
@ -121,9 +122,9 @@ message NodeListResp {
|
||||
}
|
||||
|
||||
service BrainCliService {
|
||||
rpc CreateVMContract (NewVMRequest) returns (NewVMConfirmation);
|
||||
rpc CreateVMContract (NewVMReq) returns (NewVMResp);
|
||||
rpc ListVMContracts (ListVMContractsReq) returns (stream VMContract);
|
||||
rpc ListNodes (NodeFilters) returns (stream NodeListResp);
|
||||
rpc DeleteVM (DeletedVMUpdate) returns (Empty);
|
||||
rpc UpdateVM (UpdateVMRequest) returns (UpdateVMResp);
|
||||
rpc DeleteVM (DeleteVMReq) returns (Empty);
|
||||
rpc UpdateVM (UpdateVMReq) returns (UpdateVMResp);
|
||||
}
|
@ -5,8 +5,8 @@ pub mod brain {
|
||||
|
||||
use anyhow::Result;
|
||||
use brain::{
|
||||
brain_cli_service_client::BrainCliServiceClient, DeletedVmUpdate, ListVmContractsReq,
|
||||
NewVmRequest, NodeFilters, NodeListResp, VmContract, UpdateVmRequest,
|
||||
brain_cli_service_client::BrainCliServiceClient, DeleteVmReq, ListVmContractsReq,
|
||||
NewVmReq, NodeFilters, NodeListResp, VmContract, UpdateVmReq,
|
||||
};
|
||||
use lazy_static::lazy_static;
|
||||
use log::{debug, info, warn};
|
||||
@ -65,7 +65,7 @@ async fn submit_vm_request(
|
||||
mut client: BrainCliServiceClient<Channel>,
|
||||
node_pubkey: &str,
|
||||
) -> Result<()> {
|
||||
let req = NewVmRequest {
|
||||
let req = NewVmReq {
|
||||
uuid: String::new(),
|
||||
admin_pubkey: SECURE_PUBLIC_KEY.clone(),
|
||||
node_pubkey: node_pubkey.to_string(),
|
||||
@ -123,7 +123,7 @@ async fn list_contracts(mut client: BrainCliServiceClient<Channel>) -> Result<Ve
|
||||
}
|
||||
|
||||
async fn delete_vm(mut client: BrainCliServiceClient<Channel>, uuid: &str) -> Result<()> {
|
||||
let req = DeletedVmUpdate {
|
||||
let req = DeleteVmReq {
|
||||
uuid: uuid.to_string(),
|
||||
};
|
||||
info!("Creating VM {req:?}");
|
||||
@ -140,7 +140,7 @@ async fn update_vm_request(
|
||||
node_pubkey: &str,
|
||||
uuid: &str,
|
||||
) -> Result<()> {
|
||||
let req = UpdateVmRequest {
|
||||
let req = UpdateVmReq {
|
||||
uuid: uuid.to_string(),
|
||||
node_pubkey: node_pubkey.to_string(),
|
||||
vcpus: 4,
|
||||
|
@ -8,7 +8,7 @@ message NodePubkey {
|
||||
string node_pubkey = 1;
|
||||
}
|
||||
|
||||
message RegisterNodeRequest {
|
||||
message RegisterNodeReq {
|
||||
string node_pubkey = 1;
|
||||
string owner_pubkey = 2;
|
||||
string ip = 3;
|
||||
@ -23,7 +23,7 @@ message RegisterNodeRequest {
|
||||
uint32 max_ports_per_vm = 12;
|
||||
}
|
||||
|
||||
message NewVMRequest {
|
||||
message NewVMReq {
|
||||
string uuid = 1; // UUID is empty when CLI sends request; brain sets UUID
|
||||
string hostname = 2;
|
||||
string admin_pubkey = 3;
|
||||
@ -40,7 +40,7 @@ message NewVMRequest {
|
||||
string dtrfs_sha = 14;
|
||||
}
|
||||
|
||||
message UpdateVMRequest {
|
||||
message UpdateVMReq {
|
||||
string uuid = 1;
|
||||
string node_pubkey = 2;
|
||||
uint32 disk_size_gb = 3;
|
||||
@ -79,7 +79,7 @@ message ListVMContractsReq {
|
||||
string node_pubkey = 2;
|
||||
}
|
||||
|
||||
message NewVMConfirmation {
|
||||
message NewVMResp {
|
||||
string uuid = 1;
|
||||
repeated uint32 exposed_ports = 2;
|
||||
string public_ipv4 = 3;
|
||||
@ -87,20 +87,21 @@ message NewVMConfirmation {
|
||||
string error = 5;
|
||||
}
|
||||
|
||||
message DeletedVMUpdate {
|
||||
message DeleteVMReq {
|
||||
string uuid = 1;
|
||||
}
|
||||
|
||||
service BrainDaemonService {
|
||||
rpc RegisterNode (RegisterNodeRequest) returns (Empty);
|
||||
rpc GetNewVMReqs (NodePubkey) returns (stream NewVMRequest);
|
||||
rpc SendVMConfirmations (stream NewVMConfirmation) returns (Empty);
|
||||
rpc DeletedVMUpdates (NodePubkey) returns (stream DeletedVMUpdate);
|
||||
rpc RegisterNode (RegisterNodeReq) returns (Empty);
|
||||
rpc GetNewVMReqs (NodePubkey) returns (stream NewVMReq);
|
||||
rpc SendNewVMResp (stream NewVMResp) returns (Empty);
|
||||
rpc GetDeleteVMReq (NodePubkey) returns (stream DeleteVMReq);
|
||||
rpc ListVMContracts (ListVMContractsReq) returns (stream VMContract);
|
||||
rpc GetUpdateVM (NodePubkey) returns (stream UpdateVMRequest);
|
||||
rpc SendUpdateVM (stream UpdateVMResp) returns (Empty);
|
||||
rpc GetUpdateVMReq (NodePubkey) returns (stream UpdateVMReq);
|
||||
rpc SendUpdateVMResp (stream UpdateVMResp) returns (Empty);
|
||||
}
|
||||
|
||||
|
||||
message NodeFilters {
|
||||
uint32 free_ports = 1;
|
||||
bool offers_ipv4 = 2;
|
||||
@ -121,9 +122,9 @@ message NodeListResp {
|
||||
}
|
||||
|
||||
service BrainCliService {
|
||||
rpc CreateVMContract (NewVMRequest) returns (NewVMConfirmation);
|
||||
rpc CreateVMContract (NewVMReq) returns (NewVMResp);
|
||||
rpc ListVMContracts (ListVMContractsReq) returns (stream VMContract);
|
||||
rpc ListNodes (NodeFilters) returns (stream NodeListResp);
|
||||
rpc DeleteVM (DeletedVMUpdate) returns (Empty);
|
||||
rpc UpdateVM (UpdateVMRequest) returns (UpdateVMResp);
|
||||
rpc DeleteVM (DeleteVMReq) returns (Empty);
|
||||
rpc UpdateVM (UpdateVMReq) returns (UpdateVMResp);
|
||||
}
|
@ -5,8 +5,8 @@ pub mod brain {
|
||||
|
||||
use anyhow::Result;
|
||||
use brain::{
|
||||
brain_daemon_service_client::BrainDaemonServiceClient, DeletedVmUpdate, NewVmConfirmation,
|
||||
NewVmRequest, NodePubkey, RegisterNodeRequest, UpdateVmRequest, UpdateVmResp
|
||||
brain_daemon_service_client::BrainDaemonServiceClient, DeleteVmReq, NewVmResp,
|
||||
NewVmReq, NodePubkey, RegisterNodeReq, UpdateVmReq, UpdateVmResp,
|
||||
};
|
||||
use lazy_static::lazy_static;
|
||||
use log::{debug, error, info, warn};
|
||||
@ -31,7 +31,7 @@ fn generate_random_string() -> String {
|
||||
|
||||
async fn listen_for_new_vm_reqs(
|
||||
mut client: BrainDaemonServiceClient<Channel>,
|
||||
tx: Sender<NewVmRequest>,
|
||||
tx: Sender<NewVmReq>,
|
||||
) -> Result<()> {
|
||||
debug!("starting listen_for_new_vm_reqs");
|
||||
let node_pubkey = SECURE_PUBLIC_KEY.clone();
|
||||
@ -56,18 +56,18 @@ async fn listen_for_new_vm_reqs(
|
||||
|
||||
async fn send_newvm_resp(
|
||||
mut client: BrainDaemonServiceClient<Channel>,
|
||||
rx: Receiver<NewVmConfirmation>,
|
||||
rx: Receiver<NewVmResp>,
|
||||
) -> Result<()> {
|
||||
debug!("starting send_newvm_resp stream");
|
||||
let rx_stream = ReceiverStream::new(rx);
|
||||
client.send_vm_confirmations(rx_stream).await?;
|
||||
client.send_new_vm_resp(rx_stream).await?;
|
||||
debug!("send_newvm_resp is about to exit");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn register_node(mut client: BrainDaemonServiceClient<Channel>) {
|
||||
debug!("Starting node registration...");
|
||||
let req = RegisterNodeRequest {
|
||||
let req = RegisterNodeReq {
|
||||
node_pubkey: SECURE_PUBLIC_KEY.clone(),
|
||||
owner_pubkey: "IamTheOwnerOf".to_string() + &SECURE_PUBLIC_KEY,
|
||||
ip: "10.0.10.1".to_string(),
|
||||
@ -92,12 +92,12 @@ async fn register_node(mut client: BrainDaemonServiceClient<Channel>) {
|
||||
|
||||
async fn listen_for_deleted_vms(
|
||||
mut client: BrainDaemonServiceClient<Channel>,
|
||||
tx: Sender<DeletedVmUpdate>,
|
||||
tx: Sender<DeleteVmReq>,
|
||||
) -> Result<()> {
|
||||
debug!("starting listen_for_new_vm_reqs");
|
||||
let node_pubkey = SECURE_PUBLIC_KEY.clone();
|
||||
let mut grpc_stream = client
|
||||
.deleted_vm_updates(NodePubkey { node_pubkey })
|
||||
.get_delete_vm_req(NodePubkey { node_pubkey })
|
||||
.await?
|
||||
.into_inner();
|
||||
while let Some(stream_update) = grpc_stream.next().await {
|
||||
@ -117,12 +117,12 @@ async fn listen_for_deleted_vms(
|
||||
|
||||
async fn listen_for_update_vm_reqs(
|
||||
mut client: BrainDaemonServiceClient<Channel>,
|
||||
tx: Sender<UpdateVmRequest>,
|
||||
tx: Sender<UpdateVmReq>,
|
||||
) -> Result<()> {
|
||||
debug!("starting listen_for_update_vm_reqs");
|
||||
let node_pubkey = SECURE_PUBLIC_KEY.clone();
|
||||
let mut grpc_stream = client
|
||||
.get_update_vm(NodePubkey { node_pubkey })
|
||||
.get_update_vm_req(NodePubkey { node_pubkey })
|
||||
.await?
|
||||
.into_inner();
|
||||
while let Some(stream_update) = grpc_stream.next().await {
|
||||
@ -141,7 +141,7 @@ async fn listen_for_update_vm_reqs(
|
||||
}
|
||||
|
||||
async fn handle_update_vm_requests(
|
||||
mut req: Receiver<UpdateVmRequest>,
|
||||
mut req: Receiver<UpdateVmReq>,
|
||||
resp: Sender<UpdateVmResp>
|
||||
) {
|
||||
info!("Started to handle update vm requests.");
|
||||
@ -163,12 +163,12 @@ async fn send_updatevm_resp(
|
||||
) -> Result<()> {
|
||||
debug!("starting send_updatevm_resp stream");
|
||||
let rx_stream = ReceiverStream::new(rx);
|
||||
client.send_update_vm(rx_stream).await?;
|
||||
client.send_update_vm_resp(rx_stream).await?;
|
||||
debug!("send_updatevm_resp is about to exit");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
async fn handle_vm_requests(mut req: Receiver<NewVmRequest>, resp: Sender<NewVmConfirmation>) {
|
||||
async fn handle_vm_requests(mut req: Receiver<NewVmReq>, resp: Sender<NewVmResp>) {
|
||||
info!("Started to handle vm requests. 1 out of 5 requests will return error.");
|
||||
let mut i = 0;
|
||||
while let Some(new_vm) = req.recv().await {
|
||||
@ -185,7 +185,7 @@ async fn handle_vm_requests(mut req: Receiver<NewVmRequest>, resp: Sender<NewVmC
|
||||
false => String::new(),
|
||||
};
|
||||
if i != 3 {
|
||||
let confirmation = NewVmConfirmation {
|
||||
let confirmation = NewVmResp{
|
||||
uuid: new_vm.uuid,
|
||||
exposed_ports,
|
||||
public_ipv4,
|
||||
@ -195,7 +195,7 @@ async fn handle_vm_requests(mut req: Receiver<NewVmRequest>, resp: Sender<NewVmC
|
||||
info!("Sending NewVmConfirmation: {confirmation:?}");
|
||||
let _ = resp.send(confirmation).await;
|
||||
} else {
|
||||
let confirmation = NewVmConfirmation {
|
||||
let confirmation = NewVmResp {
|
||||
uuid: new_vm.uuid,
|
||||
exposed_ports: Vec::new(),
|
||||
public_ipv4: String::new(),
|
||||
|
Loading…
Reference in New Issue
Block a user