-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Cloud network setup scripts #1234
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #1234 +/- ##
========================================
Coverage 63.46% 63.46%
========================================
Files 117 117
Lines 6927 6927
========================================
Hits 4396 4396
Misses 2276 2276
Partials 255 255 |
ee5e684
to
f27afa8
Compare
9c0a719
to
6dcbd62
Compare
Since this hasn't been reviewed for a while now but I need to work on things that depend on this change, I'm going to set it to WIP and keep adding stuff to it. |
53513fc
to
01b0e03
Compare
378ed11
to
34ee8ac
Compare
…ks and example scripts to set up remote testnets in the cloud
34ee8ac
to
19e3779
Compare
@greg-szabo when you are ready for a review here please holler! I would be happy to run through this code. |
@jackzampolin Ready for a review! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I've only worked through some of the DO stuff, will do the AWS work next week. TL;DR the ansible scripts work well and setup nodes properly. The terraform for DO is broken because of the duplicate SSH key issue (this is not easily fixable). I was running the following commands to spin up a validator and full node in DO:
TESTNET_NAME=remotenetvalidators CLUSTER_NAME=remotenetvalidators SERVERS=1 make validators-start-do extract-config-do
TESTNET_NAME=remotenetfullnodes CLUSTER_NAME=remotenetfullnodes SERVERS=1 make fullnodes-start-do
Getting up and running was a bit difficult due to a lack of python
environment. (Maybe a requirements.txt
or setup.py
to ease that). Also there was not a list of dependancies when I started (this was a known issue)
Dependancies:
- Ansible (
pip install ansible
) - Terraform (https://www.terraform.io/intro/getting-started/install.html)
- Python deps (need to work with @greg-szabo and @zramsay to get these listed)
networks/Makefile
Outdated
extract-config-do: | ||
@if [ -z "$(DO_API_TOKEN)" ]; then echo "DO_API_TOKEN environment variable not set." ; false ; fi | ||
@if ! [ -f $(HOME)/.ssh/id_rsa.pub ]; then ssh-keygen ; fi | ||
cd remote/ansible && ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i inventory/digital_ocean.py -l "$(CLUSTER_NAME)" -e TESTNET_NAME="$(TESTNET_NAME)" -e GENESISFILE="$(GENESISFILE)" -e CONFIGFILE="$(CONFIGFILE)" extract-config.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line needs to have a -u root
there.
According to @greg-szabo this is ready-for-review, tagged as such. |
Let's add a disclaimer to the effect that this should be seen as an example cloud configuration template, and possible inspiration to users testing Tendermint or validators setting up infrastructure, but it hasn't been audited and should be considered a prototype only. |
Then we can merge this big PR and break the work up into smaller segments/PRs later. What do you think @greg-szabo ? |
DigitalOcean scripts were made obsolete. I keep telling Bucky that devops tooling works in a much faster pace then the review process at cosmos-sdk. I can add minor PRs every few days but the newer PRs will depend on older PRs and if review takes weeks than a bunch of work will pile up. |
Please review and merge this one. We'll figure out the rest afterwards. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK, approving per @jackzampolin request.
Moved changelog entries to PENDING.md, added a disclaimer to commands in networks/Makefile
.
I have not reviewed the cloud configs (and cannot do so since this PR is 60 files and I don't know Ansible syntax).
Additional scripts to set up testnets in AWS.
This change depends on #1208 because that PR fixes a minor bug when using the
init
command. (In some cases the word seed was not returned.)