Skip to content

Slice 5: Deprecation, cleanup, and pipeline documentation #593

@floatingman

Description

@floatingman

Parent PRD

#585

What to build

After Slices 2, 3, and 4 have been verified through live pipeline execution, perform the final cleanup:

1. Delete deprecated files:

  • validation/pipeline/tfp/Jenkinsfile.airgap.tests — uses completely different patterns (no shared library, Docker volumes, hashicorp/terraform instead of tofu), no longer actively maintained

2. Archive replaced Jenkinsfiles:
Move the following to a validation/deprecated/ directory (not deleted immediately, archived for reference):

  • validation/pipeline/Jenkinsfile.setup.airgap.rke2 (replaced by Jenkinsfile.airgap-rke2-infra ACTION=setup)
  • validation/pipeline/Jenkinsfile.destroy.airgap.rke2 (replaced by Jenkinsfile.airgap-rke2-infra ACTION=destroy)
  • validation/pipeline/Jenkinsfile.airgap.go-tests (replaced by Jenkinsfile.airgap-rke2-tests)
  • validation/Jenkinsfile (replaced by Jenkinsfile.validation)
  • validation/Jenkinsfile.e2e (replaced by Jenkinsfile.validation)
  • validation/Jenkinsfile.harvester (replaced by Jenkinsfile.validation NODE_LABEL=harvester-vpn-1)
  • validation/Jenkinsfile.vsphere (replaced by Jenkinsfile.validation NODE_LABEL=vsphere-vpn-1)

3. Create pipeline documentation:
Add validation/pipeline/README.md covering:

  • Overview of the shared library architecture (qa-jenkins-library functions)
  • How to create a new pipeline using shared functions (step-by-step guide)
  • Naming convention: Jenkinsfile.<category>-<variant> (e.g., airgap-rke2-infra, validation)
  • Parameter naming conventions and harmonized defaults
  • How to propose additions to qa-jenkins-library
  • Migration status: which old files map to which new files

4. Add function documentation:
Ensure all shared functions added in #589 have clear @param documentation in their Groovy source files (in qa-jenkins-library).

Acceptance criteria

  • validation/pipeline/tfp/Jenkinsfile.airgap.tests deleted
  • 7 replaced Jenkinsfiles moved to validation/deprecated/
  • validation/pipeline/README.md created with pipeline development guide
  • README includes old→new file mapping table
  • README includes naming convention documentation
  • README includes parameter convention documentation
  • README includes instructions for proposing qa-jenkins-library additions
  • All shared functions have @param documentation
  • New team member can create a new pipeline variant in under 30 minutes using the README guide

Blocked by

User stories addressed

  • User story 22 (old and new coexist during migration, then old files archived)
  • User story 23 (simplified naming convention documented)
  • User story 25 (README explaining shared library structure)
  • User story 26 (clear parameter documentation for shared functions)
  • User story 27 (new pipeline variant creation in under 30 minutes)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestteam/pit-crewslack notifier for pit crew

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions