Epic: whole-migration harness: data, job streams, interfaces, performance, security, cutover

Open
#4,514 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Domain
backend

Research direction

Start by reading this epic and the related issues #3803, #4493, #4508, and #4050 to understand the existing scan and coverage work. The issue asks for each migration area to be filed as its own issue when work starts; there is no specific file or test to begin with. Done means the separate work is scoped and its evidence can report into the #4493 coverage page.

Written by the indexing model from the issue text.

Description

enhancement epic legacy-modernization testing

Why. Program-logic equivalence is only part of a migration. Each part below fits the same scan, generate or capture, compare, evidence, ratchet pattern, and should report into the #4493 coverage page.

Parts (suggested order):

  1. Data migration (VSAM, EBCDIC): convert each dataset, then round-trip it and compare byte for byte. Also reconcile counts, check key integrity, check EBCDIC/packed-decimal conversion field by field, and generate edge records (high-values, low-values, bad signs). Reuses the scan's layouts.
  2. JCL job streams: #4508.
  3. Interface contracts: inventory every file, queue (MQ), CICS link, DB2 table and transfer at the estate boundary, then record or generate traffic at each boundary and compare old versus new.
  4. The answer key on z/OS: #4050.
  5. Performance budgets: the same workloads old versus new (throughput, latency, the batch window), measured against a z/OS baseline (SMF). Budgets and regression gates, not byte equality.
  6. Security (RACF): extract transaction/dataset access per program, map RACF profiles to the new model, and test the same allow/deny decisions.
  7. Cutover by parallel run: shadow-mode production traffic through both systems with live comparison. The go/no-go stays human, fed by the evidence.

File each part as its own issue when it starts. Related: #3803, #4493.

Dominant language
Python
Stars
57
Forks
11
Avg merge
1h 35m
Merged PRs (30d)
975

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from squid-protocol/gitgalaxy

All issues in squid-protocol/gitgalaxy

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.