Description
Add support for defining reusable profiles in the ODS Framework. A Profile represents a predefined set of inputs values that can be applied to a resource.
Initially, this feature is introduced as a VM Profile, which encapsulates common configuration parameters for virtual machines (e.g., CPU, memory, disk size, count). However, the concept should be designed as a generic Profile abstraction, allowing it to be extended to any OpenNebula resource (e.g., VMs, Virtual Networks, Hosts, etc.).
A Profile consists of:
- A unique identifier (name)
- A user-friendly label for UI representation
- A description
- A flag to control whether default values override user inputs
- A set of default attributes
- An extensible section to allow arbitrary user-defined attributes
- A mechanism to define parameters that can be injected into the configuration, using ODS inputs as a base.
Example (VM-specific YAML definition):
medium:
label: "medium profile"
description: "medium profile description"
override_defaults: false
defaults:
cpu: 4
vcpu: 4
memory: 8192
disk_size: 32768
custom:
custom_attr: attribute
custom_option_enabled: false
Use case
Profiles enable higher level services, such OneKS, to apply predefined configurations to resources without user intervention.
Progress Status
Description
Add support for defining reusable profiles in the ODS Framework. A Profile represents a predefined set of inputs values that can be applied to a resource.
Initially, this feature is introduced as a VM Profile, which encapsulates common configuration parameters for virtual machines (e.g., CPU, memory, disk size, count). However, the concept should be designed as a generic Profile abstraction, allowing it to be extended to any OpenNebula resource (e.g., VMs, Virtual Networks, Hosts, etc.).
A Profile consists of:
Example (VM-specific YAML definition):
Use case
Profiles enable higher level services, such OneKS, to apply predefined configurations to resources without user intervention.
Progress Status