From af091cc51be8655e3979888df7195dd7d1e7a06b Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Thu, 26 Oct 2017 13:42:43 +0200 Subject: [PATCH 1/2] Fix #203: Assign peers and bootstrap when parsing the configuration License: MIT Signed-off-by: Hector Sanjuan --- cluster_config.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cluster_config.go b/cluster_config.go index 04e2e1c3..3ad63bf0 100644 --- a/cluster_config.go +++ b/cluster_config.go @@ -253,6 +253,7 @@ func (cfg *Config) LoadJSON(raw []byte) error { } clusterPeers[i] = maddr } + cfg.Peers = clusterPeers bootstrap := make([]ma.Multiaddr, len(jcfg.Bootstrap)) for i := 0; i < len(jcfg.Bootstrap); i++ { @@ -264,6 +265,7 @@ func (cfg *Config) LoadJSON(raw []byte) error { } bootstrap[i] = maddr } + cfg.Bootstrap = bootstrap clusterAddr, err := ma.NewMultiaddr(jcfg.ListenMultiaddress) if err != nil { From 289ac77cf625919c2b6c16dcee5ca3f86973587d Mon Sep 17 00:00:00 2001 From: Hector Sanjuan Date: Thu, 26 Oct 2017 13:56:31 +0200 Subject: [PATCH 2/2] Issue #203: Add test for the issue License: MIT Signed-off-by: Hector Sanjuan --- cluster_config_test.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/cluster_config_test.go b/cluster_config_test.go index 6f764e69..03a68bc2 100644 --- a/cluster_config_test.go +++ b/cluster_config_test.go @@ -10,8 +10,12 @@ var ccfgTestJSON = []byte(` "id": "QmUfSFm12eYCaRdypg48m8RqkXfLW7A2ZeGZb2skeHHDGA", "private_key": "CAASqAkwggSkAgEAAoIBAQDpT16IRF6bb9tHsCbQ7M+nb2aI8sz8xyt8PoAWM42ki+SNoESIxKb4UhFxixKvtEdGxNE6aUUVc8kFk6wTStJ/X3IGiMetwkXiFiUxabUF/8A6SyvnSVDm+wFuavugpVrZikjLcfrf2xOVgnG3deQQvd/qbAv14jTwMFl+T+8d/cXBo8Mn/leLZCQun/EJEnkXP5MjgNI8XcWUE4NnH3E0ESSm6Pkm8MhMDZ2fmzNgqEyJ0GVinNgSml3Pyha3PBSj5LRczLip/ie4QkKx5OHvX2L3sNv/JIUHse5HSbjZ1c/4oGCYMVTYCykWiczrxBUOlcr8RwnZLOm4n2bCt5ZhAgMBAAECggEAVkePwfzmr7zR7tTpxeGNeXHtDUAdJm3RWwUSASPXgb5qKyXVsm5nAPX4lXDE3E1i/nzSkzNS5PgIoxNVU10cMxZs6JW0okFx7oYaAwgAddN6lxQtjD7EuGaixN6zZ1k/G6vT98iS6i3uNCAlRZ9HVBmjsOF8GtYolZqLvfZ5izEVFlLVq/BCs7Y5OrDrbGmn3XupfitVWYExV0BrHpobDjsx2fYdTZkmPpSSvXNcm4Iq2AXVQzoqAfGo7+qsuLCZtVlyTfVKQjMvE2ffzN1dQunxixOvev/fz4WSjGnRpC6QLn6Oqps9+VxQKqKuXXqUJC+U45DuvA94Of9MvZfAAQKBgQD7xmXueXRBMr2+0WftybAV024ap0cXFrCAu+KWC1SUddCfkiV7e5w+kRJx6RH1cg4cyyCL8yhHZ99Z5V0Mxa/b/usuHMadXPyX5szVI7dOGgIC9q8IijN7B7GMFAXc8+qC7kivehJzjQghpRRAqvRzjDls4gmbNPhbH1jUiU124QKBgQDtOaW5/fOEtOq0yWbDLkLdjImct6oKMLhENL6yeIKjMYgifzHb2adk7rWG3qcMrdgaFtDVfqv8UmMEkzk7bSkovMVj3SkLzMz84ii1SkSfyaCXgt/UOzDkqAUYB0cXMppYA7jxHa2OY8oEHdBgmyJXdLdzJxCp851AoTlRUSePgQKBgQCQgKgUHOUaXnMEx88sbOuBO14gMg3dNIqM+Ejt8QbURmI8k3arzqA4UK8Tbb9+7b0nzXWanS5q/TT1tWyYXgW28DIuvxlHTA01aaP6WItmagrphIelERzG6f1+9ib/T4czKmvROvDIHROjq8lZ7ERs5Pg4g+sbh2VbdzxWj49EQQKBgFEna36ZVfmMOs7mJ3WWGeHY9ira2hzqVd9fe+1qNKbHhx7mDJR9fTqWPxuIh/Vac5dZPtAKqaOEO8OQ6f9edLou+ggT3LrgsS/B3tNGOPvA6mNqrk/Yf/15TWTO+I8DDLIXc+lokbsogC+wU1z5NWJd13RZZOX/JUi63vTmonYBAoGBAIpglLCH2sPXfmguO6p8QcQcv4RjAU1c0GP4P5PNN3Wzo0ItydVd2LHJb6MdmL6ypeiwNklzPFwTeRlKTPmVxJ+QPg1ct/3tAURN/D40GYw9ojDhqmdSl4HW4d6gHS2lYzSFeU5jkG49y5nirOOoEgHy95wghkh6BfpwHujYJGw4", "secret": "2588b80d5cb05374fa142aed6cbb047d1f4ef8ef15e37eba68c65b9d30df67ed", - "peers": [], - "bootstrap": [], + "peers": [ + "/ip4/1.2.3.4/tcp/10000/ipfs/QmUfSFm12eYCaRdypg48m8RqkXfLW7A2ZeGZb2skeHH123" + ], + "bootstrap": [ + "/ip4/1.2.3.4/tcp/10000/ipfs/QmUfSFm12eYCaRdypg48m8RqkXfLW7A2ZeGZb2skeHH125" + ], "leave_on_shutdown": true, "listen_multiaddress": "/ip4/127.0.0.1/tcp/10000", "state_sync_interval": "1m0s", @@ -28,6 +32,10 @@ func TestLoadJSON(t *testing.T) { t.Fatal(err) } + if len(cfg.Peers) != 1 || len(cfg.Bootstrap) != 1 { + t.Error("expected 1 peer and 1 bootstrap") + } + j := &configJSON{} json.Unmarshal(ccfgTestJSON, j)