Skip to content

Conversation

jkary
Copy link

@jkary jkary commented Oct 1, 2025

Summary

  • Add new VM template for provisioning virtual machines on OpenShift using the Virtualization operator
  • Template supports configurable CPU, memory, and storage resources
  • Includes create and delete task workflows for VM lifecycle management
  • Supports multiple OpenShift cluster types (standard, GPU-enabled, virtualization-enabled)

🤖 Generated with Claude Code

larsks and others added 8 commits September 9, 2025 14:53
Implements playbook_cloudkit_create_vm.yml and playbook_cloudkit_delete_vm.yml to handle virtual machine creation and deletion operations. These playbooks integrate with the VM template system and provide proper resource management including namespace finalizers and locking mechanisms.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- Add create-vm and delete-vm job templates with vm-operations instance group
- Configure vm-operations inventory and inventory source for VM management
- Set up vm-operations-ig container group with kubernetes service account access

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
- extract_vm_template_info: Extract and normalize template IDs and parameters from VM orders
- vm_settings: Apply default settings and merge with user parameters, including cloud-init defaults
- vm_working_namespace: Retrieve and validate working namespace for VM resources

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
Added needed params
This template enables VM provisioning on OpenShift using the Virtualization operator.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <[email protected]>
type: str
required: true
description: The namespace where VM resources will be created
template_parameters:
Copy link
Contributor

Choose a reason for hiding this comment

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

I think it was discussed in another closed PR, but I think this list must be cleaned up

Copy link
Author

Choose a reason for hiding this comment

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

Yup. It's not used anymore.

Comment on lines +14 to +24
default_node_request:
- resourceClass: ocp_cluster
numberOfNodes: 1

# This declares that for a VM built from this template, only the resource
# classes listed here may be used. For VMs, this represents different
# types of OpenShift clusters (standard, GPU-enabled, etc.)
allowed_resource_classes:
- ocp_cluster
- ocp_virt_enabled
- ocp_gpu_enabled
Copy link
Contributor

Choose a reason for hiding this comment

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

these parameters have no use for the moment, they can be removed

storage: "{{ vm_disk_size }}"
state: present

- name: Create DataVolumes for additional disks
Copy link
Contributor

Choose a reason for hiding this comment

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

let's remove the support for multiple disks, it may be added later if there is a need

@adriengentil
Copy link
Contributor

I think the first template should focus on a very small subset of parameters to start on. Their might be added later if their is a need.

@jkary
Copy link
Author

jkary commented Oct 2, 2025

@adriengentil Ok. No problem. I will work on those fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants