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
  • 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 tests

    • 3)

    • fio.test - develop

  • Run fio.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 occurs

  • 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.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

...

  • 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, ensure no forking occurs

  • Remove old records, ensure no forking occurs

  • Run JS regression tests.

  • Update all nodes to fio.contracts Bravo-c2, ensure no forking occurs

  • Run JS regression tests

  • Performance Tests? (Todd)migr/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.