From 197521af51ef00e07539318a8b898816a39b4dfc Mon Sep 17 00:00:00 2001 From: Dan Laine Date: Wed, 29 Apr 2020 13:44:25 -0400 Subject: [PATCH 01/11] change default db dir to ~/.gecko/db --- main/params.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main/params.go b/main/params.go index 48444a7..a216720 100644 --- a/main/params.go +++ b/main/params.go @@ -24,10 +24,12 @@ import ( "github.com/ava-labs/gecko/utils/hashing" "github.com/ava-labs/gecko/utils/logging" "github.com/ava-labs/gecko/utils/wrappers" + "github.com/mitchellh/go-homedir" ) const ( - dbVersion = "v0.2.0" + dbVersion = "v0.2.0" + defaultDbDir = "~/.gecko/db" ) // Results of parsing the CLI @@ -80,7 +82,7 @@ func init() { // Database: db := fs.Bool("db-enabled", true, "Turn on persistent storage") - dbDir := fs.String("db-dir", "db", "Database directory for Ava state") + dbDir := fs.String("db-dir", defaultDbDir, "Database directory for Ava state") // IP: consensusIP := fs.String("public-ip", "", "Public IP of this node") @@ -147,6 +149,11 @@ func init() { // DB: if *db && err == nil { // TODO: Add better params here + if *dbDir == defaultDbDir { + if *dbDir, err = homedir.Expand(defaultDbDir); err != nil { + errs.Add(fmt.Errorf("couldn't resolve default db path: %v", err)) + } + } dbPath := path.Join(*dbDir, genesis.NetworkName(Config.NetworkID), dbVersion) db, err := leveldb.New(dbPath, 0, 0, 0) Config.DB = db From e7f593f3f75f3055da4dc5934f19c96a564fa046 Mon Sep 17 00:00:00 2001 From: StephenButtolph Date: Thu, 30 Apr 2020 16:22:19 -0400 Subject: [PATCH 02/11] Removed broken parent caching --- vms/platformvm/abort_block.go | 7 +-- vms/platformvm/commit_block.go | 7 +-- vms/platformvm/common_blocks.go | 11 ----- vms/platformvm/proposal_block.go | 17 ++++--- vms/platformvm/vm_test.go | 78 ++++++++++++++++++++++++++++++++ 5 files changed, 96 insertions(+), 24 deletions(-) diff --git a/vms/platformvm/abort_block.go b/vms/platformvm/abort_block.go index 168fc2d..c0affde 100644 --- a/vms/platformvm/abort_block.go +++ b/vms/platformvm/abort_block.go @@ -20,13 +20,14 @@ type Abort struct { // // This function also sets onAcceptDB database if the verification passes. func (a *Abort) Verify() error { + parent, ok := a.parentBlock().(*ProposalBlock) // Abort is a decision, so its parent must be a proposal - if parent, ok := a.parentBlock().(*ProposalBlock); ok { - a.onAcceptDB, a.onAcceptFunc = parent.onAbort() - } else { + if !ok { return errInvalidBlockType } + a.onAcceptDB, a.onAcceptFunc = parent.onAbort() + a.vm.currentBlocks[a.ID().Key()] = a a.parentBlock().addChild(a) return nil diff --git a/vms/platformvm/commit_block.go b/vms/platformvm/commit_block.go index 00f746f..f619953 100644 --- a/vms/platformvm/commit_block.go +++ b/vms/platformvm/commit_block.go @@ -21,12 +21,13 @@ type Commit struct { // This function also sets the onCommit databases if the verification passes. func (c *Commit) Verify() error { // the parent of an Commit block should always be a proposal - if parent, ok := c.parentBlock().(*ProposalBlock); ok { - c.onAcceptDB, c.onAcceptFunc = parent.onCommit() - } else { + parent, ok := c.parentBlock().(*ProposalBlock) + if !ok { return errInvalidBlockType } + c.onAcceptDB, c.onAcceptFunc = parent.onCommit() + c.vm.currentBlocks[c.ID().Key()] = c c.parentBlock().addChild(c) return nil diff --git a/vms/platformvm/common_blocks.go b/vms/platformvm/common_blocks.go index a50dd2a..75ca97c 100644 --- a/vms/platformvm/common_blocks.go +++ b/vms/platformvm/common_blocks.go @@ -124,10 +124,6 @@ type CommonBlock struct { *core.Block `serialize:"true"` vm *VM - // This block's parent. - // nil before parentBlock() is called on this block - parent Block - // This block's children children []Block } @@ -142,7 +138,6 @@ func (cb *CommonBlock) Reject() { // free removes this block from memory func (cb *CommonBlock) free() { delete(cb.vm.currentBlocks, cb.ID().Key()) - cb.parent = nil cb.children = nil } @@ -165,11 +160,6 @@ func (cb *CommonBlock) Parent() snowman.Block { // parentBlock returns this block's parent func (cb *CommonBlock) parentBlock() Block { - // Check if the block already has a reference to its parent - if cb.parent != nil { - return cb.parent - } - // Get the parent from database parentID := cb.ParentID() parent, err := cb.vm.getBlock(parentID) @@ -177,7 +167,6 @@ func (cb *CommonBlock) parentBlock() Block { cb.vm.Ctx.Log.Debug("could not get parent (ID %s) of block %s", parentID, cb.ID()) return nil } - cb.parent = parent return parent.(Block) } diff --git a/vms/platformvm/proposal_block.go b/vms/platformvm/proposal_block.go index ac62303..b494e61 100644 --- a/vms/platformvm/proposal_block.go +++ b/vms/platformvm/proposal_block.go @@ -92,16 +92,19 @@ func (pb *ProposalBlock) onAbort() (*versiondb.Database, func()) { // // If this block is valid, this function also sets pas.onCommit and pas.onAbort. func (pb *ProposalBlock) Verify() error { - // pdb is the database if this block's parent is accepted - var pdb database.Database - parent := pb.parentBlock() + parentIntf := pb.parentBlock() + // The parent of a proposal block (ie this block) must be a decision block - if parent, ok := parent.(decision); ok { - pdb = parent.onAccept() - } else { + parent, ok := parentIntf.(decision) + if !ok { return errInvalidBlockType } + // pdb is the database if this block's parent is accepted + pdb := parent.onAccept() + + pb.vm.Ctx.Log.Warn("Got %+v from %p", pdb, parentIntf) + var err error pb.onCommitDB, pb.onAbortDB, pb.onCommitFunc, pb.onAbortFunc, err = pb.Tx.SemanticVerify(pdb) if err != nil { @@ -109,7 +112,7 @@ func (pb *ProposalBlock) Verify() error { } pb.vm.currentBlocks[pb.ID().Key()] = pb - parent.addChild(pb) + parentIntf.addChild(pb) return nil } diff --git a/vms/platformvm/vm_test.go b/vms/platformvm/vm_test.go index e30dd8a..28be3fc 100644 --- a/vms/platformvm/vm_test.go +++ b/vms/platformvm/vm_test.go @@ -1596,3 +1596,81 @@ func TestBootstrapPartiallyAccepted(t *testing.T) { router.Shutdown() } + +func TestUnverifiedParent(t *testing.T) { + genesisAccounts := GenesisAccounts() + genesisValidators := GenesisCurrentValidators() + genesisChains := make([]*CreateChainTx, 0) + + genesisState := Genesis{ + Accounts: genesisAccounts, + Validators: genesisValidators, + Chains: genesisChains, + Timestamp: uint64(defaultGenesisTime.Unix()), + } + + genesisBytes, err := Codec.Marshal(genesisState) + if err != nil { + t.Fatal(err) + } + + db := memdb.New() + + vm := &VM{ + SnowmanVM: &core.SnowmanVM{}, + chainManager: chains.MockManager{}, + } + + defaultSubnet := validators.NewSet() + vm.validators = validators.NewManager() + vm.validators.PutValidatorSet(DefaultSubnetID, defaultSubnet) + + vm.clock.Set(defaultGenesisTime) + ctx := defaultContext() + msgChan := make(chan common.Message, 1) + if err := vm.Initialize(ctx, db, genesisBytes, msgChan, nil); err != nil { + t.Fatal(err) + } + + firstAdvanceTimeTx, err := vm.newAdvanceTimeTx(defaultGenesisTime.Add(time.Second)) + if err != nil { + t.Fatal(err) + } + firstAdvanceTimeBlk, err := vm.newProposalBlock(vm.Preferred(), firstAdvanceTimeTx) + if err != nil { + t.Fatal(err) + } + + vm.clock.Set(defaultGenesisTime.Add(2 * time.Second)) + if err := firstAdvanceTimeBlk.Verify(); err != nil { + t.Fatal(err) + } + + options := firstAdvanceTimeBlk.Options() + firstOption := options[0] + secondOption := options[1] + + secondAdvanceTimeTx, err := vm.newAdvanceTimeTx(defaultGenesisTime.Add(2 * time.Second)) + if err != nil { + t.Fatal(err) + } + secondAdvanceTimeBlk, err := vm.newProposalBlock(firstOption.ID(), secondAdvanceTimeTx) + if err != nil { + t.Fatal(err) + } + + parentBlk := secondAdvanceTimeBlk.Parent() + if parentBlkID := parentBlk.ID(); !parentBlkID.Equals(firstOption.ID()) { + t.Fatalf("Wrong parent block ID returned") + } + + if err := firstOption.Verify(); err != nil { + t.Fatal(err) + } + if err := secondOption.Verify(); err != nil { + t.Fatal(err) + } + if err := secondAdvanceTimeBlk.Verify(); err != nil { + t.Fatal(err) + } +} From e5111c152ed0f8be09e3945d5f85ac2dca953c41 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:33:13 +0100 Subject: [PATCH 03/11] build: Add Github Action to lint Ansible playbooks Should test all pushes and pull requests --- .github/workflows/ansible-lint.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/ansible-lint.yml diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml new file mode 100644 index 0000000..047203c --- /dev/null +++ b/.github/workflows/ansible-lint.yml @@ -0,0 +1,21 @@ +name: Ansible Lint +on: + - pull_request + - push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Lint Ansible playbooks + # Lastest commit, as of 30 Apr 2020 + uses: ansible/ansible-lint-action@6c8c141 + with: + targets: | + scripts/ansible/kill_playbook.yml + scripts/ansible/ping_playbook.yml + scripts/ansible/restart_playbook.yml + scripts/ansible/update_playbook.yml From f5d3142bea2a64b7ae1c0506f76cbc9345024b1b Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:54:09 +0100 Subject: [PATCH 04/11] build: Add ansible-lint exceptions for pre-existing lint --- .github/workflows/ansible-lint.yml | 3 +++ scripts/ansible/.ansible-lint | 8 ++++++++ 2 files changed, 11 insertions(+) create mode 100644 scripts/ansible/.ansible-lint diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml index 047203c..3f4aff2 100644 --- a/.github/workflows/ansible-lint.yml +++ b/.github/workflows/ansible-lint.yml @@ -19,3 +19,6 @@ jobs: scripts/ansible/ping_playbook.yml scripts/ansible/restart_playbook.yml scripts/ansible/update_playbook.yml + + args: + -c scripts/ansible/.ansible-lint diff --git a/scripts/ansible/.ansible-lint b/scripts/ansible/.ansible-lint new file mode 100644 index 0000000..b908f64 --- /dev/null +++ b/scripts/ansible/.ansible-lint @@ -0,0 +1,8 @@ +parsable: true +skip_list: + - '301' # Commands should not change things if nothing needs doing + - '305' # Use shell only when shell functionality is required + - '204' # Lines should be no longer than 160 chars + - '502' # All tasks should be named + +# vim: filetype=yaml From 6cfff89c1e72e9f907a0a84e3c440be63a950843 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:58:25 +0100 Subject: [PATCH 05/11] ansible: Use native ping module --- scripts/ansible/.ansible-lint | 1 - scripts/ansible/ping_playbook.yml | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/scripts/ansible/.ansible-lint b/scripts/ansible/.ansible-lint index b908f64..a9514ea 100644 --- a/scripts/ansible/.ansible-lint +++ b/scripts/ansible/.ansible-lint @@ -1,7 +1,6 @@ parsable: true skip_list: - '301' # Commands should not change things if nothing needs doing - - '305' # Use shell only when shell functionality is required - '204' # Lines should be no longer than 160 chars - '502' # All tasks should be named diff --git a/scripts/ansible/ping_playbook.yml b/scripts/ansible/ping_playbook.yml index 0c47625..ffd7697 100755 --- a/scripts/ansible/ping_playbook.yml +++ b/scripts/ansible/ping_playbook.yml @@ -6,6 +6,4 @@ hosts: all tasks: - name: Ping node - shell: "ls" - environment: - PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin + ping: From 4b7e0989d18eb7aa65fcb39eec00be44cd85e32c Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:06:19 +0100 Subject: [PATCH 06/11] ansible: Factor out ava-stop role --- scripts/ansible/kill_playbook.yml | 5 ++--- scripts/ansible/restart_playbook.yml | 5 ++--- scripts/ansible/roles/ava-stop/tasks/main.yml | 3 +++ scripts/ansible/update_playbook.yml | 5 ++--- 4 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 scripts/ansible/roles/ava-stop/tasks/main.yml diff --git a/scripts/ansible/kill_playbook.yml b/scripts/ansible/kill_playbook.yml index 6e91645..03f9231 100755 --- a/scripts/ansible/kill_playbook.yml +++ b/scripts/ansible/kill_playbook.yml @@ -4,6 +4,5 @@ connection: ssh gather_facts: false hosts: all - tasks: - - name: Kill Node - command: killall ava \ No newline at end of file + roles: + - name: ava-stop diff --git a/scripts/ansible/restart_playbook.yml b/scripts/ansible/restart_playbook.yml index 93b0bad..0d9a80a 100755 --- a/scripts/ansible/restart_playbook.yml +++ b/scripts/ansible/restart_playbook.yml @@ -9,10 +9,9 @@ repo_folder: ~/go/src/github.com/ava-labs/gecko repo_name: ava-labs/gecko-internal repo_branch: platformvm-proposal-accept + roles: + - name: ava-stop tasks: - - name: Kill Node - command: killall ava - ignore_errors: yes - git: repo: ssh://git@github.com/{{ repo_name }}.git dest: "{{ repo_folder }}" diff --git a/scripts/ansible/roles/ava-stop/tasks/main.yml b/scripts/ansible/roles/ava-stop/tasks/main.yml new file mode 100644 index 0000000..1053cf0 --- /dev/null +++ b/scripts/ansible/roles/ava-stop/tasks/main.yml @@ -0,0 +1,3 @@ +- name: Kill Node + command: killall ava + ignore_errors: true diff --git a/scripts/ansible/update_playbook.yml b/scripts/ansible/update_playbook.yml index c31cf89..e8c5352 100755 --- a/scripts/ansible/update_playbook.yml +++ b/scripts/ansible/update_playbook.yml @@ -9,10 +9,9 @@ repo_folder: ~/go/src/github.com/ava-labs/gecko repo_name: ava-labs/gecko-internal repo_branch: platformvm-proposal-accept + roles: + - name: ava-stop tasks: - - name: Kill Node - command: killall ava - ignore_errors: yes - git: repo: ssh://git@github.com/{{ repo_name }}.git dest: "{{ repo_folder }}" From 33f0201e2387bdc0b03c7936072f54fd08f4de9c Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:07:43 +0100 Subject: [PATCH 07/11] ansible: Factor out ava-build role --- scripts/ansible/restart_playbook.yml | 12 +----------- scripts/ansible/roles/ava-build/tasks/main.yml | 13 +++++++++++++ scripts/ansible/update_playbook.yml | 12 +----------- 3 files changed, 15 insertions(+), 22 deletions(-) create mode 100644 scripts/ansible/roles/ava-build/tasks/main.yml diff --git a/scripts/ansible/restart_playbook.yml b/scripts/ansible/restart_playbook.yml index 0d9a80a..8e6e3b7 100755 --- a/scripts/ansible/restart_playbook.yml +++ b/scripts/ansible/restart_playbook.yml @@ -11,18 +11,8 @@ repo_branch: platformvm-proposal-accept roles: - name: ava-stop + - name: ava-build tasks: - - git: - repo: ssh://git@github.com/{{ repo_name }}.git - dest: "{{ repo_folder }}" - version: "{{ repo_branch }}" - update: yes - - name: Build project - command: ./scripts/build.sh - args: - chdir: "{{ repo_folder }}" - environment: - PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin - name: Remove previous database file: path: "{{ db_dir }}" diff --git a/scripts/ansible/roles/ava-build/tasks/main.yml b/scripts/ansible/roles/ava-build/tasks/main.yml new file mode 100644 index 0000000..d059cda --- /dev/null +++ b/scripts/ansible/roles/ava-build/tasks/main.yml @@ -0,0 +1,13 @@ +- name: Update git clone + git: + repo: ssh://git@github.com/{{ repo_name }}.git + dest: "{{ repo_folder }}" + version: "{{ repo_branch }}" + update: yes + +- name: Build project + command: ./scripts/build.sh + args: + chdir: "{{ repo_folder }}" + environment: + PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin diff --git a/scripts/ansible/update_playbook.yml b/scripts/ansible/update_playbook.yml index e8c5352..bb32961 100755 --- a/scripts/ansible/update_playbook.yml +++ b/scripts/ansible/update_playbook.yml @@ -11,18 +11,8 @@ repo_branch: platformvm-proposal-accept roles: - name: ava-stop + - name: ava-build tasks: - - git: - repo: ssh://git@github.com/{{ repo_name }}.git - dest: "{{ repo_folder }}" - version: "{{ repo_branch }}" - update: yes - - name: Build project - command: ./scripts/build.sh - args: - chdir: "{{ repo_folder }}" - environment: - PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin - name: Start node shell: "nohup {{ ava_binary }} --network-id={{ network_id }} --api-admin-enabled={{ api_admin_enabled }} --api-keystore-enabled={{ api_keystore_enabled }} --api-metrics-enabled={{ api_metrics_enabled }} --ava-tx-fee={{ ava_tx_fee }} --assertions-enabled={{ assertions_enabled }} --signature-verification-enabled={{ signature_verification_enabled }} --db-enabled={{ db_enabled }} --db-dir={{ db_dir }} --http-port={{ http_port }} --http-tls-enabled={{ http_tls_enabled }} --http-tls-key-file={{ http_tls_key_file }} --http-tls-cert-file={{ http_tls_cert_file }} --bootstrap-ips={{ bootstrap_ips }} --bootstrap-ids={{ bootstrap_ids }} --public-ip={{ ansible_host }} --staking-port={{ staking_port }} --staking-tls-enabled={{ staking_tls_enabled }} --staking-tls-key-file={{ staking_tls_key_file }} --staking-tls-cert-file={{ staking_tls_cert_file }} --plugin-dir={{ plugin_dir }} --log-dir={{ log_dir }} --log-level={{ log_level }} --snow-sample-size={{ snow_sample_size }} --snow-quorum-size={{ snow_quorum_size }} --snow-virtuous-commit-threshold={{ snow_virtuous_commit_threshold }} --snow-rogue-commit-threshold={{ snow_rogue_commit_threshold }} --snow-avalanche-num-parents={{ snow_avalanche_num_parents }} --snow-avalanche-batch-size={{ snow_avalanche_batch_size }} --api-ipcs-enabled={{ api_ipcs_enabled }} --xput-server-enabled={{ xput_server_enabled }} --xput-server-port={{ xput_server_port }} >/dev/null 2>&1 &" environment: From 595fada412d550084b00154e59b536dd37214048 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:09:01 +0100 Subject: [PATCH 08/11] ansible: Factor out ava-reset role --- scripts/ansible/restart_playbook.yml | 9 +-------- scripts/ansible/roles/ava-reset/tasks/main.yml | 9 +++++++++ 2 files changed, 10 insertions(+), 8 deletions(-) create mode 100644 scripts/ansible/roles/ava-reset/tasks/main.yml diff --git a/scripts/ansible/restart_playbook.yml b/scripts/ansible/restart_playbook.yml index 8e6e3b7..b87f610 100755 --- a/scripts/ansible/restart_playbook.yml +++ b/scripts/ansible/restart_playbook.yml @@ -12,15 +12,8 @@ roles: - name: ava-stop - name: ava-build + - name: ava-reset tasks: - - name: Remove previous database - file: - path: "{{ db_dir }}" - state: absent - - name: Remove previous logs - file: - path: "{{ log_dir }}" - state: absent - name: Start node shell: "nohup {{ ava_binary }} --network-id={{ network_id }} --api-admin-enabled={{ api_admin_enabled }} --api-keystore-enabled={{ api_keystore_enabled }} --api-metrics-enabled={{ api_metrics_enabled }} --ava-tx-fee={{ ava_tx_fee }} --assertions-enabled={{ assertions_enabled }} --signature-verification-enabled={{ signature_verification_enabled }} --db-enabled={{ db_enabled }} --db-dir={{ db_dir }} --http-port={{ http_port }} --http-tls-enabled={{ http_tls_enabled }} --http-tls-key-file={{ http_tls_key_file }} --http-tls-cert-file={{ http_tls_cert_file }} --bootstrap-ips={{ bootstrap_ips }} --bootstrap-ids={{ bootstrap_ids }} --public-ip={{ ansible_host }} --staking-port={{ staking_port }} --staking-tls-enabled={{ staking_tls_enabled }} --staking-tls-key-file={{ staking_tls_key_file }} --staking-tls-cert-file={{ staking_tls_cert_file }} --plugin-dir={{ plugin_dir }} --log-dir={{ log_dir }} --log-level={{ log_level }} --snow-sample-size={{ snow_sample_size }} --snow-quorum-size={{ snow_quorum_size }} --snow-virtuous-commit-threshold={{ snow_virtuous_commit_threshold }} --snow-rogue-commit-threshold={{ snow_rogue_commit_threshold }} --snow-avalanche-num-parents={{ snow_avalanche_num_parents }} --snow-avalanche-batch-size={{ snow_avalanche_batch_size }} --api-ipcs-enabled={{ api_ipcs_enabled }} --xput-server-enabled={{ xput_server_enabled }} --xput-server-port={{ xput_server_port }} >/dev/null 2>&1 &" environment: diff --git a/scripts/ansible/roles/ava-reset/tasks/main.yml b/scripts/ansible/roles/ava-reset/tasks/main.yml new file mode 100644 index 0000000..e2e9bda --- /dev/null +++ b/scripts/ansible/roles/ava-reset/tasks/main.yml @@ -0,0 +1,9 @@ +- name: Remove previous database + file: + path: "{{ db_dir }}" + state: absent + +- name: Remove previous logs + file: + path: "{{ log_dir }}" + state: absent From 383b363540184bd40457e2995aeb63bb6d6dff81 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 30 Apr 2020 21:14:28 +0100 Subject: [PATCH 09/11] ansible: Factor out ava-start role Also took the opportunity to - break the ava command over multiple lines, for cleaner diffs - quote the command line parameters, to handle potential whitespace Due to how YAML collapses whitespace, the rendered command will not contain any newline characters. --- scripts/ansible/restart_playbook.yml | 6 +-- .../ansible/roles/ava-start/tasks/main.yml | 38 +++++++++++++++++++ scripts/ansible/update_playbook.yml | 6 +-- 3 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 scripts/ansible/roles/ava-start/tasks/main.yml diff --git a/scripts/ansible/restart_playbook.yml b/scripts/ansible/restart_playbook.yml index b87f610..ee43d0e 100755 --- a/scripts/ansible/restart_playbook.yml +++ b/scripts/ansible/restart_playbook.yml @@ -13,8 +13,4 @@ - name: ava-stop - name: ava-build - name: ava-reset - tasks: - - name: Start node - shell: "nohup {{ ava_binary }} --network-id={{ network_id }} --api-admin-enabled={{ api_admin_enabled }} --api-keystore-enabled={{ api_keystore_enabled }} --api-metrics-enabled={{ api_metrics_enabled }} --ava-tx-fee={{ ava_tx_fee }} --assertions-enabled={{ assertions_enabled }} --signature-verification-enabled={{ signature_verification_enabled }} --db-enabled={{ db_enabled }} --db-dir={{ db_dir }} --http-port={{ http_port }} --http-tls-enabled={{ http_tls_enabled }} --http-tls-key-file={{ http_tls_key_file }} --http-tls-cert-file={{ http_tls_cert_file }} --bootstrap-ips={{ bootstrap_ips }} --bootstrap-ids={{ bootstrap_ids }} --public-ip={{ ansible_host }} --staking-port={{ staking_port }} --staking-tls-enabled={{ staking_tls_enabled }} --staking-tls-key-file={{ staking_tls_key_file }} --staking-tls-cert-file={{ staking_tls_cert_file }} --plugin-dir={{ plugin_dir }} --log-dir={{ log_dir }} --log-level={{ log_level }} --snow-sample-size={{ snow_sample_size }} --snow-quorum-size={{ snow_quorum_size }} --snow-virtuous-commit-threshold={{ snow_virtuous_commit_threshold }} --snow-rogue-commit-threshold={{ snow_rogue_commit_threshold }} --snow-avalanche-num-parents={{ snow_avalanche_num_parents }} --snow-avalanche-batch-size={{ snow_avalanche_batch_size }} --api-ipcs-enabled={{ api_ipcs_enabled }} --xput-server-enabled={{ xput_server_enabled }} --xput-server-port={{ xput_server_port }} >/dev/null 2>&1 &" - environment: - PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin + - name: ava-start diff --git a/scripts/ansible/roles/ava-start/tasks/main.yml b/scripts/ansible/roles/ava-start/tasks/main.yml new file mode 100644 index 0000000..fc7f277 --- /dev/null +++ b/scripts/ansible/roles/ava-start/tasks/main.yml @@ -0,0 +1,38 @@ +- name: Start node + shell: + nohup {{ ava_binary }} + --network-id="{{ network_id }}" + --api-admin-enabled="{{ api_admin_enabled }}" + --api-keystore-enabled="{{ api_keystore_enabled }}" + --api-metrics-enabled="{{ api_metrics_enabled }}" + --ava-tx-fee="{{ ava_tx_fee }}" + --assertions-enabled="{{ assertions_enabled }}" + --signature-verification-enabled="{{ signature_verification_enabled }}" + --db-enabled="{{ db_enabled }}" + --db-dir="{{ db_dir }}" + --http-port="{{ http_port }}" + --http-tls-enabled="{{ http_tls_enabled }}" + --http-tls-key-file="{{ http_tls_key_file }}" + --http-tls-cert-file="{{ http_tls_cert_file }}" + --bootstrap-ips="{{ bootstrap_ips }}" + --bootstrap-ids="{{ bootstrap_ids }}" + --public-ip="{{ ansible_host }}" + --staking-port="{{ staking_port }}" + --staking-tls-enabled="{{ staking_tls_enabled }}" + --staking-tls-key-file="{{ staking_tls_key_file }}" + --staking-tls-cert-file="{{ staking_tls_cert_file }}" + --plugin-dir="{{ plugin_dir }}" + --log-dir="{{ log_dir }}" + --log-level="{{ log_level }}" + --snow-sample-size="{{ snow_sample_size }}" + --snow-quorum-size="{{ snow_quorum_size }}" + --snow-virtuous-commit-threshold="{{ snow_virtuous_commit_threshold }}" + --snow-rogue-commit-threshold="{{ snow_rogue_commit_threshold }}" + --snow-avalanche-num-parents="{{ snow_avalanche_num_parents }}" + --snow-avalanche-batch-size="{{ snow_avalanche_batch_size }}" + --api-ipcs-enabled="{{ api_ipcs_enabled }}" + --xput-server-enabled="{{ xput_server_enabled }}" + --xput-server-port="{{ xput_server_port }}" + >/dev/null 2>&1 & + environment: + PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin diff --git a/scripts/ansible/update_playbook.yml b/scripts/ansible/update_playbook.yml index bb32961..b704eee 100755 --- a/scripts/ansible/update_playbook.yml +++ b/scripts/ansible/update_playbook.yml @@ -12,8 +12,4 @@ roles: - name: ava-stop - name: ava-build - tasks: - - name: Start node - shell: "nohup {{ ava_binary }} --network-id={{ network_id }} --api-admin-enabled={{ api_admin_enabled }} --api-keystore-enabled={{ api_keystore_enabled }} --api-metrics-enabled={{ api_metrics_enabled }} --ava-tx-fee={{ ava_tx_fee }} --assertions-enabled={{ assertions_enabled }} --signature-verification-enabled={{ signature_verification_enabled }} --db-enabled={{ db_enabled }} --db-dir={{ db_dir }} --http-port={{ http_port }} --http-tls-enabled={{ http_tls_enabled }} --http-tls-key-file={{ http_tls_key_file }} --http-tls-cert-file={{ http_tls_cert_file }} --bootstrap-ips={{ bootstrap_ips }} --bootstrap-ids={{ bootstrap_ids }} --public-ip={{ ansible_host }} --staking-port={{ staking_port }} --staking-tls-enabled={{ staking_tls_enabled }} --staking-tls-key-file={{ staking_tls_key_file }} --staking-tls-cert-file={{ staking_tls_cert_file }} --plugin-dir={{ plugin_dir }} --log-dir={{ log_dir }} --log-level={{ log_level }} --snow-sample-size={{ snow_sample_size }} --snow-quorum-size={{ snow_quorum_size }} --snow-virtuous-commit-threshold={{ snow_virtuous_commit_threshold }} --snow-rogue-commit-threshold={{ snow_rogue_commit_threshold }} --snow-avalanche-num-parents={{ snow_avalanche_num_parents }} --snow-avalanche-batch-size={{ snow_avalanche_batch_size }} --api-ipcs-enabled={{ api_ipcs_enabled }} --xput-server-enabled={{ xput_server_enabled }} --xput-server-port={{ xput_server_port }} >/dev/null 2>&1 &" - environment: - PATH: /sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin:/snap/bin + - name: ava-start From 2efab4710d4b807645f42117ccec49c72df24174 Mon Sep 17 00:00:00 2001 From: StephenButtolph Date: Thu, 30 Apr 2020 23:46:37 -0400 Subject: [PATCH 10/11] bump version to notify clients to update --- networking/handshake_handlers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/networking/handshake_handlers.go b/networking/handshake_handlers.go index b605935..eeb94cf 100644 --- a/networking/handshake_handlers.go +++ b/networking/handshake_handlers.go @@ -69,7 +69,7 @@ var ( VersionSeparator = "." MajorVersion = 0 MinorVersion = 2 - PatchVersion = 0 + PatchVersion = 1 ClientVersion = fmt.Sprintf("%s%d%s%d%s%d", VersionPrefix, MajorVersion, From 7c11e91a538294c3e43830a7125d312170518407 Mon Sep 17 00:00:00 2001 From: StephenButtolph Date: Fri, 1 May 2020 00:21:17 -0400 Subject: [PATCH 11/11] Removed debug logging --- vms/platformvm/proposal_block.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/vms/platformvm/proposal_block.go b/vms/platformvm/proposal_block.go index b494e61..7d70286 100644 --- a/vms/platformvm/proposal_block.go +++ b/vms/platformvm/proposal_block.go @@ -103,8 +103,6 @@ func (pb *ProposalBlock) Verify() error { // pdb is the database if this block's parent is accepted pdb := parent.onAccept() - pb.vm.Ctx.Log.Warn("Got %+v from %p", pdb, parentIntf) - var err error pb.onCommitDB, pb.onAbortDB, pb.onCommitFunc, pb.onAbortFunc, err = pb.Tx.SemanticVerify(pdb) if err != nil {