New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Repo migration using IPFS #4247
Comments
|
Could also create an in memory repo and with the (not yet implemented) |
|
This can be an option, but we should still use the gateway as a backup option. We could prompt the user if they want to retrieve the file over the ipfs network and when they say no provide instructions to get the upgrade by retrieving via the gateway (likely a command line flag). |
What's the rational for keeping this option? Providing instructions for manually downloading and running the migration tool in case of failure is reasonable but otherwise, IPFS should work (and if it doesn't, we need to make it work). |
I always prefer the more convective approach. Yes it should work, except when it doesn't. And in my experience, in general, things don't work a lot of the time for me. I suppose the fully manual approach can be reasonable if it is a very simple process and does the exact same thing the automatic approach does. |
|
I agree that it would be nice to use IPFS as the first choice where possible. Since manual steps are documented here: https://github.com/ipfs/fs-repo-migrations/blob/master/run.md |
Nodes on my networks don't really work unless configured for releay due to weird CG-NAT. I have to configure them properly. I might setup a notebook with remote access for someone to test it out if I don't find time to fix it in go-ipfs itself. |
|
Fair enough (although we should eventually try to make this work).
Can they not even establish outbound connections? That's all that's needed in this case (connect to one of our nodes, fetch the migration over bitswap). |
Not always if reuseport is enabled. |
Ah. I forgot about that issue... (libp2p/go-libp2p#1434). We really should find a nice way to fix that. |
|
Say you are upgrading Would a solution like this work? This would mean that we avoid hitting the public gateway, thereby consuming 0 internet bandwidth, allowing all migrations and traffic to happen over the local network. Which not only should be faster than hitting the public gateway, but will also save users $ (albeit small). In theory this should allow |
|
So, the issue there is that copying repos is slow and requires 2x the disk space. IMO, if you need high availability, you should be using ipfs-cluster. In that case, as long as you have a replication factor > 2, you can simply bring down and migrate each node one-by-one. |
|
This work continues in:
|
Stebalien commentedSep 18, 2017
Currently, we download the repo migration tool using HTTPS from the gateways as necessary. Really, we should dogfood our own tech and use IPFS. The wrinkle is that we currently need to do the repo migration in order to start IPFS (because we need a working repo).
However, there's actually a simple solution to this. We can:
/tmp, use the same ports for firewall reasons but a new temporary identity as this won't really be the same node).IPFS_HOME=tmp_ipfs_repo ipfs get /...(without starting the daemon).The text was updated successfully, but these errors were encountered: