Skip to content

Add Job classifier #67

@abhibongale

Description

@abhibongale

Classifier analyzes the job and create analyis dict which will be used to create job-manifest.yaml (file used to deploy infrastructure).

  1. JobType Enum - All job type variants:
    - Ironic: IRONIC_STANDALONE, IRONIC_INTEGRATED, IRONIC_INSPECTOR
    - DevStack: DEVSTACK_MINIMAL, DEVSTACK_FULL
    - Service-focused: NEUTRON_FOCUSED, CINDER_FOCUSED, NOVA_FOCUSED
  2. JobClassifier - Multi-heuristic classification:
    - _classify_by_parent() - Check parent job
    - _classify_by_services() - Strongest signal - check enabled services
    - _classify_by_projects() - Check required-projects
    - _classify_by_name() - Weakest signal - job name patterns
  3. Key Methods:
    - classify_job() - Determine job type
    - get_required_services() - Map to container names
    - can_run_job() - Check if StackBox can run it
    - analyze_job() - Complete analysis for GitOps → returns all info needed for manifest

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions