Skip to content

Commit

Permalink
Merge pull request #5332 from oasisprotocol/andrej/bugfix/migrate-see…
Browse files Browse the repository at this point in the history
…d-p2p-addrs

go/oasis-node/cmd/config/migrate: Add runtime P2P seed address too
  • Loading branch information
abukosek committed Jul 27, 2023
2 parents 7ff5f74 + ad143c1 commit 4425f68
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 4 deletions.
1 change: 1 addition & 0 deletions .changelog/5332.trivial.md
@@ -0,0 +1 @@
go/oasis-node/cmd/config/migrate: Add runtime P2P seed address too
25 changes: 21 additions & 4 deletions go/oasis-node/cmd/config/migrate/migrate.go
Expand Up @@ -72,8 +72,8 @@ func translateKnownP2P(in []string) ([]string, uint) {

var numUnknown uint

out := make([]string, len(in))
for idx, p2pOld := range in {
out := []string{}
for _, p2pOld := range in {
var p2pNew string

if knownNew, isKnown := known[p2pOld]; isKnown {
Expand All @@ -87,7 +87,7 @@ func translateKnownP2P(in []string) ([]string, uint) {
numUnknown++
}

out[idx] = p2pNew
out = append(out, p2pNew)
}

return out, numUnknown
Expand Down Expand Up @@ -134,6 +134,23 @@ func convertP2P(i interface{}, oldS string, newS string) []string {
return out
}

// AppendLibp2pAddrs appends the corresponding libp2p seed node address (which
// differs only in the port number) for each Tendermint seed node address.
func appendLibp2pAddrs(in []string) []string {
out := []string{}
for _, addr := range in {
out = append(out, addr)

idxOfColon := strings.Index(addr, ":")
if idxOfColon != -1 {
entry := addr[0:idxOfColon]
p2pRT := entry + ":9200"
out = append(out, p2pRT)
}
}
return out
}

func doMigrateConfig(cmd *cobra.Command, args []string) {
initOnce.Do(func() {
config.GlobalConfig.Common.Log.Level["default"] = "info"
Expand Down Expand Up @@ -306,7 +323,7 @@ func doMigrateConfig(cmd *cobra.Command, args []string) {
continue
} else if pk == "seed" {
mkSubMap(newCfg, "p2p")
m(newCfg["p2p"])["seeds"] = convertP2P(pv, "consensus.tendermint.p2p.seed", "p2p.seeds")
m(newCfg["p2p"])["seeds"] = appendLibp2pAddrs(convertP2P(pv, "consensus.tendermint.p2p.seed", "p2p.seeds"))
delete(m(m(tendermint)["p2p"]), pk)
continue
}
Expand Down
7 changes: 7 additions & 0 deletions go/oasis-node/cmd/config/migrate/migrate_test.go
Expand Up @@ -448,6 +448,7 @@ func TestConfigMigrationSimple(t *testing.T) {
require.Equal(newConfig.Common.Log.Level["cometbft/context"], "error")
require.Equal(newConfig.Genesis.File, "/node/etc/genesis.json")
require.Equal(newConfig.P2P.Seeds[0], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:26656")
require.Equal(newConfig.P2P.Seeds[1], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:9200")
require.Equal(newConfig.Runtime.Paths[0], "/node/runtime/cipher-paratime-2.6.2.orc")
require.Equal(newConfig.Runtime.Paths[1], "/node/runtime/emerald-paratime-10.0.0.orc")
require.Equal(newConfig.Runtime.Paths[2], "/node/runtime/sapphire-paratime-0.4.0.orc")
Expand All @@ -469,6 +470,7 @@ func TestConfigMigrationComplex(t *testing.T) {
require.Equal(newConfig.Genesis.File, "/storage/node/genesis.json")
require.Equal(newConfig.P2P.Port, uint16(9002))
require.Equal(newConfig.P2P.Seeds[0], "HcDFrTp/MqRHtju5bCx6TIhIMd6X/0ZQ3lUG73q5898=@34.86.165.6:26656")
require.Equal(newConfig.P2P.Seeds[1], "HcDFrTp/MqRHtju5bCx6TIhIMd6X/0ZQ3lUG73q5898=@34.86.165.6:9200")
require.Equal(newConfig.Consensus.P2P.PersistentPeer[0], "INSERT_P2P_PUBKEY_HERE@1.2.3.4:5678")
require.Equal(newConfig.Consensus.P2P.UnconditionalPeer[0], "HcDFrTp/MqRHtju5bCx6TIhIMd6X/0ZQ3lUG73q5898=@34.86.165.6:26656")
require.Equal(newConfig.Consensus.SentryUpstreamAddresses[0], "INSERT_P2P_PUBKEY_HERE@1.2.3.4:5678")
Expand Down Expand Up @@ -511,6 +513,7 @@ func TestConfigMigrationKM(t *testing.T) {
require.Equal(newConfig.Genesis.File, "/km/etc/genesis.json")
require.Equal(newConfig.P2P.Port, uint16(1234))
require.Equal(newConfig.P2P.Seeds[0], "INSERT_P2P_PUBKEY_HERE@1.2.3.4:26656")
require.Equal(newConfig.P2P.Seeds[1], "INSERT_P2P_PUBKEY_HERE@1.2.3.4:9200")
require.Equal(newConfig.P2P.Registration.Addresses[0], "4.3.2.1:26656")
require.Equal(newConfig.Registration.Entity, "/km/etc/entity/entity.json")
require.Equal(newConfig.IAS.ProxyAddress, []string{"foo@1.2.3.4:5678"})
Expand All @@ -536,6 +539,7 @@ func TestConfigMigrationDocsNonValidator(t *testing.T) {
require.Equal(newConfig.Common.Log.Level["cometbft/context"], "error")
require.Equal(newConfig.Genesis.File, "/node/etc/genesis.json")
require.Equal(newConfig.P2P.Seeds[0], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:26656")
require.Equal(newConfig.P2P.Seeds[1], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:9200")
require.Equal(newConfig.Consensus.Validator, false)
}

Expand Down Expand Up @@ -584,6 +588,7 @@ func TestConfigMigrationDocsParaTime(t *testing.T) {
require.Equal(newConfig.P2P.Port, uint16(30002))
require.Equal(newConfig.P2P.Registration.Addresses[0], "1.2.3.4:30002")
require.Equal(newConfig.P2P.Seeds[0], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:26656")
require.Equal(newConfig.P2P.Seeds[1], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:9200")
require.Equal(newConfig.Registration.Entity, "/node/entity/entity.json")
require.Equal(newConfig.IAS.ProxyAddress, []string{"asdf@5.4.3.2:1234"})
require.Equal(newConfig.Runtime.SGXLoader, "/node/bin/oasis-core-runtime-loader")
Expand All @@ -606,6 +611,7 @@ func TestConfigMigrationDocsParaTimeClient(t *testing.T) {
require.Equal(newConfig.Common.Log.Level["cometbft/context"], "error")
require.Equal(newConfig.Genesis.File, "/node/etc/genesis.json")
require.Equal(newConfig.P2P.Seeds[0], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:26656")
require.Equal(newConfig.P2P.Seeds[1], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:9200")
require.Equal(newConfig.Runtime.Paths[0], "/node/runtimes/test.orc")
}

Expand All @@ -629,5 +635,6 @@ func TestConfigMigrationDocsSentry(t *testing.T) {
require.Equal(newConfig.Sentry.Control.Port, uint16(9009))
require.Equal(newConfig.Sentry.Control.AuthorizedPubkeys[0], "asdf")
require.Equal(newConfig.P2P.Seeds[0], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:26656")
require.Equal(newConfig.P2P.Seeds[1], "H6u9MtuoWRKn5DKSgarj/dzr2Z9BsjuRHgRAoXITOcU=@35.199.49.168:9200")
require.Equal(newConfig.Consensus.SentryUpstreamAddresses[0], "INSERT_P2P_PUBKEY_HERE@1.2.3.4:26656")
}

0 comments on commit 4425f68

Please sign in to comment.