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

slapos_upgrader: migrate software installation

parent c4ad2dde
......@@ -27,3 +27,11 @@ new_category_list = [x for x in category_list if not x.startswith('source_admini
if len(category_list) != len(new_category_list):
compute_node.setCategoryList(new_category_list)
# Trigger migrations of related objects
for sql_object in portal.portal_catalog(
portal_type='Software Installation',
aggregate__uid=compute_node.getUid()
):
relative_url_to_migrate = sql_object.getObject().getRelativeUrl()
sql_object.getObject().activate(serialization_tag='Person_checkSiteMigrationCreatePersonalVirtualMaster_%s' % relative_url_to_migrate).Base_activateObjectMigrationToVirtualMaster(project_relative_url)
from zExceptions import Unauthorized
if REQUEST is not None:
raise Unauthorized
portal = context.getPortalObject()
software_installation = context
project = portal.restrictedTraverse(project_relative_url)
edit_kw = {}
# Check if it has been migrated first
if software_installation.getFollowUpValue() is None:
edit_kw['follow_up_value'] = project
# Migrate
if edit_kw:
software_installation.edit(**edit_kw)
# Drop outdated categories
category_list = software_installation.getCategoryList()
new_category_list = [x for x in category_list if not x.startswith('destination_section')]
if len(category_list) != len(new_category_list):
software_installation.setCategoryList(new_category_list)
<?xml version="1.0"?>
<ZopeData>
<record id="1" aka="AAAAAAAAAAE=">
<pickle>
<global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
</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>project_relative_url, REQUEST=None</string> </value>
</item>
<item>
<key> <string>id</string> </key>
<value> <string>SoftwareInstallation_triggerObjectMigrationToVirtualMaster</string> </value>
</item>
</dictionary>
</pickle>
</record>
</ZopeData>
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