Skip to content
This repository was archived by the owner on Apr 16, 2020. It is now read-only.

Provide Instructions for setting up data.gov Collaborators' Testbed Network #116

Closed
3 tasks done
flyingzumwalt opened this issue Jan 17, 2017 · 12 comments
Closed
3 tasks done
Assignees

Comments

@flyingzumwalt
Copy link
Contributor

flyingzumwalt commented Jan 17, 2017

@flyingzumwalt
Copy link
Contributor Author

Discussion on sprint planning: can we do this without merging "private networks"? They could modify the iptables, but writing a scipt to help with that might be harder than landing private networks.

@flyingzumwalt flyingzumwalt assigned ghost and Kubuxu Jan 17, 2017
@flyingzumwalt
Copy link
Contributor Author

@lgierth suggests we might be able to just use ip address filters.

@flyingzumwalt
Copy link
Contributor Author

This will use the new "private networks" code that @Kubuxu has just finished. It's not "ready for release" due to incomplete UX, but the plumbing will work for these tests. See #123

@flyingzumwalt
Copy link
Contributor Author

flyingzumwalt commented Jan 19, 2017

@Kubuxu suggests that as it is private network we will need to deploy few seed nodes. To handle lack of dht we might be able to have nodes connect directly with each other at start.

@flyingzumwalt
Copy link
Contributor Author

What's involved in create any necessary config files, setup/install scripts, etc:

  • turn off DHT
  • push change to bitswap so that it doesn't provide things when it fetches
  • manual routing: probably client mode
  • add with local
  • start daemon with nosync
  • no re-providing

@flyingzumwalt flyingzumwalt changed the title Set up Testbed Network Set up data.gov Collaborators' Testbed Network Jan 25, 2017
@whyrusleeping
Copy link
Contributor

So, on the side of the people adding the data, you'll use ipfs-pack:

cd /dataset/directory
ipfs-pack make
ipfs-pack serve

For the people doing mirroring, I will prepare a script that does roughly the following:

ipfs init
ipfs config --json Datastore.NoSync true
ipfs config Reprovider.Interval "0"


# then for starting the daemon:
ipfs daemon --routing=none

The caveat with starting the daemon this way is you will have to manually connect peers to start the transfers.

@flyingzumwalt
Copy link
Contributor Author

Questions that this leaves unanswered:

  • How will mirrors install ipfs? Which version? Downloaded from where?
  • How will they "manually connect peers"?

Think of it this way: If they were to do this while you were on vacation on mars, meaning they can't reach you for assistance, what instructions do they need?

@whyrusleeping
Copy link
Contributor

How will mirrors install ipfs? Which version? Downloaded from where?

They should download it from dist.ipfs.io

How will they "manually connect peers"?

When running ipfs-pack serve that nodes peer ID and some addresses its listening on should be printed out. The mirrors should then run ipfs swarm connect ADDRESS/ipfs/PEERID where address is a public address printed out by the ipfs-pack serve, and PEERID is the peer ID of the serving node. This part might need to be made a little easier. We could instead make sure that the ipfs-pack node has a public IP, and then have the mirrors set to bootstrap to it automatically.

@whyrusleeping
Copy link
Contributor

If the ipfs-pack node has a public IP address, we get its multiaddr and have the mirrors set up bootstrapping to it during the init step:

ipfs bootstrap rm --all
ipfs bootstrap add /ip4/1.2.3.4/tcp/9999/ipfs/QmIpfsPackPEerId

Then their nodes would auto connect. This is probably the best way to make this work.

@flyingzumwalt
Copy link
Contributor Author

@whyrusleeping should the people posting the data through ipfs-pack do anything to suppress routing, DHT, etc? You've only given instructions for the mirrors to do that. Was that intentional?

@flyingzumwalt
Copy link
Contributor Author

@whyrusleeping please review the instructions I've posted here: #135
Are they accurate?

@flyingzumwalt
Copy link
Contributor Author

The collaborators can now set up their ipfs nodes by following the Instructions for Replicating Large Amounts of Data with Minimal Overhead. Note: we're recommending an approach that requires the source/provider (@mejackreed) to run their node on a machine with a public IP address. The other nodes do not need public IP addresses.

@flyingzumwalt flyingzumwalt changed the title Set up data.gov Collaborators' Testbed Network Provide Instructions for setting up data.gov Collaborators' Testbed Network Jan 30, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants