Skip to content
Snippets Groups Projects
Commit 50dc3175 authored by Valentin Syrovatskiy's avatar Valentin Syrovatskiy
Browse files

refactor: call Topology in start_boot

parent 85226ea0
No related branches found
No related tags found
1 merge request!147refactor Topology using in start_boot
Pipeline #7038 passed
......@@ -409,16 +409,12 @@ fn start_discover(args: &args::Run, to_supervisor: ipc::Sender<IpcMessage>) {
fn start_boot(args: &args::Run) {
tlog!(Info, ">>>>> start_boot()");
let mut topology = traft::Topology::from_peers(vec![]);
let req = traft::JoinRequest {
cluster_id: args.cluster_id.clone(),
instance_id: args.instance_id.clone(),
replicaset_id: args.replicaset_id.clone(),
advertise_address: args.advertise_address(),
voter: true,
};
topology.process(&req).unwrap();
let peer = topology.diff().pop().unwrap();
let peer = traft::topology::initial_peer(
args.cluster_id.clone(),
args.instance_id.clone(),
args.replicaset_id.clone(),
args.advertise_address(),
);
let raft_id = peer.raft_id;
picolib_setup(args);
......
......@@ -4,7 +4,7 @@ mod error;
mod network;
pub mod node;
mod storage;
mod topology;
pub mod topology;
use ::raft::prelude as raft;
use ::tarantool::tuple::AsTuple;
......
......@@ -146,6 +146,25 @@ impl Topology {
}
}
// Create first peer in the cluster
pub fn initial_peer(
cluster_id: String,
instance_id: String,
replicaset_id: Option<String>,
advertise_address: String,
) -> Peer {
let mut topology = Topology::from_peers(vec![]);
let req = JoinRequest {
cluster_id,
instance_id,
replicaset_id,
advertise_address,
voter: true,
};
topology.process(&req).unwrap();
topology.diff().pop().unwrap()
}
#[cfg(test)]
mod tests {
use super::Topology;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment