Commit 8c488f2a authored by Gabriel Monnerat's avatar Gabriel Monnerat

The slave instance must not be allocated when a software instance will be destroyed

parent 6d89d258
...@@ -57,14 +57,31 @@ portal = context.getPortalObject()\n ...@@ -57,14 +57,31 @@ portal = context.getPortalObject()\n
def checkSoftwareInstanceIsInstalledOnComputerPartition(software_release,\n def checkSoftwareInstanceIsInstalledOnComputerPartition(software_release,\n
computer_partition):\n computer_partition):\n
from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n from Products.ZSQLCatalog.SQLCatalog import Query, ComplexQuery\n
resource_relative_url = (\n
portal.portal_preferences.getPreferredInstanceSetupResource(),\n
portal.portal_preferences.getPreferredInstanceHostingResource(),\n
)\n
query = ComplexQuery(Query(aggregate_relative_url=software_release.getRelativeUrl()),\n query = ComplexQuery(Query(aggregate_relative_url=software_release.getRelativeUrl()),\n
Query(aggregate_relative_url=computer_partition.getRelativeUrl()),\n Query(aggregate_relative_url=computer_partition.getRelativeUrl()),\n
operator="AND",\n operator="AND",\n
)\n )\n
sale_packing_list_line = portal.portal_catalog.getResultValue(\n sale_packing_list_line_list = portal.portal_catalog(\n
portal_type=\'Sale Packing List Line\', aggregate_relative_url=query)\n portal_type=\'Sale Packing List Line\',\n
if sale_packing_list_line is not None:\n query=query,\n
return True\n resource_relative_url=resource_relative_url,\n
limit=1)\n
\n
if len(sale_packing_list_line_list) == 1:\n
resource_relative_url = (\n
portal.portal_preferences.getPreferredInstanceCleanupResource(),\n
)\n
sale_packing_list_line_list = portal.portal_catalog(\n
portal_type=\'Sale Packing List Line\',\n
query=query,\n
resource_relative_url=resource_relative_url,\n
limit=1)\n
if len(sale_packing_list_line_list) == 0:\n
return True\n
return False\n return False\n
\n \n
from DateTime import DateTime\n from DateTime import DateTime\n
...@@ -95,7 +112,7 @@ computer_partition = None\n ...@@ -95,7 +112,7 @@ computer_partition = None\n
query_kw = {\n query_kw = {\n
\'software_release_url\': software_release_url_string,\n \'software_release_url\': software_release_url_string,\n
\'portal_type\': \'Computer Partition\',\n \'portal_type\': \'Computer Partition\',\n
\'free_for_request\' : 0\n \'free_for_request\' : 0,\n
}\n }\n
# support SLA\n # support SLA\n
if "computer_guid" in filter_kw:\n if "computer_guid" in filter_kw:\n
...@@ -105,7 +122,6 @@ if "computer_guid" in filter_kw:\n ...@@ -105,7 +122,6 @@ if "computer_guid" in filter_kw:\n
portal = context.getPortalObject()\n portal = context.getPortalObject()\n
isTransitionPossible = portal.portal_workflow.isTransitionPossible\n isTransitionPossible = portal.portal_workflow.isTransitionPossible\n
\n \n
\n
result_count = slave_instance.portal_catalog.countResults(**query_kw)[0][0]\n result_count = slave_instance.portal_catalog.countResults(**query_kw)[0][0]\n
offset = max(0, result_count-1)\n offset = max(0, result_count-1)\n
\n \n
......
269 270
\ No newline at end of file \ No newline at end of file
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