Capabilities
"can_suspend_guests"
Supports suspend guest control
Boolean
true can suspend guests
false otherwise (default)
"guests_polling_rate"
How often to poll for added or removed guests (in seconds)
Positive integer (min: 3, max: 900, default: 15)
"tasks_polling_rate"
How long to wait before polling for task completion (in seconds)
Positive integer (min: 1, max: 60, default: 3)
"tasks_polling_retries"
How many times to poll for task completion
Positive integer (min: 0, max: 180, default: 20)
"template_method"
Level of template support
String
"none" No template support (default)
"basic" Supports full or link clones
"versioning" Supports template versioning
"can_link_clones"
Supports link clones
Boolean
true can create link clones
false otherwise (default)
Template images
Many cloud platforms do not support VM snapshots in the same way that traditional hypervisors do. Instead, they rely on machine images (or templates) to create new instances. To support these environments, the snapshot-related methods in the Custom Provider Framework (CPF) can be implemented using images as the underlying construct.
Without Template Versioning (Full Clones)
If template versioning is not required, a simplified mapping can be used:
Convert VM to Template
Create a new image from the VM.
Persist the template state by tagging the VM (e.g., storing the image ID).
Convert Template to VM
Remove the template tag.
Optionally delete the associated image.
Clone VM
Create a new VM instance from the stored image.
With Template Versioning
When template versioning is required, images can be used to represent snapshot states.
Key Concepts
Each “snapshot” is represented by a separate image.
The template VM maintains metadata linking snapshot names to image IDs.
Example:
RAS_TEMPLATE_VERSION_1→image:id:42
Entering Maintenance Mode
Create a temporary working VM from the selected image (snapshot/version).
This VM acts as the editable instance of the template.
The temporary VM:
must not appear in guests/list.
must be managed internally by the provider.
All calls targeting the template VM (guests/get, guests/control) must be redirected to this temporary VM.
Exiting Maintenance Mode
Create a new image from the temporary VM (new version).
Update the template metadata (tags) to reference the new image.
Delete the temporary VM.
Attention:
The template VM itself acts as a logical object, not necessarily a runnable instance.
The provider is responsible for:
maintaining the mapping between template IDs and images.
redirecting operations during maintenance mode.
This abstraction allows cloud platforms to fully support CPF template workflows despite lacking native snapshot capabilities.
Last updated