[#1282] cli: Allow to external addresses first for object nodes
Some checks failed
DCO action / DCO (pull_request) Successful in 1m18s
Vulncheck / Vulncheck (pull_request) Successful in 2m15s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m39s
Build / Build Components (1.22) (pull_request) Successful in 3m20s
Tests and linters / Staticcheck (pull_request) Successful in 3m34s
Tests and linters / Lint (pull_request) Successful in 3m42s
Build / Build Components (1.21) (pull_request) Successful in 3m32s
Tests and linters / Tests with -race (pull_request) Successful in 3m54s
Tests and linters / gopls check (pull_request) Successful in 3m57s
Tests and linters / Tests (1.22) (pull_request) Successful in 1m26s
Tests and linters / Tests (1.21) (pull_request) Failing after 50s
Some checks failed
DCO action / DCO (pull_request) Successful in 1m18s
Vulncheck / Vulncheck (pull_request) Successful in 2m15s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m39s
Build / Build Components (1.22) (pull_request) Successful in 3m20s
Tests and linters / Staticcheck (pull_request) Successful in 3m34s
Tests and linters / Lint (pull_request) Successful in 3m42s
Build / Build Components (1.21) (pull_request) Successful in 3m32s
Tests and linters / Tests with -race (pull_request) Successful in 3m54s
Tests and linters / gopls check (pull_request) Successful in 3m57s
Tests and linters / Tests (1.22) (pull_request) Successful in 1m26s
Tests and linters / Tests (1.21) (pull_request) Failing after 50s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
7e04083c27
commit
c49982d22a
1 changed files with 17 additions and 6 deletions
|
@ -30,7 +30,8 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
verifyPresenceAllFlag = "verify-presence-all"
|
||||
verifyPresenceAllFlag = "verify-presence-all"
|
||||
preferInternalAddressesFlag = "prefer-internal-addresses"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -97,6 +98,7 @@ func initObjectNodesCmd() {
|
|||
|
||||
flags.Bool(verifyPresenceAllFlag, false, "Verify the actual presence of the object on all netmap nodes.")
|
||||
flags.Bool(commonflags.JSON, false, "Print information about the object placement as json.")
|
||||
flags.Bool(preferInternalAddressesFlag, false, "Use internal addresses first to get object info.")
|
||||
}
|
||||
|
||||
func objectNodes(cmd *cobra.Command, _ []string) {
|
||||
|
@ -449,11 +451,20 @@ func getNodesToCheckObjectExistance(cmd *cobra.Command, netmap *netmapSDK.NetMap
|
|||
func createClient(ctx context.Context, cmd *cobra.Command, candidate netmapSDK.NodeInfo, pk *ecdsa.PrivateKey) (*client.Client, error) {
|
||||
var cli *client.Client
|
||||
var addresses []string
|
||||
candidate.IterateNetworkEndpoints(func(s string) bool {
|
||||
addresses = append(addresses, s)
|
||||
return false
|
||||
})
|
||||
addresses = append(addresses, candidate.ExternalAddresses()...)
|
||||
if preferInternal, _ := cmd.Flags().GetBool(preferInternalAddressesFlag); preferInternal {
|
||||
candidate.IterateNetworkEndpoints(func(s string) bool {
|
||||
addresses = append(addresses, s)
|
||||
return false
|
||||
})
|
||||
addresses = append(addresses, candidate.ExternalAddresses()...)
|
||||
} else {
|
||||
addresses = append(addresses, candidate.ExternalAddresses()...)
|
||||
candidate.IterateNetworkEndpoints(func(s string) bool {
|
||||
addresses = append(addresses, s)
|
||||
return false
|
||||
})
|
||||
}
|
||||
|
||||
var lastErr error
|
||||
for _, address := range addresses {
|
||||
var networkAddr network.Address
|
||||
|
|
Loading…
Reference in a new issue