diff --git a/cmd/blockchaincmd/deploy.go b/cmd/blockchaincmd/deploy.go index 4233a0543..36faa293f 100644 --- a/cmd/blockchaincmd/deploy.go +++ b/cmd/blockchaincmd/deploy.go @@ -191,7 +191,7 @@ so you can take your locally tested Subnet and deploy it on Fuji or Mainnet.`, cmd.Flags().StringSliceVar(&aggregatorExtraEndpoints, "aggregator-extra-endpoints", nil, "endpoints for extra nodes that are needed in signature aggregation") cmd.Flags().BoolVar(&useLocalMachine, "use-local-machine", false, "use local machine as a blockchain validator") cmd.Flags().IntVar(&numBootstrapValidators, "num-bootstrap-validators", 0, "(only if --generate-node-id is true) number of bootstrap validators to set up in sovereign L1 validator)") - cmd.Flags().IntVar(&numLocalNodes, "num-local-nodes", 1, "number of nodes to be created on local machine") + cmd.Flags().IntVar(&numLocalNodes, "num-local-nodes", 0, "number of nodes to be created on local machine") cmd.Flags().StringVar(&changeOwnerAddress, "change-owner-address", "", "address that will receive change if node is no longer L1 validator") cmd.Flags().Uint64Var(&poSMinimumStakeAmount, "pos-minimum-stake-amount", 1, "minimum stake amount") @@ -625,6 +625,9 @@ func deployBlockchain(cmd *cobra.Command, args []string) error { network = models.ConvertClusterToNetwork(network) } } + if numLocalNodes > 0 { + useLocalMachine = true + } // ask user if we want to use local machine if cluster is not provided if network.Kind != models.Local && !useLocalMachine && clusterNameFlagValue == "" { ux.Logger.PrintToUser("You can use your local machine as a bootstrap validator on the blockchain") @@ -635,6 +638,11 @@ func deployBlockchain(cmd *cobra.Command, args []string) error { return err } } + // default number of local machine nodes to be 1 + // we set it here instead of at flag level so that we don't prompt if user wants to use local machine when they set numLocalNodes flag value + if useLocalMachine && numLocalNodes == 0 { + numLocalNodes = constants.DefaultNumberOfLocalMachineNodes + } // if no cluster provided - we create one with fmt.Sprintf("%s-local-node", blockchainName) name if useLocalMachine && clusterNameFlagValue == "" { // stop local avalanchego process so that we can generate new local cluster diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go index 4028c9d18..102b665ce 100644 --- a/pkg/constants/constants.go +++ b/pkg/constants/constants.go @@ -335,16 +335,17 @@ const ( PluginDir = "plugins" LocalDir = "local" - MetricsNetwork = "network" - MultiSig = "multi-sig" - SkipUpdateFlag = "skip-update-check" - LastFileName = ".last_actions.json" - APIRole = "API" - ValidatorRole = "Validator" - MonitorRole = "Monitor" - ICMRelayerRole = "Relayer" - LoadTestRole = "LoadTest" - DefaultWalletCreationTimeout = 5 * time.Second + DefaultNumberOfLocalMachineNodes = 1 + MetricsNetwork = "network" + MultiSig = "multi-sig" + SkipUpdateFlag = "skip-update-check" + LastFileName = ".last_actions.json" + APIRole = "API" + ValidatorRole = "Validator" + MonitorRole = "Monitor" + ICMRelayerRole = "Relayer" + LoadTestRole = "LoadTest" + DefaultWalletCreationTimeout = 5 * time.Second DefaultConfirmTxTimeout = 20 * time.Second diff --git a/tests/e2e/testcases/subnet/sov/etna/suite.go b/tests/e2e/testcases/subnet/sov/etna/suite.go index 10e266ce4..d9f48a2df 100644 --- a/tests/e2e/testcases/subnet/sov/etna/suite.go +++ b/tests/e2e/testcases/subnet/sov/etna/suite.go @@ -102,7 +102,6 @@ func deployEtnaSubnetEtnaFlag() { "deploy", subnetName, "--etna-devnet", - "--use-local-machine", "--num-local-nodes=1", "--ewoq", "--change-owner-address", @@ -131,7 +130,6 @@ func deployEtnaSubnetEtnaFlagConvertOnly() { "deploy", subnetName, "--etna-devnet", - "--use-local-machine", "--num-local-nodes=1", "--convert-only", "--ewoq", diff --git a/tests/e2e/testcases/validatormanager/suite.go b/tests/e2e/testcases/validatormanager/suite.go index 9eaa2daf4..8555cdfba 100644 --- a/tests/e2e/testcases/validatormanager/suite.go +++ b/tests/e2e/testcases/validatormanager/suite.go @@ -83,7 +83,6 @@ func createSovereignSubnet() (string, string, error) { "deploy", subnetName, "--etna-devnet", - "--use-local-machine", "--num-local-nodes=1", "--ewoq", "--convert-only",