Skip to content

Conversation

@mcornea
Copy link
Collaborator

@mcornea mcornea commented Jan 15, 2026

Add an interactive deployment script that combines QUADS self-service lab assignment with jetlag OCP deployment by integrating ansible-quads-ssm playbook with jetlag repo.

Features:

  • Makefile-driven workflow with phased targets (repos, assignment, inventory, bastion, cluster)
  • Interactive configuration prompts for QUADS credentials, OCP version, cluster type (MNO/SNO), and network stack (IPv4/IPv6/dual)
  • Automatic r630 server detection to enable iDRAC reset when needed
  • Assignment state tracking for resuming failed deployments
jetlag self-sched-deploy - Interactive OCP Deployment

Usage: make [target]

Main targets:
  all, deploy    Full deployment pipeline (prompts for all config upfront)
  configure      Prompt for all configuration parameters

Individual phases (prompt for phase-specific config):
  bootstrap          Setup jetlag Python virtual environment
  repos              Clone/update ansible-quads-ssm repository
  create-assignment  QUADS assignment (prompts for QUADS config)
  inventory          Generate jetlag inventory (prompts for OCP config)
  bastion            Setup bastion node
  cluster            Deploy OCP cluster

Utility targets:
  status               Show current deployment status
  terminate-assignment Terminate QUADS assignment
  clean                Remove generated config and state files
  clean-all            Remove config, state, and cloned repository
  help                 Show this help message

Examples:
  make                     # Full interactive deployment
  make create-assignment   # Run only QUADS assignment
  make inventory           # Run only inventory generation
  make bastion             # Run only bastion setup
  make cluster             # Run only cluster deployment

Add an interactive deployment script that combines QUADS self-service
lab assignment with jetlag OCP deployment by integrating ansible-quads-ssm
playbook with jetlag repo.

Features:
- Makefile-driven workflow with phased targets (repos, assignment,
  inventory, bastion, cluster)
- Interactive configuration prompts for QUADS credentials, OCP version,
  cluster type (MNO/SNO), and network stack (IPv4/IPv6/dual)
- Automatic r630 server detection to enable iDRAC reset when needed
- Assignment state tracking for resuming failed deployments

Signed-off-by: Marius Cornea <[email protected]>
@openshift-ci openshift-ci bot requested review from jtaleric and rsevilla87 January 15, 2026 16:18
@josecastillolema josecastillolema added the enhancement New feature or request label Jan 16, 2026
@josecastillolema
Copy link
Member

cc @akrzos @sadsfae @grafuls

Copy link
Member

@sadsfae sadsfae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a really great initiative @mcornea only really a minor comment about var usage with internal hostnames. Nice job, this will be super useful!

cd $(QUADS_REPO) && git pull; \
else \
echo "Cloning ansible-quads-ssm..."; \
git clone https://github.com/quadsproject/ansible-quads-ssm.git $(QUADS_REPO); \
Copy link
Member

@sadsfae sadsfae Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I love that you're consuming this playbook and if it helps we can make a special branch for you that any changes pushed to latest will only be merged if they could not potentially break any usage here (we'd ask for your review), though we do not anticipate any real changes to it at this time - it's mostly feature-complete from its intention of being simple but having most features people need. Perhaps this isn't needed at all but just a suggestion we could entertain if you wanted. Ideally you could just send PR and everyone benefits should usage scope increase overall.

Copy link
Member

@sadsfae sadsfae left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @mcornea

@openshift-ci openshift-ci bot added the lgtm label Jan 19, 2026
@openshift-ci
Copy link

openshift-ci bot commented Jan 19, 2026

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: grafuls, sadsfae
Once this PR has been reviewed and has the lgtm label, please assign jtaleric for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@vishnuchalla
Copy link

Excited about using this 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants