Skip to content

Add Generic Profile Support to ODS Framework #7604

@vickmp

Description

@vickmp

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

  • Code committed
  • Testing - QA
  • Documentation (Release notes - resolved issues, compatibility, known issues)

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions