From ef90986917cff52d4c80c7208b69d226190c5370 Mon Sep 17 00:00:00 2001 From: Jan Orel Date: Fri, 12 Mar 2021 10:52:32 +0100 Subject: [PATCH] B OpenNebula/one#1159: Fix DISPOSE for DS MAD (#1511) --- .../infrastructure_drivers_development/devel-market.rst | 2 +- .../infrastructure_drivers_development/sd.rst | 5 +++-- source/intro_release_notes/release_notes/compatibility.rst | 5 +++++ source/intro_release_notes/release_notes/whats_new.rst | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/source/integration_and_development/infrastructure_drivers_development/devel-market.rst b/source/integration_and_development/infrastructure_drivers_development/devel-market.rst index f03e004f4..dcdf47248 100644 --- a/source/integration_and_development/infrastructure_drivers_development/devel-market.rst +++ b/source/integration_and_development/infrastructure_drivers_development/devel-market.rst @@ -22,7 +22,7 @@ The job of the export is to: * Calculate the ``MD5``, ``FORMAT``, ``SIZE`` * Generate an ``IMPORT_SOURCE`` so the ``/import`` can do the image => market dump -* Specify ``DISPOSE="YES"`` if the ``IMPORT_SOURCE`` is a temporary file that must be removed after the dump performed by ``/import``. ``DISPOSE="NO"`` if otherwise. +* Specify ``DISPOSE="YES"`` and ``DISPOSE_CMD`` if the ``IMPORT_SOURCE`` is a temporary file that must be removed after the dump performed by ``/import``. ``DISPOSE="NO"`` if otherwise. **ARGUMENTS**: ``driver_dump_xml image_id``. The ``driver_dump_xml`` is an XML dump of the driver action encoded in Base 64, which contains all the required information: ``image_data`` and ``ds_data``. diff --git a/source/integration_and_development/infrastructure_drivers_development/sd.rst b/source/integration_and_development/infrastructure_drivers_development/sd.rst index f87dcaf99..8b66f3cc8 100644 --- a/source/integration_and_development/infrastructure_drivers_development/sd.rst +++ b/source/integration_and_development/infrastructure_drivers_development/sd.rst @@ -151,7 +151,7 @@ Action scripts for generic image datastores: .. note:: You only need to implement one ``mv`` script, but consider the arguments received when the TM is used for the system datastore, a regular image datastore or both. -- **premigrate**: It is executed before a livemigration operation is issued to the hypervisor. Note that **only the premigrate script from the system datastore will be used**. Any customization must be done for the premigrate script of the system datastore, although you will probably add operations for other backends than that used by the system datastore. +- **premigrate**: It is executed before a livemigration operation is issued to the hypervisor. Note that **only the premigrate script from the system datastore will be used**. Any customization must be done for the premigrate script of the system datastore, although you will probably add operations for other backends than that used by the system datastore. - Base64 encoded VM XML is sent via stdin. @@ -309,7 +309,7 @@ The following combinations are supported by default: - **CEPH** + **SSH** described in :ref:`Ceph SSH mode ` - **Qcow2/shared** + **SSH** described in :ref:`Qcow2/shared SSH mode ` -The support in oned is generic, in a *mixed mode* every TM action (such as ``clone`` or ``delete``) is suffixed with the driver name of the system DS in use. For example, an action like ``clone.ssh`` is actually invoked in CEPH + SSH mode. The driver first tries to find the complete action script, including the system DS suffix (e.g. ``ceph/clone.ssh``) and only if that does not exist fallbacks to the default (``ceph/clone``). +The support in oned is generic, in a *mixed mode* every TM action (such as ``clone`` or ``delete``) is suffixed with the driver name of the system DS in use. For example, an action like ``clone.ssh`` is actually invoked in CEPH + SSH mode. The driver first tries to find the complete action script, including the system DS suffix (e.g. ``ceph/clone.ssh``) and only if that does not exist fallbacks to the default (``ceph/clone``). In this way other combinations can be easily added. @@ -570,4 +570,5 @@ Export XML ]]> ]> + <]]>/DISPOSE_CMD> diff --git a/source/intro_release_notes/release_notes/compatibility.rst b/source/intro_release_notes/release_notes/compatibility.rst index 134c08515..beabf643e 100644 --- a/source/intro_release_notes/release_notes/compatibility.rst +++ b/source/intro_release_notes/release_notes/compatibility.rst @@ -110,3 +110,8 @@ Sunstone SELinux Requirement ============================= Now OCA and therefore Sunstone need [zmq gem](https://rubygems.org/gems/zmq), and for that, it is needed to enable the ``httpd_execmem`` SELinux boolean. + + +Custom Datastore drivers +======================== +Custom :ref:`Datastore Driver ` which use ``DISPOSE="YES"`` in the export now needs to add also ```` with the command to remove the temporary file by the :ref:`Market Driver `. diff --git a/source/intro_release_notes/release_notes/whats_new.rst b/source/intro_release_notes/release_notes/whats_new.rst index 451daa082..7380df0af 100644 --- a/source/intro_release_notes/release_notes/whats_new.rst +++ b/source/intro_release_notes/release_notes/whats_new.rst @@ -192,3 +192,4 @@ Other Issues Solved - `CLI interprete backslash escapes `__. - `Add instantiate VMs persistent by default `__. - `Remove CLI extra columns `__. +- `Improve interoperability between Datastore and Market drivers `__.