From 1d90130f6565b0e003dfdb6be78d60f3ab7da356 Mon Sep 17 00:00:00 2001 From: dgrisham Date: Thu, 29 Jun 2017 18:40:06 -0600 Subject: [PATCH] initial tests passing --- allocator/ascendalloc/ascendalloc.go | 8 ++-- allocator/ascendalloc/ascendalloc_test.go | 4 +- api/restapi/restapi.go | 14 +++---- api/restapi/restapi_test.go | 2 +- api/types.go | 8 ++-- api/types_test.go | 6 +-- cluster.go | 32 +++++++-------- cluster_test.go | 32 ++++++++------- config.go | 33 ++++----------- config_test.go | 3 +- consensus/raft/consensus.go | 14 +++---- consensus/raft/consensus_test.go | 18 ++++---- consensus/raft/log_op.go | 8 ++-- consensus/raft/log_op_test.go | 2 +- consensus/raft/raft.go | 12 +++--- informer/disk/disk.go | 4 +- informer/disk/disk_test.go | 2 +- informer/numpin/numpin.go | 2 +- informer/numpin/numpin_test.go | 2 +- ipfs-cluster-ctl/main.go | 10 ++--- ipfs-cluster-service/main.go | 8 ++-- ipfscluster.go | 10 ++--- ipfscluster_test.go | 50 +++++++++++++++++++---- ipfsconn/ipfshttp/ipfshttp.go | 12 +++--- ipfsconn/ipfshttp/ipfshttp_test.go | 8 ++-- logging.go | 2 +- monitor/basic/peer_monitor.go | 6 +-- monitor/basic/peer_monitor_test.go | 2 +- peer_manager.go | 6 +-- peer_manager_test.go | 6 +-- pintracker/maptracker/maptracker.go | 8 ++-- pintracker/maptracker/maptracker_test.go | 4 +- pnet_test.go | 48 ++++++++++++++++++++++ rpc_api.go | 2 +- state/interface.go | 2 +- state/mapstate/map_state.go | 2 +- state/mapstate/map_state_test.go | 4 +- test/cids.go | 2 +- test/ipfs_mock.go | 2 +- test/rpc_api_mock.go | 6 +-- util.go | 6 +-- 41 files changed, 237 insertions(+), 175 deletions(-) create mode 100644 pnet_test.go diff --git a/allocator/ascendalloc/ascendalloc.go b/allocator/ascendalloc/ascendalloc.go index c2c1fbaa..1626a8cd 100644 --- a/allocator/ascendalloc/ascendalloc.go +++ b/allocator/ascendalloc/ascendalloc.go @@ -10,10 +10,10 @@ import ( "github.com/ipfs/ipfs-cluster/api" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" ) var logger = logging.Logger("ascendalloc") diff --git a/allocator/ascendalloc/ascendalloc_test.go b/allocator/ascendalloc/ascendalloc_test.go index 56e49874..a4572944 100644 --- a/allocator/ascendalloc/ascendalloc_test.go +++ b/allocator/ascendalloc/ascendalloc_test.go @@ -7,8 +7,8 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/informer/numpin" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" ) type testcase struct { diff --git a/api/restapi/restapi.go b/api/restapi/restapi.go index 8561f7c5..26262652 100644 --- a/api/restapi/restapi.go +++ b/api/restapi/restapi.go @@ -14,13 +14,13 @@ import ( "github.com/ipfs/ipfs-cluster/api" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - mux "gx/ipfs/QmVrBjGjskzhW7HRfC56f4mT3nmNBHj2WWnEXr39G7Y6w8/mux" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" - manet "gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net" + mux "github.com/gorilla/mux" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" + manet "github.com/multiformats/go-multiaddr-net" ) var logger = logging.Logger("restapi") diff --git a/api/restapi/restapi_test.go b/api/restapi/restapi_test.go index 7dec7d15..4586225e 100644 --- a/api/restapi/restapi_test.go +++ b/api/restapi/restapi_test.go @@ -11,7 +11,7 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/test" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" + ma "github.com/multiformats/go-multiaddr" ) var ( diff --git a/api/types.go b/api/types.go index 54938093..1a8a68fc 100644 --- a/api/types.go +++ b/api/types.go @@ -11,10 +11,10 @@ package api import ( "time" - protocol "gx/ipfs/QmZNkThpqfVXs9GNbexPrfBbXSLNYeKrE7jwFM2oqHbyqN/go-libp2p-protocol" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" + protocol "github.com/libp2p/go-libp2p-protocol" + ma "github.com/multiformats/go-multiaddr" ) // TrackerStatus values diff --git a/api/types_test.go b/api/types_test.go index 4f48cba1..877fa6b9 100644 --- a/api/types_test.go +++ b/api/types_test.go @@ -4,9 +4,9 @@ import ( "testing" "time" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" ) var testTime = time.Date(2017, 12, 31, 15, 45, 50, 0, time.UTC) diff --git a/cluster.go b/cluster.go index c6786921..c9b60de5 100644 --- a/cluster.go +++ b/cluster.go @@ -1,29 +1,29 @@ package ipfscluster import ( - "bytes" "context" "errors" "fmt" "os" "path/filepath" + "strings" "sync" "time" "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/consensus/raft" "github.com/ipfs/ipfs-cluster/state" - pnet "gx/ipfs/QmTJoXQ24GqDf9MqAUwf3vW38HG6ahE9S7GzZoRMEeE8Kc/go-libp2p-pnet" + pnet "github.com/libp2p/go-libp2p-pnet" - ipnet "gx/ipfs/QmPsBptED6X43GYg3347TAUruN3UfsAhaGTP9xbinYX7uf/go-libp2p-interface-pnet" - basichost "gx/ipfs/QmQA5mdxru8Bh6dpC9PJfSkumqnmHgJX7knxSgBo5Lpime/go-libp2p/p2p/host/basic" - host "gx/ipfs/QmUywuGNZoUKV8B9iyvup9bPkLiMrhTsyVMkeSXW5VxAfC/go-libp2p-host" - swarm "gx/ipfs/QmVkDnNm71vYyY6s6rXwtmyDYis3WkKyrEhMECwT6R12uJ/go-libp2p-swarm" - peerstore "gx/ipfs/QmXZSd1qR5BxZkPyuwfT5jpqQFScZccoZvDneXsKzCNHWX/go-libp2p-peerstore" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + host "github.com/libp2p/go-libp2p-host" + ipnet "github.com/libp2p/go-libp2p-interface-pnet" + peer "github.com/libp2p/go-libp2p-peer" + peerstore "github.com/libp2p/go-libp2p-peerstore" + swarm "github.com/libp2p/go-libp2p-swarm" + basichost "github.com/libp2p/go-libp2p/p2p/host/basic" + ma "github.com/multiformats/go-multiaddr" ) // Cluster is the main IPFS cluster component. It provides @@ -864,14 +864,10 @@ func makeHost(ctx context.Context, cfg *Config) (host.Host, error) { privateKey := cfg.PrivateKey publicKey := privateKey.GetPublic() - swarmKey, err := loadSwarmKey(cfg.SwarmKeyPath) - if err != nil { - return nil, err - } - var protec ipnet.Protector - if swarmKey != nil { - protec, err = pnet.NewProtector(bytes.NewReader(swarmKey)) + if len(cfg.SwarmKey) != 0 { + var err error + protec, err = pnet.NewProtector(strings.NewReader(cfg.SwarmKey)) if err != nil { return nil, err } diff --git a/cluster_test.go b/cluster_test.go index e87d1928..d6e91af1 100644 --- a/cluster_test.go +++ b/cluster_test.go @@ -13,8 +13,8 @@ import ( "github.com/ipfs/ipfs-cluster/state/mapstate" "github.com/ipfs/ipfs-cluster/test" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" ) type mockComponent struct { @@ -81,10 +81,12 @@ func (ipfs *mockConnector) ConnectSwarms() error { retu func (ipfs *mockConnector) ConfigKey(keypath string) (interface{}, error) { return nil, nil } func (ipfs *mockConnector) RepoSize() (int, error) { return 0, nil } -func testingCluster(t *testing.T) (*Cluster, *mockAPI, *mockConnector, *mapstate.MapState, *maptracker.MapPinTracker) { +func testingCluster(t *testing.T, uniqueSwarm bool) (*Cluster, *mockAPI, *mockConnector, *mapstate.MapState, *maptracker.MapPinTracker) { api := &mockAPI{} ipfs := &mockConnector{} - cfg := testingConfig() + swarmKey, err := testingSwarmKey(uniqueSwarm) + checkErr(t, err) + cfg := testingConfig(swarmKey) st := mapstate.NewMapState() tracker := maptracker.NewMapPinTracker(cfg.ID) mon := basic.NewStdPeerMonitor(2) @@ -112,13 +114,13 @@ func cleanRaft() { } func testClusterShutdown(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) err := cl.Shutdown() if err != nil { t.Error("cluster shutdown failed:", err) } cl.Shutdown() - cl, _, _, _, _ = testingCluster(t) + cl, _, _, _, _ = testingCluster(t, false) err = cl.Shutdown() if err != nil { t.Error("cluster shutdown failed:", err) @@ -127,7 +129,7 @@ func testClusterShutdown(t *testing.T) { func TestClusterStateSync(t *testing.T) { cleanRaft() - cl, _, _, st, _ := testingCluster(t) + cl, _, _, st, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() _, err := cl.StateSync() @@ -156,7 +158,7 @@ func TestClusterStateSync(t *testing.T) { } func TestClusterID(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() id := cl.ID() @@ -175,7 +177,7 @@ func TestClusterID(t *testing.T) { } func TestClusterPin(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() @@ -194,7 +196,7 @@ func TestClusterPin(t *testing.T) { } func TestClusterPins(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() @@ -214,7 +216,7 @@ func TestClusterPins(t *testing.T) { } func TestClusterPinGet(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() @@ -240,7 +242,7 @@ func TestClusterPinGet(t *testing.T) { } func TestClusterUnpin(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() @@ -259,20 +261,20 @@ func TestClusterUnpin(t *testing.T) { } func TestClusterPeers(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() peers := cl.Peers() if len(peers) != 1 { t.Fatal("expected 1 peer") } - if peers[0].ID != testingConfig().ID { + if peers[0].ID != testingConfig("").ID { t.Error("bad member") } } func TestVersion(t *testing.T) { - cl, _, _, _, _ := testingCluster(t) + cl, _, _, _, _ := testingCluster(t, false) defer cleanRaft() defer cl.Shutdown() if cl.Version() != Version { diff --git a/config.go b/config.go index d2e5bd1e..1df0ac2f 100644 --- a/config.go +++ b/config.go @@ -5,12 +5,11 @@ import ( "encoding/json" "fmt" "io/ioutil" - "os" "sync" - crypto "gx/ipfs/QmP1DfoUjiWH2ZBo1PBH6FupdBucbDepx3HpWmEY6JMUpY/go-libp2p-crypto" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + crypto "github.com/libp2p/go-libp2p-crypto" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" ) // Default parameters for the configuration @@ -36,7 +35,7 @@ type Config struct { PrivateKey crypto.PrivKey // Swarm key for private network - SwarmKeyPath string + SwarmKey string // Fingerprint for private network PNetFingerprint []byte @@ -110,7 +109,7 @@ type JSONConfig struct { PrivateKey string `json:"private_key"` // Swarm key for private network - SwarmKeyPath string `json:"swarm_key_path"` + SwarmKey string `json:"swarm_key"` // ClusterPeers is the list of peers' multiaddresses in the Cluster. // They are used as the initial peers in the consensus. When @@ -203,7 +202,7 @@ func (cfg *Config) ToJSONConfig() (j *JSONConfig, err error) { j = &JSONConfig{ ID: cfg.ID.Pretty(), PrivateKey: pKey, - SwarmKeyPath: cfg.SwarmKeyPath, + SwarmKey: cfg.SwarmKey, ClusterPeers: clusterPeers, Bootstrap: bootstrap, LeaveOnShutdown: cfg.LeaveOnShutdown, @@ -309,7 +308,7 @@ func (jcfg *JSONConfig) ToConfig() (c *Config, err error) { c = &Config{ ID: id, PrivateKey: pKey, - SwarmKeyPath: jcfg.SwarmKeyPath, + SwarmKey: jcfg.SwarmKey, ClusterPeers: clusterPeers, Bootstrap: bootstrap, LeaveOnShutdown: jcfg.LeaveOnShutdown, @@ -347,26 +346,10 @@ func LoadConfig(path string) (*Config, error) { return nil, err } cfg.path = path + return cfg, nil } -func loadSwarmKey(path string) ([]byte, error) { - f, err := os.Open(path) - if err != nil { - if os.IsNotExist(err) { - return nil, nil - } else { - return nil, err - } - } - defer f.Close() - if err != nil { - return nil, err - } - - return ioutil.ReadAll(f) -} - // Save stores a configuration as a JSON file in the given path. // If no path is provided, it uses the path the configuration was // loaded from. diff --git a/config_test.go b/config_test.go index 84a2d5de..c795325c 100644 --- a/config_test.go +++ b/config_test.go @@ -2,10 +2,11 @@ package ipfscluster import "testing" -func testingConfig() *Config { +func testingConfig(swarmKey string) *Config { jcfg := &JSONConfig{ ID: "QmUfSFm12eYCaRdypg48m8RqkXfLW7A2ZeGZb2skeHHDGA", PrivateKey: "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", + SwarmKey: swarmKey, ClusterListenMultiaddress: "/ip4/127.0.0.1/tcp/10000", APIListenMultiaddress: "/ip4/127.0.0.1/tcp/10002", diff --git a/consensus/raft/consensus.go b/consensus/raft/consensus.go index 061c47ee..d566bd05 100644 --- a/consensus/raft/consensus.go +++ b/consensus/raft/consensus.go @@ -11,13 +11,13 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/state" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - libp2praft "gx/ipfs/QmUqn6GHVKewa8H4L8mEwWFV27R4xb3s9LB9qxNxGGqxgy/go-libp2p-raft" - host "gx/ipfs/QmUywuGNZoUKV8B9iyvup9bPkLiMrhTsyVMkeSXW5VxAfC/go-libp2p-host" - consensus "gx/ipfs/QmZ88KbrvZMJpXaNwAGffswcYKz8EbeafzAFGMCA6MEZKt/go-libp2p-consensus" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + logging "github.com/ipfs/go-log" + consensus "github.com/libp2p/go-libp2p-consensus" + host "github.com/libp2p/go-libp2p-host" + peer "github.com/libp2p/go-libp2p-peer" + libp2praft "github.com/libp2p/go-libp2p-raft" + ma "github.com/multiformats/go-multiaddr" ) var logger = logging.Logger("consensus") diff --git a/consensus/raft/consensus_test.go b/consensus/raft/consensus_test.go index be78f182..85394609 100644 --- a/consensus/raft/consensus_test.go +++ b/consensus/raft/consensus_test.go @@ -11,15 +11,15 @@ import ( "github.com/ipfs/ipfs-cluster/state/mapstate" "github.com/ipfs/ipfs-cluster/test" - crypto "gx/ipfs/QmP1DfoUjiWH2ZBo1PBH6FupdBucbDepx3HpWmEY6JMUpY/go-libp2p-crypto" - basichost "gx/ipfs/QmQA5mdxru8Bh6dpC9PJfSkumqnmHgJX7knxSgBo5Lpime/go-libp2p/p2p/host/basic" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - host "gx/ipfs/QmUywuGNZoUKV8B9iyvup9bPkLiMrhTsyVMkeSXW5VxAfC/go-libp2p-host" - swarm "gx/ipfs/QmVkDnNm71vYyY6s6rXwtmyDYis3WkKyrEhMECwT6R12uJ/go-libp2p-swarm" - peerstore "gx/ipfs/QmXZSd1qR5BxZkPyuwfT5jpqQFScZccoZvDneXsKzCNHWX/go-libp2p-peerstore" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + crypto "github.com/libp2p/go-libp2p-crypto" + host "github.com/libp2p/go-libp2p-host" + peer "github.com/libp2p/go-libp2p-peer" + peerstore "github.com/libp2p/go-libp2p-peerstore" + swarm "github.com/libp2p/go-libp2p-swarm" + basichost "github.com/libp2p/go-libp2p/p2p/host/basic" + ma "github.com/multiformats/go-multiaddr" ) var p2pPort = 10000 diff --git a/consensus/raft/log_op.go b/consensus/raft/log_op.go index 4f027033..a5e7de20 100644 --- a/consensus/raft/log_op.go +++ b/consensus/raft/log_op.go @@ -7,10 +7,10 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/state" - consensus "gx/ipfs/QmZ88KbrvZMJpXaNwAGffswcYKz8EbeafzAFGMCA6MEZKt/go-libp2p-consensus" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + consensus "github.com/libp2p/go-libp2p-consensus" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" ) // Type of consensus operation diff --git a/consensus/raft/log_op_test.go b/consensus/raft/log_op_test.go index 80d7df26..bb666051 100644 --- a/consensus/raft/log_op_test.go +++ b/consensus/raft/log_op_test.go @@ -4,7 +4,7 @@ import ( "context" "testing" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" + cid "github.com/ipfs/go-cid" "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/state/mapstate" diff --git a/consensus/raft/raft.go b/consensus/raft/raft.go index 48ef44cd..1992f6da 100644 --- a/consensus/raft/raft.go +++ b/consensus/raft/raft.go @@ -9,12 +9,12 @@ import ( "strings" "time" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - raftboltdb "gx/ipfs/QmUDCcPkPMPJ149YBpfFLWJtRFeqace5GNdBPD2cW4Z8E6/raft-boltdb" - libp2praft "gx/ipfs/QmUqn6GHVKewa8H4L8mEwWFV27R4xb3s9LB9qxNxGGqxgy/go-libp2p-raft" - host "gx/ipfs/QmUywuGNZoUKV8B9iyvup9bPkLiMrhTsyVMkeSXW5VxAfC/go-libp2p-host" - hashiraft "gx/ipfs/QmWRzh5sntXhuZaxmGDEjjBhg1nX7DgaMdhBeik42LZdEv/raft" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + hashiraft "github.com/hashicorp/raft" + raftboltdb "github.com/hashicorp/raft-boltdb" + logging "github.com/ipfs/go-log" + host "github.com/libp2p/go-libp2p-host" + peer "github.com/libp2p/go-libp2p-peer" + libp2praft "github.com/libp2p/go-libp2p-raft" ) // DefaultRaftConfig allows to tweak Raft configuration used by Cluster from diff --git a/informer/disk/disk.go b/informer/disk/disk.go index 5aab7d54..70bdaa76 100644 --- a/informer/disk/disk.go +++ b/informer/disk/disk.go @@ -6,8 +6,8 @@ package disk import ( "fmt" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + logging "github.com/ipfs/go-log" "github.com/ipfs/ipfs-cluster/api" ) diff --git a/informer/disk/disk_test.go b/informer/disk/disk_test.go index 4d2ae7c4..352469ac 100644 --- a/informer/disk/disk_test.go +++ b/informer/disk/disk_test.go @@ -4,7 +4,7 @@ import ( "errors" "testing" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" + rpc "github.com/hsanjuan/go-libp2p-gorpc" "github.com/ipfs/ipfs-cluster/test" ) diff --git a/informer/numpin/numpin.go b/informer/numpin/numpin.go index 86aadca9..00483058 100644 --- a/informer/numpin/numpin.go +++ b/informer/numpin/numpin.go @@ -5,7 +5,7 @@ package numpin import ( "fmt" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" + rpc "github.com/hsanjuan/go-libp2p-gorpc" "github.com/ipfs/ipfs-cluster/api" ) diff --git a/informer/numpin/numpin_test.go b/informer/numpin/numpin_test.go index a88ad12f..16555c11 100644 --- a/informer/numpin/numpin_test.go +++ b/informer/numpin/numpin_test.go @@ -5,7 +5,7 @@ import ( "github.com/ipfs/ipfs-cluster/api" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" + rpc "github.com/hsanjuan/go-libp2p-gorpc" ) type mockService struct{} diff --git a/ipfs-cluster-ctl/main.go b/ipfs-cluster-ctl/main.go index 10f696e1..3f2196f1 100644 --- a/ipfs-cluster-ctl/main.go +++ b/ipfs-cluster-ctl/main.go @@ -12,11 +12,11 @@ import ( "strings" "time" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - cli "gx/ipfs/Qmc1AtgBdoUHP8oYSqU81NRYdzohmF45t5XNwVMvhCxsBA/cli" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" + cli "github.com/urfave/cli" ) const programName = `ipfs-cluster-ctl` diff --git a/ipfs-cluster-service/main.go b/ipfs-cluster-service/main.go index 4e30f582..b6a7024f 100644 --- a/ipfs-cluster-service/main.go +++ b/ipfs-cluster-service/main.go @@ -11,9 +11,9 @@ import ( // _ "net/http/pprof" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - "gx/ipfs/Qmc1AtgBdoUHP8oYSqU81NRYdzohmF45t5XNwVMvhCxsBA/cli" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" + logging "github.com/ipfs/go-log" + ma "github.com/multiformats/go-multiaddr" + "github.com/urfave/cli" ipfscluster "github.com/ipfs/ipfs-cluster" "github.com/ipfs/ipfs-cluster/allocator/ascendalloc" @@ -111,7 +111,6 @@ var ( var ( configPath string dataPath string - //swarmKeyPath string ) func init() { @@ -213,7 +212,6 @@ func main() { configPath = filepath.Join(absPath, DefaultConfigFile) dataPath = filepath.Join(absPath, DefaultDataFolder) - //swarmKeyPath = filepath.Join(absPath, DefaultSwarmKeyFile) setupLogging(c.String("loglevel")) if c.Bool("debug") { diff --git a/ipfscluster.go b/ipfscluster.go index 932758e8..b1ac8ed8 100644 --- a/ipfscluster.go +++ b/ipfscluster.go @@ -12,11 +12,11 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/state" - protocol "gx/ipfs/QmZNkThpqfVXs9GNbexPrfBbXSLNYeKrE7jwFM2oqHbyqN/go-libp2p-protocol" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" + protocol "github.com/libp2p/go-libp2p-protocol" + ma "github.com/multiformats/go-multiaddr" ) // RPCProtocol is used to send libp2p messages between cluster peers diff --git a/ipfscluster_test.go b/ipfscluster_test.go index 4c81b01c..21497dde 100644 --- a/ipfscluster_test.go +++ b/ipfscluster_test.go @@ -1,6 +1,9 @@ package ipfscluster import ( + "bytes" + crand "crypto/rand" + "encoding/hex" "fmt" "math/rand" "os" @@ -21,10 +24,10 @@ import ( "github.com/ipfs/ipfs-cluster/state/mapstate" "github.com/ipfs/ipfs-cluster/test" - crypto "gx/ipfs/QmP1DfoUjiWH2ZBo1PBH6FupdBucbDepx3HpWmEY6JMUpY/go-libp2p-crypto" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + crypto "github.com/libp2p/go-libp2p-crypto" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" ) //TestClusters* @@ -39,8 +42,36 @@ var ( clusterPort = 20000 apiPort = 20500 ipfsProxyPort = 21000 + + // reusable swarm key + constSwarmKey string = "/key/swarm/psk/1.0.0/\n/base16/\n2951539a3737c06a5aee55834c27145ca1783bdc7daeaa92f9712b3ff6e9fa25" ) +func testingSwarmKey(uniqueSwarm bool) (string, error) { + if uniqueSwarm { + return generateSwarmKey() + } else { + return constSwarmKey, nil + } +} + +// copied/modified from github.com/Kubuxu/go-ipfs-swarm-key-gen +func generateSwarmKey() (string, error) { + key := make([]byte, 32) + _, err := crand.Read(key) + if err != nil { + return "", fmt.Errorf("Error reading from rand: %v", err) + } + + // very fast way to concat strings in Go, may be unnecessary here + var buffer bytes.Buffer + buffer.WriteString("/key/swarm/psk/1.0.0/\n") + buffer.WriteString("/base16/\n") + buffer.WriteString(hex.EncodeToString(key)) + + return buffer.String(), nil +} + func init() { rand.Seed(time.Now().UnixNano()) } @@ -60,7 +91,7 @@ func randomBytes() []byte { return bs } -func createComponents(t *testing.T, i int) (*Config, API, IPFSConnector, state.State, PinTracker, PeerMonitor, PinAllocator, Informer, *test.IpfsMock) { +func createComponents(t *testing.T, i int, uniqueSwarm bool) (*Config, API, IPFSConnector, state.State, PinTracker, PeerMonitor, PinAllocator, Informer, *test.IpfsMock) { mock := test.NewIpfsMock() clusterAddr, _ := ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", clusterPort+i)) apiAddr, _ := ma.NewMultiaddr(fmt.Sprintf("/ip4/127.0.0.1/tcp/%d", apiPort+i)) @@ -70,10 +101,13 @@ func createComponents(t *testing.T, i int) (*Config, API, IPFSConnector, state.S checkErr(t, err) pid, err := peer.IDFromPublicKey(pub) checkErr(t, err) + swarmKey, err := testingSwarmKey(uniqueSwarm) + checkErr(t, err) cfg, _ := NewDefaultConfig() cfg.ID = pid cfg.PrivateKey = priv + cfg.SwarmKey = swarmKey cfg.Bootstrap = []ma.Multiaddr{} cfg.ClusterAddr = clusterAddr cfg.APIAddr = apiAddr @@ -107,8 +141,8 @@ func createCluster(t *testing.T, cfg *Config, api API, ipfs IPFSConnector, state return cl } -func createOnePeerCluster(t *testing.T, nth int) (*Cluster, *test.IpfsMock) { - cfg, api, ipfs, state, tracker, mon, alloc, inf, mock := createComponents(t, nth) +func createOnePeerCluster(t *testing.T, nth int, uniqueSwarm bool) (*Cluster, *test.IpfsMock) { + cfg, api, ipfs, state, tracker, mon, alloc, inf, mock := createComponents(t, nth, uniqueSwarm) cl := createCluster(t, cfg, api, ipfs, state, tracker, mon, alloc, inf) return cl, mock } @@ -128,7 +162,7 @@ func createClusters(t *testing.T) ([]*Cluster, []*test.IpfsMock) { clusterPeers := make([]ma.Multiaddr, nClusters, nClusters) for i := 0; i < nClusters; i++ { - cfg, api, ipfs, state, tracker, mon, alloc, inf, mock := createComponents(t, i) + cfg, api, ipfs, state, tracker, mon, alloc, inf, mock := createComponents(t, i, false) cfgs[i] = cfg apis[i] = api ipfss[i] = ipfs diff --git a/ipfsconn/ipfshttp/ipfshttp.go b/ipfsconn/ipfshttp/ipfshttp.go index 5e20d963..36e0c079 100644 --- a/ipfsconn/ipfshttp/ipfshttp.go +++ b/ipfsconn/ipfshttp/ipfshttp.go @@ -20,12 +20,12 @@ import ( "github.com/ipfs/ipfs-cluster/api" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" - manet "gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" + manet "github.com/multiformats/go-multiaddr-net" ) var logger = logging.Logger("ipfshttp") diff --git a/ipfsconn/ipfshttp/ipfshttp_test.go b/ipfsconn/ipfshttp/ipfshttp_test.go index e37de637..38735191 100644 --- a/ipfsconn/ipfshttp/ipfshttp_test.go +++ b/ipfsconn/ipfshttp/ipfshttp_test.go @@ -14,10 +14,10 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/test" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - manet "gx/ipfs/Qmf1Gq7N45Rpuw7ev47uWgH6dLPtdnvcMRNPkVBwqjLJg2/go-multiaddr-net" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + ma "github.com/multiformats/go-multiaddr" + manet "github.com/multiformats/go-multiaddr-net" ) func init() { diff --git a/logging.go b/logging.go index e168f141..d895172a 100644 --- a/logging.go +++ b/logging.go @@ -1,6 +1,6 @@ package ipfscluster -import logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" +import logging "github.com/ipfs/go-log" var logger = logging.Logger("cluster") diff --git a/monitor/basic/peer_monitor.go b/monitor/basic/peer_monitor.go index d05f5d5c..f0356a74 100644 --- a/monitor/basic/peer_monitor.go +++ b/monitor/basic/peer_monitor.go @@ -9,9 +9,9 @@ import ( "sync" "time" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" "github.com/ipfs/ipfs-cluster/api" ) diff --git a/monitor/basic/peer_monitor_test.go b/monitor/basic/peer_monitor_test.go index 48cf7930..e79d6483 100644 --- a/monitor/basic/peer_monitor_test.go +++ b/monitor/basic/peer_monitor_test.go @@ -5,7 +5,7 @@ import ( "testing" "time" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + peer "github.com/libp2p/go-libp2p-peer" "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/test" diff --git a/peer_manager.go b/peer_manager.go index f6565e8f..e7db6895 100644 --- a/peer_manager.go +++ b/peer_manager.go @@ -4,9 +4,9 @@ import ( "sync" "time" - peerstore "gx/ipfs/QmXZSd1qR5BxZkPyuwfT5jpqQFScZccoZvDneXsKzCNHWX/go-libp2p-peerstore" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + peer "github.com/libp2p/go-libp2p-peer" + peerstore "github.com/libp2p/go-libp2p-peerstore" + ma "github.com/multiformats/go-multiaddr" ) // peerManager is our own local peerstore diff --git a/peer_manager_test.go b/peer_manager_test.go index d5577940..71c4d364 100644 --- a/peer_manager_test.go +++ b/peer_manager_test.go @@ -9,8 +9,8 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/test" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" + cid "github.com/ipfs/go-cid" + ma "github.com/multiformats/go-multiaddr" ) func peerManagerClusters(t *testing.T) ([]*Cluster, []*test.IpfsMock) { @@ -21,7 +21,7 @@ func peerManagerClusters(t *testing.T) ([]*Cluster, []*test.IpfsMock) { wg.Add(1) go func(i int) { defer wg.Done() - cl, m := createOnePeerCluster(t, i) + cl, m := createOnePeerCluster(t, i, false) cls[i] = cl mocks[i] = m }(i) diff --git a/pintracker/maptracker/maptracker.go b/pintracker/maptracker/maptracker.go index 43153c4a..0f6dc1c2 100644 --- a/pintracker/maptracker/maptracker.go +++ b/pintracker/maptracker/maptracker.go @@ -10,10 +10,10 @@ import ( "github.com/ipfs/ipfs-cluster/api" - logging "gx/ipfs/QmSpJByNKFX1sCsHBEp3R73FL4NF6FnQTEGyNAXHm2GS52/go-log" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + logging "github.com/ipfs/go-log" + peer "github.com/libp2p/go-libp2p-peer" ) var logger = logging.Logger("pintracker") diff --git a/pintracker/maptracker/maptracker_test.go b/pintracker/maptracker/maptracker_test.go index 44184c6a..224963ba 100644 --- a/pintracker/maptracker/maptracker_test.go +++ b/pintracker/maptracker/maptracker_test.go @@ -4,8 +4,8 @@ import ( "testing" "time" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/test" diff --git a/pnet_test.go b/pnet_test.go new file mode 100644 index 00000000..71a9828a --- /dev/null +++ b/pnet_test.go @@ -0,0 +1,48 @@ +package ipfscluster + +import "testing" + +func TestSimplePNet(t *testing.T) { + clusters, mocks := peerManagerClusters(t) + defer cleanRaft() + defer shutdownClusters(t, clusters, mocks) + + if len(clusters) < 2 { + t.Skip("need at least 2 nodes for this test") + } + + _, err := clusters[0].PeerAdd(clusterAddr(clusters[1])) + if err != nil { + t.Fatal(err) + } + + if len(clusters[0].Peers()) != len(clusters[1].Peers()) { + t.Fatal("Expected same number of peers") + } + if len(clusters[0].Peers()) != 2 { + t.Fatal("Expected 2 peers") + } +} + +func TestSwarmKeyRequired(t *testing.T) { + cl1, _ := createOnePeerCluster(t, 1, true) + cl2, _ := createOnePeerCluster(t, 2, false) + defer cleanRaft() + defer cl1.Shutdown() + defer cl2.Shutdown() + peers1 := cl1.Peers() + peers2 := cl2.Peers() + + _, err := cl1.PeerAdd(clusterAddr(cl2)) + if err == nil { + t.Fatal("Peer entered private cluster without key.") + } + + if len(peers1) != len(peers2) { + t.Fatal("Expected same number of peers") + } + if len(peers1) != 1 { + t.Fatal("Expected no peers other than self") + } +} + diff --git a/rpc_api.go b/rpc_api.go index e2dea322..13ff3117 100644 --- a/rpc_api.go +++ b/rpc_api.go @@ -3,7 +3,7 @@ package ipfscluster import ( "errors" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + peer "github.com/libp2p/go-libp2p-peer" "github.com/ipfs/ipfs-cluster/api" ) diff --git a/state/interface.go b/state/interface.go index b6e9935f..dbd894fd 100644 --- a/state/interface.go +++ b/state/interface.go @@ -6,8 +6,8 @@ package state import ( "io" + cid "github.com/ipfs/go-cid" "github.com/ipfs/ipfs-cluster/api" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" ) // State is used by the Consensus component to keep track of diff --git a/state/mapstate/map_state.go b/state/mapstate/map_state.go index 1680cf42..199dcb64 100644 --- a/state/mapstate/map_state.go +++ b/state/mapstate/map_state.go @@ -10,7 +10,7 @@ import ( "github.com/ipfs/ipfs-cluster/api" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" + cid "github.com/ipfs/go-cid" ) // Version is the map state Version. States with old versions should diff --git a/state/mapstate/map_state_test.go b/state/mapstate/map_state_test.go index a4ed6e38..cff6820e 100644 --- a/state/mapstate/map_state_test.go +++ b/state/mapstate/map_state_test.go @@ -5,8 +5,8 @@ import ( "fmt" "testing" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" "github.com/ipfs/ipfs-cluster/api" ) diff --git a/test/cids.go b/test/cids.go index 62e9c26f..a4a714af 100644 --- a/test/cids.go +++ b/test/cids.go @@ -1,6 +1,6 @@ package test -import peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" +import peer "github.com/libp2p/go-libp2p-peer" // Common variables used all arround tests. var ( diff --git a/test/ipfs_mock.go b/test/ipfs_mock.go index 8e203a18..4ac2d916 100644 --- a/test/ipfs_mock.go +++ b/test/ipfs_mock.go @@ -12,7 +12,7 @@ import ( "github.com/ipfs/ipfs-cluster/api" "github.com/ipfs/ipfs-cluster/state/mapstate" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" + cid "github.com/ipfs/go-cid" ) // IpfsMock is an ipfs daemon mock which should sustain the functionality used by ipfscluster. diff --git a/test/rpc_api_mock.go b/test/rpc_api_mock.go index 24f45f3c..ca65b3e9 100644 --- a/test/rpc_api_mock.go +++ b/test/rpc_api_mock.go @@ -7,9 +7,9 @@ import ( "github.com/ipfs/ipfs-cluster/api" - rpc "gx/ipfs/QmayPizdYNaSKGyFFxcjKf4ZkZ6kriQePqZkFwZQyvteDp/go-libp2p-gorpc" - cid "gx/ipfs/QmcTcsTvfaeEBRFo1TkFgT8sRmgi1n1LTZpecfVP8fzpGD/go-cid" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + rpc "github.com/hsanjuan/go-libp2p-gorpc" + cid "github.com/ipfs/go-cid" + peer "github.com/libp2p/go-libp2p-peer" ) // ErrBadCid is returned when using ErrorCid. Operations with that CID always diff --git a/util.go b/util.go index 84995639..05e4851f 100644 --- a/util.go +++ b/util.go @@ -6,9 +6,9 @@ import ( "github.com/ipfs/ipfs-cluster/api" - host "gx/ipfs/QmUywuGNZoUKV8B9iyvup9bPkLiMrhTsyVMkeSXW5VxAfC/go-libp2p-host" - ma "gx/ipfs/QmcyqRMCAXVtYPS4DiBrA7sezL9rRGfW8Ctx7cywL4TXJj/go-multiaddr" - peer "gx/ipfs/QmdS9KpbDyPrieswibZhkod1oXqRwZJrUPzxCofAMWpFGq/go-libp2p-peer" + host "github.com/libp2p/go-libp2p-host" + peer "github.com/libp2p/go-libp2p-peer" + ma "github.com/multiformats/go-multiaddr" ) // The copy functions below are used in calls to Cluste.multiRPC()