Skip to content
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

Updating mechanism for mainnet #129

Closed
3 tasks done
jdknives opened this issue Jan 25, 2020 · 4 comments · Fixed by #153
Closed
3 tasks done

Updating mechanism for mainnet #129

jdknives opened this issue Jan 25, 2020 · 4 comments · Fixed by #153
Assignees
Labels
enhancement New feature or request

Comments

@jdknives
Copy link
Member

jdknives commented Jan 25, 2020

Feature description

We will need to implement an updating mechanism for mainnet before we switch over to mainnet from testnet

This is a ticket for discussing the best way to implemnt such a mechanism.

We need to ensure that:

  • configuration files persist
  • the update can be triggered from hypervisor
  • the visor connects to hypervisor after update automatically

We need to update:

  • visor

  • skywire-cli

  • application binaries

@jdknives jdknives added enhancement New feature or request question Further information is requested labels Jan 25, 2020
@nkryuchkov nkryuchkov self-assigned this Jan 28, 2020
@nkryuchkov
Copy link
Contributor

@jdknives How do we need to update?

  1. Clone the repository to a temporary folder, checkout to the required version, build and run.
  2. Download binaries uploaded to GitHub releases, run.

@jdknives
Copy link
Member Author

I think 2. sounds like the better way to go. We can tag releases every time we want to push a new version. For the other projects, we then have a Version file in the repo and additionally use version.skycoin.com, which returns the latest version for different binaries (currently only Skywallet firmware version and Skycoin Wallet version.)

  1. After we bumped the version.skycoin.net file with the latest Skywire version number, we could have Skywire check a specific version link from Github release page and download that.
  2. Unzip it.
  3. and run it.

We just need to make sure, we keep the config file and any other data that needs to persist. (Although I think the config file is the only relevant file at this point.) That would require us to have a version command (and hypervisor endpoint for returning version of visor).

@jdknives
Copy link
Member Author

We may need to deal with updating scenarios, where new config values are required for visor to run. In that case we will need to update the config file before restart of the visor after an update. Also, we do not need the versioning for the application binaries and can just have them follow the versioning of the visor for now.

@nkryuchkov
Copy link
Contributor

I created a separated issue for migrating configs: #168.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants