Skip to content

Commit 384c45b

Browse files
authored
Allow multiple nodes for mainnet + fuji (#337)
* do not override non-anchor nodes for fuji/mainnet Signed-off-by: Gyuho Lee <[email protected]> * 0.6.1 Signed-off-by: Gyuho Lee <[email protected]> --------- Signed-off-by: Gyuho Lee <[email protected]>
1 parent 17e12ea commit 384c45b

File tree

11 files changed

+36
-31
lines changed

11 files changed

+36
-31
lines changed

avalanche-kms/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[package]
22
name = "avalanche-kms"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

77
[dependencies]
8-
avalanche-types = { version = "0.0.383", features = ["jsonrpc_client", "wallet", "wallet_evm", "kms_aws"] } # https://crates.io/crates/avalanche-types
8+
avalanche-types = { version = "0.0.385", features = ["jsonrpc_client", "wallet", "wallet_evm", "kms_aws"] } # https://crates.io/crates/avalanche-types
99
aws-manager = { version = "0.27.4", features = ["kms", "sts"] } # https://github.com/gyuho/aws-manager/tags
1010
clap = { version = "4.2.7", features = ["cargo", "derive"] } # https://github.com/clap-rs/clap/releases
1111
crossterm = "0.26.1"

avalanche-ops/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "avalanche-ops"
3-
version = "0.6.0" # https://crates.io/crates/avalanche-ops
3+
version = "0.6.1" # https://crates.io/crates/avalanche-ops
44
edition = "2021"
55
rust-version = "1.69"
66
publish = true
@@ -10,7 +10,7 @@ readme = "README.md"
1010
license = "Apache-2.0"
1111

1212
[dependencies]
13-
avalanche-types = { version = "0.0.383", features = ["avalanchego"] } # https://crates.io/crates/avalanche-types
13+
avalanche-types = { version = "0.0.385", features = ["avalanchego"] } # https://crates.io/crates/avalanche-types
1414
aws-manager = { version = "0.27.4", features = ["ec2", "sts"] } # https://github.com/gyuho/aws-manager/tags
1515
compress-manager = "0.0.9"
1616
dir-manager = "0.0.1"
@@ -19,7 +19,7 @@ id-manager = "0.0.3"
1919
log = "0.4.17"
2020
prefix-manager = "0.0.2"
2121
primitive-types = { version = "0.12.1", features = ["impl-serde"], optional = false } # https://crates.io/crates/primitive-types
22-
prometheus-manager = "0.0.28"
22+
prometheus-manager = "0.0.29"
2323
public-ip = "0.2.2"
2424
random-manager = "0.0.5"
2525
rust-embed = "6.6.1"

avalanche-ops/src/aws/spec.rs

+13-9
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,14 @@ impl Spec {
512512
let (total_anchor_nodes, total_non_anchor_nodes) =
513513
match constants::NETWORK_ID_TO_NETWORK_NAME.get(&network_id) {
514514
// non-custom network only single node to utilize single AZ
515-
Some(_) => (None, 1),
515+
Some(_) => (
516+
None,
517+
if opts.non_anchor_nodes > 0 {
518+
opts.non_anchor_nodes
519+
} else {
520+
DEFAULT_MACHINE_NON_ANCHOR_NODES
521+
},
522+
),
516523

517524
// custom network
518525
None => {
@@ -1015,13 +1022,14 @@ impl Spec {
10151022
),
10161023
));
10171024
}
1018-
if !self.avalanchego_config.is_custom_network() && self.machine.total_non_anchor_nodes != 1
1025+
if self.avalanchego_config.is_custom_network()
1026+
&& self.machine.total_anchor_nodes.unwrap_or(0) == 0
10191027
{
10201028
return Err(Error::new(
10211029
ErrorKind::InvalidInput,
10221030
format!(
1023-
"'machine.non_anchor_nodes' must be 1 (set to {}) in order to maximize the benefit of static EBS provision per AZ",
1024-
self.machine.total_non_anchor_nodes
1031+
"'machine.total_anchor_nodes' must be >1 (set to {:?})",
1032+
self.machine.total_anchor_nodes
10251033
),
10261034
));
10271035
}
@@ -1669,13 +1677,9 @@ pub const DEFAULT_MACHINE_ANCHOR_NODES: u32 = 1;
16691677
pub const MIN_MACHINE_ANCHOR_NODES: u32 = 1;
16701678
pub const MAX_MACHINE_ANCHOR_NODES: u32 = 100;
16711679

1672-
/// Default machine non-anchor nodes size.
1673-
/// "1" is better in order to choose only one AZ for static EBS provision.
1674-
/// If one wants to run multiple nodes, it should create multiple groups
1675-
/// of avalanche ops clusters.
1676-
pub const DEFAULT_MACHINE_NON_ANCHOR_NODES: u32 = 2;
16771680
pub const MIN_MACHINE_NON_ANCHOR_NODES: u32 = 1;
16781681
pub const MAX_MACHINE_NON_ANCHOR_NODES: u32 = 500;
1682+
pub const DEFAULT_MACHINE_NON_ANCHOR_NODES: u32 = 1;
16791683

16801684
#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, Clone)]
16811685
#[serde(rename_all = "snake_case")]

avalanched-aws/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "avalanched-aws"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

@@ -12,7 +12,7 @@ path = "src/main.rs"
1212
avalanche-installer = "0.0.73" # https://crates.io/crates/avalanche-installer
1313
avalanche-ops = { path = "../avalanche-ops" }
1414
avalanche-telemetry-cloudwatch-installer = "0.0.103" # https://crates.io/crates/avalanche-telemetry-cloudwatch
15-
avalanche-types = { version = "0.0.383", features = ["avalanchego", "jsonrpc_client", "subnet_evm"] } # https://crates.io/crates/avalanche-types
15+
avalanche-types = { version = "0.0.385", features = ["avalanchego", "jsonrpc_client", "subnet_evm"] } # https://crates.io/crates/avalanche-types
1616
aws-ip-provisioner-installer = "0.0.83" # https://crates.io/crates/aws-ip-provisioner-installer
1717
aws-manager = { version = "0.27.4", features = ["autoscaling", "cloudwatch", "ec2", "s3"] } # https://github.com/gyuho/aws-manager/tags
1818
aws-sdk-cloudwatch = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
@@ -24,7 +24,7 @@ command-manager = "0.0.1"
2424
compress-manager = "0.0.9"
2525
env_logger = "0.10.0"
2626
log = "0.4.17"
27-
prometheus-manager = "0.0.28"
27+
prometheus-manager = "0.0.29"
2828
random-manager = "0.0.5"
2929
serde = { version = "1.0.163", features = ["derive"] }
3030
tempfile = "3.5.0"

avalancheup-aws/Cargo.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "avalancheup-aws"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

@@ -10,7 +10,7 @@ path = "src/main.rs"
1010

1111
[dependencies]
1212
avalanche-ops = { path = "../avalanche-ops" }
13-
avalanche-types = { version = "0.0.383", features = ["avalanchego", "jsonrpc_client", "wallet", "subnet", "subnet_evm", "kms_aws"] } # https://crates.io/crates/avalanche-types
13+
avalanche-types = { version = "0.0.385", features = ["avalanchego", "jsonrpc_client", "wallet", "subnet", "subnet_evm", "kms_aws"] } # https://crates.io/crates/avalanche-types
1414
aws-manager = { version = "0.27.4", features = ["cloudformation", "cloudwatch", "ec2", "s3", "ssm", "sts"] } # https://github.com/gyuho/aws-manager/tags
1515
aws-sdk-cloudformation = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
1616
aws-sdk-ec2 = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
@@ -26,7 +26,7 @@ id-manager = "0.0.3"
2626
log = "0.4.17"
2727
prefix-manager = "0.0.2"
2828
primitive-types = { version = "0.12.1", features = ["impl-serde"], optional = false } # https://crates.io/crates/primitive-types
29-
prometheus-manager = "0.0.28"
29+
prometheus-manager = "0.0.29"
3030
random-manager = "0.0.5"
3131
serde = { version = "1.0.163", features = ["derive"] }
3232
serde_json = "1.0.96" # https://github.com/serde-rs/json/releases

avalancheup-aws/src/apply/mod.rs

+1
Original file line numberDiff line numberDiff line change
@@ -2228,6 +2228,7 @@ cat /tmp/{node_id}.crt
22282228
}
22292229

22302230
// adding validators is only supported for custom network
2231+
// because fuji + mainnet requires state sync with exiting chain state
22312232
if spec.avalanchego_config.is_custom_network() {
22322233
let ki = spec.prefunded_keys.clone().unwrap()[0].clone();
22332234
let priv_key =

blizzard-aws/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "blizzard-aws"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

@@ -9,7 +9,7 @@ name = "blizzard-aws"
99
path = "src/main.rs"
1010

1111
[dependencies]
12-
avalanche-types = { version = "0.0.383", features = ["jsonrpc_client", "wallet", "wallet_evm"] } # https://crates.io/crates/avalanche-types
12+
avalanche-types = { version = "0.0.385", features = ["jsonrpc_client", "wallet", "wallet_evm"] } # https://crates.io/crates/avalanche-types
1313
aws-manager = { version = "0.27.4", features = ["cloudwatch", "ec2", "s3"] } # https://github.com/gyuho/aws-manager/tags
1414
aws-sdk-cloudwatch = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
1515
aws-sdk-ec2 = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases

blizzardup-aws/Cargo.toml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "blizzardup-aws"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

@@ -9,7 +9,7 @@ name = "blizzardup-aws"
99
path = "src/main.rs"
1010

1111
[dependencies]
12-
avalanche-types = { version = "0.0.383", features = ["avalanchego", "jsonrpc_client", "subnet_evm"] } # https://crates.io/crates/avalanche-types
12+
avalanche-types = { version = "0.0.385", features = ["avalanchego", "jsonrpc_client", "subnet_evm"] } # https://crates.io/crates/avalanche-types
1313
aws-manager = { version = "0.27.4", features = ["cloudformation", "cloudwatch", "ec2", "s3", "sts"] } # https://github.com/gyuho/aws-manager/tags
1414
aws-sdk-cloudformation = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
1515
aws-sdk-ec2 = "0.27.0" # https://github.com/awslabs/aws-sdk-rust/releases
@@ -24,10 +24,10 @@ id-manager = "0.0.3"
2424
lazy_static = "1.4.0"
2525
log = "0.4.17"
2626
primitive-types = "0.12.1" # https://crates.io/crates/primitive-types
27-
prometheus-manager = "0.0.28"
27+
prometheus-manager = "0.0.29"
2828
random-manager = "0.0.5"
2929
regex = "1.8.1"
30-
reqwest = "0.11.15"
30+
reqwest = "0.11.18"
3131
rust-embed = "6.6.1"
3232
serde = { version = "1.0.163", features = ["derive"] }
3333
serde_yaml = "0.9.21" # https://github.com/dtolnay/serde-yaml/releases

devnet-faucet/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "devnet-faucet"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
license = "MIT OR Apache-2.0"
66

@@ -9,7 +9,7 @@ name = "devnet-faucet"
99
path = "src/main.rs"
1010

1111
[dependencies]
12-
avalanche-types = { version = "0.0.383", features = ["evm", "jsonrpc_client", "wallet", "wallet_evm"] } # https://crates.io/crates/avalanche-types
12+
avalanche-types = { version = "0.0.385", features = ["evm", "jsonrpc_client", "wallet", "wallet_evm"] } # https://crates.io/crates/avalanche-types
1313
bytes = "1.4.0"
1414
clap = { version = "4.2.7", features = ["cargo", "derive"] } # https://github.com/clap-rs/clap/releases
1515
env_logger = "0.10.0"

staking-key-cert-s3-downloader/Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
[package]
22
name = "staking-key-cert-s3-downloader"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

77
[dependencies]
8-
avalanche-types = { version = "0.0.383", features = [] } # https://crates.io/crates/avalanche-types
8+
avalanche-types = { version = "0.0.385", features = [] } # https://crates.io/crates/avalanche-types
99
aws-manager = { version = "0.27.4", features = ["kms", "s3"] } # https://github.com/gyuho/aws-manager/tags
1010
clap = { version = "4.2.7", features = ["cargo", "derive"] } # https://github.com/clap-rs/clap/releases
1111
env_logger = "0.10.0"

staking-signer-key-s3-downloader/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "staking-signer-key-s3-downloader"
3-
version = "0.6.0" # https://github.com/ava-labs/avalanche-ops/releases
3+
version = "0.6.1" # https://github.com/ava-labs/avalanche-ops/releases
44
edition = "2021"
55
rust-version = "1.69"
66

0 commit comments

Comments
 (0)