forked from TrueCloudLab/frostfs-node
[#932] adm: Move command init
to package initialize
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
86b2515744
commit
63c34ea707
9 changed files with 72 additions and 70 deletions
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/util"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/util"
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
@ -63,16 +63,16 @@ func testInitialize(t *testing.T, committeeSize int) {
|
||||||
v.Set(util.ProtoConfigPath, filepath.Join(testdataDir, protoFileName))
|
v.Set(util.ProtoConfigPath, filepath.Join(testdataDir, protoFileName))
|
||||||
|
|
||||||
// Set to the path or remove the next statement to download from the network.
|
// Set to the path or remove the next statement to download from the network.
|
||||||
require.NoError(t, initCmd.Flags().Set(util.ContractsInitFlag, contractsPath))
|
require.NoError(t, Cmd.Flags().Set(util.ContractsInitFlag, contractsPath))
|
||||||
|
|
||||||
dumpPath := filepath.Join(testdataDir, "out")
|
dumpPath := filepath.Join(testdataDir, "out")
|
||||||
require.NoError(t, initCmd.Flags().Set(util.LocalDumpFlag, dumpPath))
|
require.NoError(t, Cmd.Flags().Set(util.LocalDumpFlag, dumpPath))
|
||||||
v.Set(util.AlphabetWalletsFlag, testdataDir)
|
v.Set(util.AlphabetWalletsFlag, testdataDir)
|
||||||
v.Set(util.EpochDurationInitFlag, 1)
|
v.Set(util.EpochDurationInitFlag, 1)
|
||||||
v.Set(util.MaxObjectSizeInitFlag, 1024)
|
v.Set(util.MaxObjectSizeInitFlag, 1024)
|
||||||
|
|
||||||
setTestCredentials(v, committeeSize)
|
setTestCredentials(v, committeeSize)
|
||||||
require.NoError(t, initializeSideChainCmd(initCmd, nil))
|
require.NoError(t, initializeSideChainCmd(Cmd, nil))
|
||||||
|
|
||||||
t.Run("force-new-epoch", func(t *testing.T) {
|
t.Run("force-new-epoch", func(t *testing.T) {
|
||||||
require.NoError(t, netmap.ForceNewEpoch.Flags().Set(util.LocalDumpFlag, dumpPath))
|
require.NoError(t, netmap.ForceNewEpoch.Flags().Set(util.LocalDumpFlag, dumpPath))
|
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package initialize
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
55
cmd/frostfs-adm/internal/modules/morph/initialize/root.go
Normal file
55
cmd/frostfs-adm/internal/modules/morph/initialize/root.go
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
package initialize
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/util"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/viper"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
maxObjectSizeCLIFlag = "max-object-size"
|
||||||
|
epochDurationCLIFlag = "epoch-duration"
|
||||||
|
containerFeeCLIFlag = "container-fee"
|
||||||
|
containerAliasFeeCLIFlag = "container-alias-fee"
|
||||||
|
candidateFeeCLIFlag = "candidate-fee"
|
||||||
|
homomorphicHashDisabledCLIFlag = "homomorphic-disabled"
|
||||||
|
withdrawFeeCLIFlag = "withdraw-fee"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cmd = &cobra.Command{
|
||||||
|
Use: "init",
|
||||||
|
Short: "Initialize side chain network with smart-contracts and network settings",
|
||||||
|
PreRun: func(cmd *cobra.Command, _ []string) {
|
||||||
|
_ = viper.BindPFlag(util.AlphabetWalletsFlag, cmd.Flags().Lookup(util.AlphabetWalletsFlag))
|
||||||
|
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
||||||
|
_ = viper.BindPFlag(util.EpochDurationInitFlag, cmd.Flags().Lookup(epochDurationCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.MaxObjectSizeInitFlag, cmd.Flags().Lookup(maxObjectSizeCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.HomomorphicHashDisabledInitFlag, cmd.Flags().Lookup(homomorphicHashDisabledCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.CandidateFeeInitFlag, cmd.Flags().Lookup(candidateFeeCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.ContainerFeeInitFlag, cmd.Flags().Lookup(containerFeeCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.ContainerAliasFeeInitFlag, cmd.Flags().Lookup(containerAliasFeeCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.WithdrawFeeInitFlag, cmd.Flags().Lookup(withdrawFeeCLIFlag))
|
||||||
|
_ = viper.BindPFlag(util.ProtoConfigPath, cmd.Flags().Lookup(util.ProtoConfigPath))
|
||||||
|
},
|
||||||
|
RunE: initializeSideChainCmd,
|
||||||
|
}
|
||||||
|
|
||||||
|
func initInitCmd() {
|
||||||
|
Cmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
||||||
|
Cmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
||||||
|
Cmd.Flags().String(util.ContractsInitFlag, "", util.ContractsInitFlagDesc)
|
||||||
|
Cmd.Flags().String(util.ContractsURLFlag, "", util.ContractsURLFlagDesc)
|
||||||
|
Cmd.Flags().Uint(epochDurationCLIFlag, 240, "Amount of side chain blocks in one FrostFS epoch")
|
||||||
|
Cmd.Flags().Uint(maxObjectSizeCLIFlag, 67108864, "Max single object size in bytes")
|
||||||
|
Cmd.Flags().Bool(homomorphicHashDisabledCLIFlag, false, "Disable object homomorphic hashing")
|
||||||
|
// Defaults are taken from neo-preodolenie.
|
||||||
|
Cmd.Flags().Uint64(containerFeeCLIFlag, 1000, "Container registration fee")
|
||||||
|
Cmd.Flags().Uint64(containerAliasFeeCLIFlag, 500, "Container alias fee")
|
||||||
|
Cmd.Flags().String(util.ProtoConfigPath, "", "Path to the consensus node configuration")
|
||||||
|
Cmd.Flags().String(util.LocalDumpFlag, "", "Path to the blocks dump file")
|
||||||
|
Cmd.MarkFlagsMutuallyExclusive(util.ContractsInitFlag, util.ContractsURLFlag)
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
initInitCmd()
|
||||||
|
}
|
|
@ -8,60 +8,24 @@ import (
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/contract"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/contract"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/frostfsid"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/frostfsid"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/generate"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/generate"
|
||||||
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/initialize"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/netmap"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/netmap"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/node"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/node"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/notary"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/notary"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/policy"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/policy"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/proxy"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/proxy"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/util"
|
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
maxObjectSizeCLIFlag = "max-object-size"
|
|
||||||
|
|
||||||
epochDurationCLIFlag = "epoch-duration"
|
|
||||||
|
|
||||||
containerFeeCLIFlag = "container-fee"
|
|
||||||
containerAliasFeeCLIFlag = "container-alias-fee"
|
|
||||||
|
|
||||||
candidateFeeCLIFlag = "candidate-fee"
|
|
||||||
|
|
||||||
homomorphicHashDisabledCLIFlag = "homomorphic-disabled"
|
|
||||||
|
|
||||||
withdrawFeeCLIFlag = "withdraw-fee"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
|
||||||
// RootCmd is a root command of config section.
|
// RootCmd is a root command of config section.
|
||||||
RootCmd = &cobra.Command{
|
var RootCmd = &cobra.Command{
|
||||||
Use: "morph",
|
Use: "morph",
|
||||||
Short: "Section for morph network configuration commands",
|
Short: "Section for morph network configuration commands",
|
||||||
}
|
}
|
||||||
|
|
||||||
initCmd = &cobra.Command{
|
|
||||||
Use: "init",
|
|
||||||
Short: "Initialize side chain network with smart-contracts and network settings",
|
|
||||||
PreRun: func(cmd *cobra.Command, _ []string) {
|
|
||||||
_ = viper.BindPFlag(util.AlphabetWalletsFlag, cmd.Flags().Lookup(util.AlphabetWalletsFlag))
|
|
||||||
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
|
||||||
_ = viper.BindPFlag(util.EpochDurationInitFlag, cmd.Flags().Lookup(epochDurationCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.MaxObjectSizeInitFlag, cmd.Flags().Lookup(maxObjectSizeCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.HomomorphicHashDisabledInitFlag, cmd.Flags().Lookup(homomorphicHashDisabledCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.CandidateFeeInitFlag, cmd.Flags().Lookup(candidateFeeCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.ContainerFeeInitFlag, cmd.Flags().Lookup(containerFeeCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.ContainerAliasFeeInitFlag, cmd.Flags().Lookup(containerAliasFeeCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.WithdrawFeeInitFlag, cmd.Flags().Lookup(withdrawFeeCLIFlag))
|
|
||||||
_ = viper.BindPFlag(util.ProtoConfigPath, cmd.Flags().Lookup(util.ProtoConfigPath))
|
|
||||||
},
|
|
||||||
RunE: initializeSideChainCmd,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
RootCmd.AddCommand(generate.RefillGasCmd)
|
RootCmd.AddCommand(generate.RefillGasCmd)
|
||||||
initInitCmd()
|
RootCmd.AddCommand(initialize.Cmd)
|
||||||
RootCmd.AddCommand(contract.DeployCmd)
|
RootCmd.AddCommand(contract.DeployCmd)
|
||||||
RootCmd.AddCommand(generate.GenerateStorageCmd)
|
RootCmd.AddCommand(generate.GenerateStorageCmd)
|
||||||
RootCmd.AddCommand(netmap.ForceNewEpoch)
|
RootCmd.AddCommand(netmap.ForceNewEpoch)
|
||||||
|
@ -86,20 +50,3 @@ func init() {
|
||||||
|
|
||||||
RootCmd.AddCommand(frostfsid.Cmd)
|
RootCmd.AddCommand(frostfsid.Cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
func initInitCmd() {
|
|
||||||
RootCmd.AddCommand(initCmd)
|
|
||||||
initCmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
|
||||||
initCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
|
||||||
initCmd.Flags().String(util.ContractsInitFlag, "", util.ContractsInitFlagDesc)
|
|
||||||
initCmd.Flags().String(util.ContractsURLFlag, "", util.ContractsURLFlagDesc)
|
|
||||||
initCmd.Flags().Uint(epochDurationCLIFlag, 240, "Amount of side chain blocks in one FrostFS epoch")
|
|
||||||
initCmd.Flags().Uint(maxObjectSizeCLIFlag, 67108864, "Max single object size in bytes")
|
|
||||||
initCmd.Flags().Bool(homomorphicHashDisabledCLIFlag, false, "Disable object homomorphic hashing")
|
|
||||||
// Defaults are taken from neo-preodolenie.
|
|
||||||
initCmd.Flags().Uint64(containerFeeCLIFlag, 1000, "Container registration fee")
|
|
||||||
initCmd.Flags().Uint64(containerAliasFeeCLIFlag, 500, "Container alias fee")
|
|
||||||
initCmd.Flags().String(util.ProtoConfigPath, "", "Path to the consensus node configuration")
|
|
||||||
initCmd.Flags().String(util.LocalDumpFlag, "", "Path to the blocks dump file")
|
|
||||||
initCmd.MarkFlagsMutuallyExclusive(util.ContractsInitFlag, util.ContractsURLFlag)
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue