Files
Ruben S. Montero 30d82707ee F OpenNebula/one#7579: ODS OneForm Migration
ODS
    - Adds reusable GenericController and DocumentController DSLs for REST APIs.
    - Extends ODS::Document and document pools with typed attributes, safe partial updates, raw access, dependency resolution, and per-resource locking.
    - Adds reusable document capabilities through StateMachine, Errorable, Historyable, and Jobable.
    - Introduces a declarative workflow/job framework with lifecycle transitions, recovery, cancellation, failure handling, and ensure actions.
    - Adds JobScheduler for concurrent execution, resource exclusion, persisted job recovery, stale-result protection, and cancellation coordination.
    - Adds the common ODS::Command executor with structured logging, timeout, environment/workspace handling, and signal-based cancellation.
    - Moves shared OpenNebula resource helpers and common validation/serialization logic into ODS.
    - Adds common handling for sensitive document attributes and automatic secret redaction.

    OneForm
    - Migrates providers and provisions to ODS documents and reuses the new ODS controller infrastructure.
    - Replaces the previous lifecycle manager with the declarative ProvisionLCM workflow.
    - Persists active operations in provisions and supports automatic recovery after service restarts.
    - Adds asynchronous operation cancellation and replaces retry with recover.
    - Introduces ResourceManager for dependency-aware, idempotent management and reconciliation of OpenNebula resources.
    - Updates the provision API with direct REST operations for recovery, cancellation, hosts, public IPs, and deletion.
    - Improves sensitive provider data handling, including redacted credentials and permission-aware access.
    - Adapts Terraform and Ansible execution to the ODS job system, including persistent Terraform state, isolated workspaces, improved progress/error logs, and cancellation.
    - Updates host and public IP management, including batch host deletion and stable UUID-based host reconciliation.
    - Adds common host template support for Terraform-discovered hosts, including IM_MAD and VMM_MAD.
    - Adds support for common host templates in deployment definitions, including IM_MAD and VMM_MAD, automatically applied to hosts discovered by Terraform.
    - Improves driver management, validation, deployment inputs, synchronization, and host templates.
    - Updates the Ruby client and the oneform, oneprovider, and oneprovision CLIs to match the new API and lifecycle semantics.
    - Adapt current Sunstone API calls. No new features included.
    - Adds onedb and onecfg migrations for server and sunstone configuration.
    - Updates bundled drivers and Ansible inventory handling to match the new implementation and remove obsolete warnings.

(cherry picked from commit 1eab0b458a16e0dfaedfd9cef923ee9c05b5d61c)
2026-09-16 18:36:07 +02:00
..