Commit 0f7c8d44 authored by Romain Courteaud's avatar Romain Courteaud

slapos_cloud: speed up Instance's deletion

parent 6b35e83b
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</chain> </chain>
<chain> <chain>
<type>Instance Tree</type> <type>Instance Tree</type>
<workflow>edit_workflow, instance_slap_interface_workflow, instance_tree_workflow</workflow> <workflow>edit_workflow, instance_slap_interface_workflow, instance_tree_workflow, slapos_cloud_interaction_workflow</workflow>
</chain> </chain>
<chain> <chain>
<type>One Time Virtual Master Access Token</type> <type>One Time Virtual Master Access Token</type>
......
...@@ -394,6 +394,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin): ...@@ -394,6 +394,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin):
self.assertEqual('validated', self.assertEqual('validated',
software_instance.getValidationState()) software_instance.getValidationState())
with TemporaryAlarmScript(self.portal, 'SoftwareInstance_tryToGarbageCollect', "'subscribed'"):
self.tic() self.tic()
software_instance.SoftwareInstance_tryToGarbageCollect() software_instance.SoftwareInstance_tryToGarbageCollect()
...@@ -408,6 +409,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin): ...@@ -408,6 +409,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin):
instance_tree.archive() instance_tree.archive()
with TemporaryAlarmScript(self.portal, 'SoftwareInstance_tryToGarbageCollect', "'subscribed'"):
self.tic() self.tic()
software_instance.SoftwareInstance_tryToGarbageCollect() software_instance.SoftwareInstance_tryToGarbageCollect()
...@@ -422,6 +424,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin): ...@@ -422,6 +424,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin):
self.portal.portal_workflow._jumpToStateFor(instance_tree, self.portal.portal_workflow._jumpToStateFor(instance_tree,
'destroy_requested') 'destroy_requested')
with TemporaryAlarmScript(self.portal, 'SoftwareInstance_tryToGarbageCollect', "'subscribed'"):
self.tic() self.tic()
software_instance.SoftwareInstance_tryToGarbageCollect() software_instance.SoftwareInstance_tryToGarbageCollect()
self.assertEqual('start_requested', self.assertEqual('start_requested',
...@@ -438,6 +441,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin): ...@@ -438,6 +441,7 @@ class TestSlapOSGarbageCollectDestroyedRootTreeAlarm(SlapOSTestCaseMixin):
self.portal.portal_workflow._jumpToStateFor(instance_tree, self.portal.portal_workflow._jumpToStateFor(instance_tree,
'destroy_requested') 'destroy_requested')
with TemporaryAlarmScript(self.portal, 'SoftwareInstance_tryToGarbageCollect', "'subscribed'"):
self.tic() self.tic()
software_instance.SoftwareInstance_tryToGarbageCollect() software_instance.SoftwareInstance_tryToGarbageCollect()
......
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Interaction Workflow Interaction" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>categories</string> </key>
<value>
<tuple>
<string>after_script/portal_workflow/slapos_cloud_interaction_workflow/script_Instance_triggerGarbageCollectDestroyedRootTreeAlarm</string>
</tuple>
</value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>interaction_InstanceTree_archive</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Interaction Workflow Interaction</string> </value>
</item>
<item>
<key> <string>portal_type_filter</string> </key>
<value>
<tuple>
<string>Instance Tree</string>
</tuple>
</value>
</item>
<item>
<key> <string>portal_type_group_filter</string> </key>
<value>
<tuple/>
</value>
</item>
<item>
<key> <string>temporary_document_disallowed</string> </key>
<value> <int>1</int> </value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>trigger_method_id</string> </key>
<value>
<tuple>
<string>archive</string>
</tuple>
</value>
</item>
<item>
<key> <string>trigger_once_per_transaction</string> </key>
<value> <int>0</int> </value>
</item>
<item>
<key> <string>trigger_type</string> </key>
<value> <int>2</int> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="Workflow Script" module="erp5.portal_type"/>
</pickle>
<pickle>
<dictionary>
<item>
<key> <string>_bind_names</string> </key>
<value>
<object>
<klass>
<global name="_reconstructor" module="copy_reg"/>
</klass>
<tuple>
<global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
<global name="object" module="__builtin__"/>
<none/>
</tuple>
<state>
<dictionary>
<item>
<key> <string>_asgns</string> </key>
<value>
<dictionary>
<item>
<key> <string>name_container</string> </key>
<value> <string>container</string> </value>
</item>
<item>
<key> <string>name_context</string> </key>
<value> <string>context</string> </value>
</item>
<item>
<key> <string>name_m_self</string> </key>
<value> <string>script</string> </value>
</item>
<item>
<key> <string>name_subpath</string> </key>
<value> <string>traverse_subpath</string> </value>
</item>
</dictionary>
</value>
</item>
</dictionary>
</state>
</object>
</value>
</item>
<item>
<key> <string>_params</string> </key>
<value> <string>state_change</string> </value>
</item>
<item>
<key> <string>description</string> </key>
<value>
<none/>
</value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>script_Instance_triggerGarbageCollectDestroyedRootTreeAlarm</string> </value>
</item>
<item>
<key> <string>portal_type</string> </key>
<value> <string>Workflow Script</string> </value>
</item>
<item>
<key> <string>title</string> </key>
<value>
<none/>
</value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
...@@ -19,6 +19,7 @@ Instance Node | validation_workflow ...@@ -19,6 +19,7 @@ Instance Node | validation_workflow
Instance Tree | edit_workflow Instance Tree | edit_workflow
Instance Tree | instance_slap_interface_workflow Instance Tree | instance_slap_interface_workflow
Instance Tree | instance_tree_workflow Instance Tree | instance_tree_workflow
Instance Tree | slapos_cloud_interaction_workflow
One Time Virtual Master Access Token | edit_workflow One Time Virtual Master Access Token | edit_workflow
One Time Virtual Master Access Token | validation_workflow One Time Virtual Master Access Token | validation_workflow
Person | person_slap_interface_workflow Person | person_slap_interface_workflow
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment