Assaf Muller has uploaded a new change for review.

Change subject: Per device custom properties for before/after vm destroy.
......................................................................

Per device custom properties for before/after vm destroy.

Change-Id: Ic18b838dc51ea6bde31ef1a4bf0d0d372d95cd41
Signed-off-by: Assaf Muller <[email protected]>
---
M vdsm.spec.in
M vdsm/hooks.py
M vdsm/libvirtvm.py
M vdsm/vdsmd.8.in
M vdsm_hooks/Makefile.am
5 files changed, 27 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/11/13411/1

diff --git a/vdsm.spec.in b/vdsm.spec.in
index 32eb97d..724a113 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -794,6 +794,8 @@
 %{_libexecdir}/%{vdsm_name}/spmstop.sh
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_create
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_create
+%dir %{_libexecdir}/%{vdsm_name}/hooks/before_device_destroy
+%dir %{_libexecdir}/%{vdsm_name}/hooks/after_device_destroy
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_start
 %dir %{_libexecdir}/%{vdsm_name}/hooks/after_vm_start
 %dir %{_libexecdir}/%{vdsm_name}/hooks/before_vm_cont
diff --git a/vdsm/hooks.py b/vdsm/hooks.py
index a2cb932..c66bfef 100644
--- a/vdsm/hooks.py
+++ b/vdsm/hooks.py
@@ -101,6 +101,16 @@
                         params=customProperties)
 
 
+def before_device_destroy(devicexml, vmconf={}, customProperties={}):
+    return _runHooksDir(devicexml, 'before_device_destroy', vmconf=vmconf,
+                        params=customProperties)
+
+
+def after_device_destroy(devicexml, vmconf={}, customProperties={}):
+    return _runHooksDir(devicexml, 'after_device_destroy', vmconf=vmconf,
+                        params=customProperties)
+
+
 def before_vm_start(domxml, vmconf={}):
     return _runHooksDir(domxml, 'before_vm_start', vmconf=vmconf)
 
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 4c41c6b..3f682dc 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -2599,6 +2599,11 @@
 
             hooks.after_vm_destroy(self._lastXMLDesc, self.conf)
 
+            for devType in self._devices:
+                for dev in self._devices[devType]:
+                    hooks.after_device_destroy(dev._deviceXML, self.conf,
+                                               getattr(dev, 'custom', {}))
+
             self._released = True
 
         return {'status': doneCode}
@@ -2618,6 +2623,11 @@
     def destroy(self):
         self.log.debug('destroy Called')
 
+        for devType in self._devices:
+            for dev in self._devices[devType]:
+                hooks.before_device_destroy(dev._deviceXML, self.conf,
+                                            getattr(dev, 'custom', {}))
+
         hooks.before_vm_destroy(self._lastXMLDesc, self.conf)
         self.destroyed = True
 
diff --git a/vdsm/vdsmd.8.in b/vdsm/vdsmd.8.in
index 50da8cf..1803b58 100644
--- a/vdsm/vdsmd.8.in
+++ b/vdsm/vdsmd.8.in
@@ -48,6 +48,7 @@
     before_vm_destroy, after_vm_destroy,
     before_vm_set_ticket, after_vm_set_ticket,
     before_device_create, after_device_create,
+    before_device_destroy, after_device_destroy,
     before_nic_hotplug, after_nic_hotplug, after_nic_hotplug_fail,
     before_nic_hotunplug, after_nic_hotunplug, after_nic_unhotplug_fail,
     before_disk_hotplug, after_disk_hotplug,
@@ -89,7 +90,8 @@
     before_nic_hotunplug, after_nic_hotunplug, after_nic_unhotplug_fail,
     before_disk_hotplug, after_disk_hotplug,
     before_disk_hotunplug, after_disk_hotunplug,
-    before_device_create, after_device_create.
+    before_device_create, after_device_create,
+    before_device_destroy, after_device_destroy.
 
 Are all augmented by custom properties specific to those devices, sent by the 
caller of the hook. For example if before_nic_hotplug is called with custom: 
{qos: '0.5', color: 'red'} then qos and color will be directly available as 
environment variables when before_nic_hotplug is called.
 
diff --git a/vdsm_hooks/Makefile.am b/vdsm_hooks/Makefile.am
index 3f890f6..12bea50 100644
--- a/vdsm_hooks/Makefile.am
+++ b/vdsm_hooks/Makefile.am
@@ -61,6 +61,8 @@
 VDSMHOOKS = \
        before_device_create \
        after_device_create \
+    before_device_destroy \
+    after_device_destroy \
        before_vm_start \
        after_vm_start \
        before_vm_cont \


--
To view, visit http://gerrit.ovirt.org/13411
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic18b838dc51ea6bde31ef1a4bf0d0d372d95cd41
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Assaf Muller <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to