Skip to content
This repository has been archived by the owner on Jan 19, 2022. It is now read-only.

Change core config format to include explicit node blocks. #59

Merged
merged 10 commits into from
Aug 23, 2020

Conversation

libby
Copy link
Contributor

@libby libby commented Aug 21, 2020

Getting rid of nodes.yaml and the simple specifying of number of node in the core config. Having a simple way to specify the number of nodes, is good for easy of use, but is not a good design for keeping the core config as a representation of the running state, and thus makes updating and day two ops tricky. The new config require that the node blocks are explicitly included in the core config. There is a helper script for quick start quick-start-gen that can generate a base core config given the number of desired nodes and other optional params quick-start-gen --help the quickest-start.sh uses this, and works the same as before.

  • Update all example config, 7nodes, etc. to follow the new format.
  • qubernetes qubernetes.yaml works with nodes inside qubernetes.yaml.
  • fixed quorum generation to work with new node format, notes genesis may have different consensus and chainId than the nodes, this is supported for now, as that may be a true reflection of the network, but this would be an incorrect network..
  • remove permission-nodes.json.tmpl and script, as now it will be updated with the hostnames when nodes are added. Use sym links to link the file to the permissioned-nodes configMap dir, this is necessary, because only configMaps mounted as directories will be updated without a redeploy.
  • Fixes and clean up to templates.
  • Updated README.md.

* qubernetes qubernetes.yaml works with nodes inside qubernetes.yaml.
* fixed quorum generation to work with new node format, notes genesis
may have different consensus and chainId than the nodes, this is
supported for now, as that may be a true reflection of the network, but
this would be an incorrect network..
* remove permission-nodes.json.tmpl and script, as now it will be
updated with the hostnames when nodes are added. Use sym links to link
the file to the permissioned-nodes configMap dir, this is necessary,
because only configMaps mounted as directories will be updated without a
redeploy.
Since the core configuration file no long support a simple number for
the number of nodes, but includes a node element add a quick-start-gen
to make getting started as easy as possible.

* Add a quick-start-gen which can generate a full config give a number
of nodes, consensus, and versions.
* Update quickest-start.sh so that it works with the quick-start-gen,
as updating the number of nodes in the core config is no longer
supported.
* Add back support for existing config file, base key dir, etc.
* Update 7nodes core config to new format.
* Regenerate 7nodes examples: istanbul/constellation, istanbul/tessera, raft/constellation, raft/tessera.
* Now that hostnames are used, do not need variable / logs for extracting IPs.
* Most variables are not set in the qubernetes file before calling the templates.
* Add support for custom docker repo.
* Fix tessera configs, make sure to update the config with the current running host.
* Updated and tested all the config to make sure they follow the new format.
* Rename example/configs to shorter names, leave off qubernetes prefix.
* also fix shared config k8s as istanbul-validator.toml will not be
present for raft.
@libby libby requested a review from jbhurat August 21, 2020 21:19
Copy link
Contributor

@jbhurat jbhurat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@libby libby merged commit 0d0342e into Consensys:master Aug 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants