[#932] adm: Move dump/restore/list-containers
to package container
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
This commit is contained in:
parent
be15eab82a
commit
36fd6c663c
3 changed files with 74 additions and 58 deletions
|
@ -1,4 +1,4 @@
|
||||||
package morph
|
package container
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
68
cmd/frostfs-adm/internal/modules/morph/container/root.go
Normal file
68
cmd/frostfs-adm/internal/modules/morph/container/root.go
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
package container
|
||||||
|
|
||||||
|
import (
|
||||||
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/util"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
"github.com/spf13/viper"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
containerDumpFlag = "dump"
|
||||||
|
containerContractFlag = "container-contract"
|
||||||
|
containerIDsFlag = "cid"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
DumpCmd = &cobra.Command{
|
||||||
|
Use: "dump-containers",
|
||||||
|
Short: "Dump FrostFS containers to file",
|
||||||
|
PreRun: func(cmd *cobra.Command, _ []string) {
|
||||||
|
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
||||||
|
},
|
||||||
|
RunE: dumpContainers,
|
||||||
|
}
|
||||||
|
|
||||||
|
RestoreCmd = &cobra.Command{
|
||||||
|
Use: "restore-containers",
|
||||||
|
Short: "Restore FrostFS containers from file",
|
||||||
|
PreRun: func(cmd *cobra.Command, _ []string) {
|
||||||
|
_ = viper.BindPFlag(util.AlphabetWalletsFlag, cmd.Flags().Lookup(util.AlphabetWalletsFlag))
|
||||||
|
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
||||||
|
},
|
||||||
|
RunE: restoreContainers,
|
||||||
|
}
|
||||||
|
|
||||||
|
ListCmd = &cobra.Command{
|
||||||
|
Use: "list-containers",
|
||||||
|
Short: "List FrostFS containers",
|
||||||
|
PreRun: func(cmd *cobra.Command, _ []string) {
|
||||||
|
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
||||||
|
},
|
||||||
|
RunE: listContainers,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
func initListContainersCmd() {
|
||||||
|
ListCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
||||||
|
ListCmd.Flags().String(containerContractFlag, "", "Container contract hash (for networks without NNS)")
|
||||||
|
}
|
||||||
|
|
||||||
|
func initRestoreContainersCmd() {
|
||||||
|
RestoreCmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
||||||
|
RestoreCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
||||||
|
RestoreCmd.Flags().String(containerDumpFlag, "", "File to restore containers from")
|
||||||
|
RestoreCmd.Flags().StringSlice(containerIDsFlag, nil, "Containers to restore")
|
||||||
|
}
|
||||||
|
|
||||||
|
func initDumpContainersCmd() {
|
||||||
|
DumpCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
||||||
|
DumpCmd.Flags().String(containerDumpFlag, "", "File where to save dumped containers")
|
||||||
|
DumpCmd.Flags().String(containerContractFlag, "", "Container contract hash (for networks without NNS)")
|
||||||
|
DumpCmd.Flags().StringSlice(containerIDsFlag, nil, "Containers to dump")
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
initDumpContainersCmd()
|
||||||
|
initRestoreContainersCmd()
|
||||||
|
initListContainersCmd()
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/ape"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/ape"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/balance"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/balance"
|
||||||
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/config"
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/config"
|
||||||
|
"git.frostfs.info/TrueCloudLab/frostfs-node/cmd/frostfs-adm/internal/modules/morph/container"
|
||||||
"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/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"
|
||||||
|
@ -31,10 +32,7 @@ const (
|
||||||
|
|
||||||
homomorphicHashDisabledCLIFlag = "homomorphic-disabled"
|
homomorphicHashDisabledCLIFlag = "homomorphic-disabled"
|
||||||
|
|
||||||
withdrawFeeCLIFlag = "withdraw-fee"
|
withdrawFeeCLIFlag = "withdraw-fee"
|
||||||
containerDumpFlag = "dump"
|
|
||||||
containerContractFlag = "container-contract"
|
|
||||||
containerIDsFlag = "cid"
|
|
||||||
|
|
||||||
walletAddressFlag = "wallet-address"
|
walletAddressFlag = "wallet-address"
|
||||||
)
|
)
|
||||||
|
@ -138,34 +136,6 @@ var (
|
||||||
RunE: updateContracts,
|
RunE: updateContracts,
|
||||||
}
|
}
|
||||||
|
|
||||||
dumpContainersCmd = &cobra.Command{
|
|
||||||
Use: "dump-containers",
|
|
||||||
Short: "Dump FrostFS containers to file",
|
|
||||||
PreRun: func(cmd *cobra.Command, _ []string) {
|
|
||||||
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
|
||||||
},
|
|
||||||
RunE: dumpContainers,
|
|
||||||
}
|
|
||||||
|
|
||||||
restoreContainersCmd = &cobra.Command{
|
|
||||||
Use: "restore-containers",
|
|
||||||
Short: "Restore FrostFS containers from file",
|
|
||||||
PreRun: func(cmd *cobra.Command, _ []string) {
|
|
||||||
_ = viper.BindPFlag(util.AlphabetWalletsFlag, cmd.Flags().Lookup(util.AlphabetWalletsFlag))
|
|
||||||
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
|
||||||
},
|
|
||||||
RunE: restoreContainers,
|
|
||||||
}
|
|
||||||
|
|
||||||
listContainersCmd = &cobra.Command{
|
|
||||||
Use: "list-containers",
|
|
||||||
Short: "List FrostFS containers",
|
|
||||||
PreRun: func(cmd *cobra.Command, _ []string) {
|
|
||||||
_ = viper.BindPFlag(util.EndpointFlag, cmd.Flags().Lookup(util.EndpointFlag))
|
|
||||||
},
|
|
||||||
RunE: listContainers,
|
|
||||||
}
|
|
||||||
|
|
||||||
netmapCandidatesCmd = &cobra.Command{
|
netmapCandidatesCmd = &cobra.Command{
|
||||||
Use: "netmap-candidates",
|
Use: "netmap-candidates",
|
||||||
Short: "List netmap candidates nodes",
|
Short: "List netmap candidates nodes",
|
||||||
|
@ -191,9 +161,9 @@ func init() {
|
||||||
RootCmd.AddCommand(config.DumpCmd)
|
RootCmd.AddCommand(config.DumpCmd)
|
||||||
RootCmd.AddCommand(balance.DumpCmd)
|
RootCmd.AddCommand(balance.DumpCmd)
|
||||||
initUpdateContractsCmd()
|
initUpdateContractsCmd()
|
||||||
initDumpContainersCmd()
|
RootCmd.AddCommand(container.ListCmd)
|
||||||
initRestoreContainersCmd()
|
RootCmd.AddCommand(container.RestoreCmd)
|
||||||
initListContainersCmd()
|
RootCmd.AddCommand(container.DumpCmd)
|
||||||
initRefillGasCmd()
|
initRefillGasCmd()
|
||||||
RootCmd.AddCommand(notary.DepositCmd)
|
RootCmd.AddCommand(notary.DepositCmd)
|
||||||
initNetmapCandidatesCmd()
|
initNetmapCandidatesCmd()
|
||||||
|
@ -220,28 +190,6 @@ func initRefillGasCmd() {
|
||||||
refillGasCmd.MarkFlagsMutuallyExclusive(walletAddressFlag, util.StorageWalletFlag)
|
refillGasCmd.MarkFlagsMutuallyExclusive(walletAddressFlag, util.StorageWalletFlag)
|
||||||
}
|
}
|
||||||
|
|
||||||
func initListContainersCmd() {
|
|
||||||
RootCmd.AddCommand(listContainersCmd)
|
|
||||||
listContainersCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
|
||||||
listContainersCmd.Flags().String(containerContractFlag, "", "Container contract hash (for networks without NNS)")
|
|
||||||
}
|
|
||||||
|
|
||||||
func initRestoreContainersCmd() {
|
|
||||||
RootCmd.AddCommand(restoreContainersCmd)
|
|
||||||
restoreContainersCmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
|
||||||
restoreContainersCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
|
||||||
restoreContainersCmd.Flags().String(containerDumpFlag, "", "File to restore containers from")
|
|
||||||
restoreContainersCmd.Flags().StringSlice(containerIDsFlag, nil, "Containers to restore")
|
|
||||||
}
|
|
||||||
|
|
||||||
func initDumpContainersCmd() {
|
|
||||||
RootCmd.AddCommand(dumpContainersCmd)
|
|
||||||
dumpContainersCmd.Flags().StringP(util.EndpointFlag, util.EndpointFlagShort, "", util.EndpointFlagDesc)
|
|
||||||
dumpContainersCmd.Flags().String(containerDumpFlag, "", "File where to save dumped containers")
|
|
||||||
dumpContainersCmd.Flags().String(containerContractFlag, "", "Container contract hash (for networks without NNS)")
|
|
||||||
dumpContainersCmd.Flags().StringSlice(containerIDsFlag, nil, "Containers to dump")
|
|
||||||
}
|
|
||||||
|
|
||||||
func initUpdateContractsCmd() {
|
func initUpdateContractsCmd() {
|
||||||
RootCmd.AddCommand(updateContractsCmd)
|
RootCmd.AddCommand(updateContractsCmd)
|
||||||
updateContractsCmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
updateContractsCmd.Flags().String(util.AlphabetWalletsFlag, "", util.AlphabetWalletsFlagDesc)
|
||||||
|
|
Loading…
Reference in a new issue