mirror of
https://github.com/OpenNebula/one.git
synced 2026-11-03 02:28:46 +09:00
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)