Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Bravo/Bahamas release includes features that add new tables and require table migrations. The updates that drive these migrations span several contract deployments and the full cycle must be tested in Devnet.

Base Install

...

Full Local Test Process

Added tests to:

  • fio - release/2.0.x-dev.test develop

  • bravo-migr-test.js:

    • Release delta (develop - migr2) - remove data from old tables (fioreqctxts, recordobts, fioreqstss)

    • Release echo (migr/final-rc1) - remove migrtrx action, remove references to old tables (fioreqctxts, recordobts, fioreqstss)

This tests the final migration contract. The general test process:

...

  • Load fio.devtools with:

    • fio - develop (Bahamas)

    • fio.contracts -

    release/
    • master (2.

    2.x
    • 3)

    • fio.test - develop

  • Run fio.test - release/2.2.x

  • fio.devtools - develop

Bravo update (fio.contracts Step 1)

  • Update all nodes to fio.contracts Bravo

  • Run JS tests

  • Run FIP-1.b migration scripts

  • Run FIP-1.b migration confirmation scripts

  • Run JS test

FIP-1.a table migration step 1 testing

  • Running migration test script

  • Run JS regression tests.

  • Load up State with known Request and OBT records that can be referenced after Bahamas update. (need to create this test)

  • . This does the migration of data.

  • Update fio.contracts to develop branch (migr2)

    • Build and load contracts with fio.devtools

  • In bravo-migr-test.js

    • Put a “skip” on: Release v2.3.2 - fiotrxtss (NEW table) scripts

    • Delete “skip” from: Release delta (develop - migr2) - remove data from old tables (fioreqctxts, recordobts, fioreqstss)

  • Rerun fio.test. Should run cleanly

  • Update fio.contracts to migr/final-rc1 branch (migr3)

    • Build and load contracts with fio.devtools

  • In bravo-migr-test.js

    • Put a “skip” on: Release v2.3.2 - fiotrxtss (NEW table) scripts

    • Delete “skip” from: Release echo (migr/final-rc1) - remove migrtrx action, remove references to old tables (fioreqctxts, recordobts, fioreqstss)

  • Rerun fio.test. Should run cleanly

Devnet test

Base Install

Devnet should be initialized with:

  • fio - release/2.0.x-dev

  • fio.contracts - master (2.3.2 - bravo)

Base Test

  • Run bravo-migr-test.js from fio.test develop. This will do the initial table migration.

  • Run full fio.test release/2.3.x - should run cleanly

Bahamas (fio chain) update

Fork testing

  • Ensure nodes are launching with History

  • Update 6 nodes to fio Bahamas and ensure no forking occursRun table migration test against both types of nodes (see below)

  • Update 15 nodes to fio Bahamas and ensure no forking occurs

  • Do NOT update remaining nodes to Bahamas

  • Run FIP-1.b migration confirmation scripts

  • Run JS regression tests against upgraded nodes.

  • Run JS regression tests against non-upgraded nodes.

FIP-1.a table migration testing

  • Use the same Request and OBT records to test FIO Request and OBT against a node on 2.0.0 and a node on Bahamas.

  • fio.test release/2.3.x against non-upgraded nodes - should run cleanly

  • Run fio.test develop tests against upgraded nodes - should run cleanly (you can comment out the migration tests)

Delta update (fio.contracts Step 2)

FIP-1.b

  • Update all nodes to fio.contracts Delta

  • Run JS tests

  • Run FIP-1.b migration confirmation scripts, confirm upgraded servers have correct, new data and non-upgraded servers do not

  • Run  migrtrx to remove data from old tables. Confirm success

BD-2238 Add voter info to accounts table (Part 2)

  • develop (delta = migr2)

  • In bravo-migr-test.js

    • Put a “skip” on: Release v2.3.2 - fiotrxtss (NEW table) scripts

    • Delete “skip” from: Release delta (develop - migr2) - remove data from old tables (fioreqctxts, recordobts, fioreqstss)

  • Run fio.test develop - should run cleanly

    • This will delete the data from the old tables and show confirmation.

Echo update (fio.contracts Step 3)

FIP-1.b

  • Update all nodes to fio.contracts Delta

  • Run JS tests

  • Run FIP-1.b migration confirmation scripts, confirm upgraded servers have correct, new data and non-upgraded servers do not

  • Run  migrtrx to remove data from old tables. Confirm successmigr/final-rc1 (echo = migr3)

  • In bravo-migr-test.js

    • Put a “skip” on: Release v2.3.2 - fiotrxtss (NEW table) scripts

    • Delete “skip” from: Release echo (migr/final-rc1) - remove migrtrx action, remove references to old tables (fioreqctxts, recordobts, fioreqstss)

  • Run fio.test develop - should run cleanly

    • bravo-migr-test.js will confirm that tables no longer exist.