Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Romain Courteaud
slapos.core
Commits
0f0da06d
Commit
0f0da06d
authored
Aug 18, 2011
by
Gabriel Monnerat
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The slave instance must not be allocated when a software instance will be destroyed
parent
8c488f2a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
11 deletions
+27
-11
master/bt5/vifib_open_trade/WorkflowTemplateItem/portal_workflow/vifib_open_order_interaction_workflow/scripts/Delivery_assignComputerPartition.xml
...ion_workflow/scripts/Delivery_assignComputerPartition.xml
+26
-10
master/bt5/vifib_open_trade/bt/revision
master/bt5/vifib_open_trade/bt/revision
+1
-1
No files found.
master/bt5/vifib_open_trade/WorkflowTemplateItem/portal_workflow/vifib_open_order_interaction_workflow/scripts/Delivery_assignComputerPartition.xml
View file @
0f0da06d
...
@@ -50,23 +50,39 @@
...
@@ -50,23 +50,39 @@
</item>
</item>
<item>
<item>
<key>
<string>
_body
</string>
</key>
<key>
<string>
_body
</string>
</key>
<value>
<string>
def checkSoftwareInstanceIsInstalledOnComputerPartition(software_release,\n
<value>
<string>
portal = context.getPortalObject()\n
\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
portal = context.getPortalObject()\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
\n
order = state_change[\'object\']\n
order = state_change[\'object\']\n
portal = order.getPortalObject()\n
\n
\n
setup_service_relative_url = order.portal_preferences.getPreferredInstanceSetupResource()\n
setup_service_relative_url = order.portal_preferences.getPreferredInstanceSetupResource()\n
isTransitionPossible = portal.portal_workflow.isTransitionPossible\n
isTransitionPossible = portal.portal_workflow.isTransitionPossible\n
...
@@ -96,7 +112,6 @@ for order_line in order.getMovementList():\n
...
@@ -96,7 +112,6 @@ for order_line in order.getMovementList():\n
\n
\n
result_count = software_instance.portal_catalog.countResults(**query_kw)[0][0]\n
result_count = software_instance.portal_catalog.countResults(**query_kw)[0][0]\n
offset = max(0, result_count-1)\n
offset = max(0, result_count-1)\n
\n
for computer_partition_candidate in portal.portal_catalog(\n
for computer_partition_candidate in portal.portal_catalog(\n
limit=(random.randint(0, offset), 50), **query_kw):\n
limit=(random.randint(0, offset), 50), **query_kw):\n
computer_partition_candidate = computer_partition_candidate.getObject() \n
computer_partition_candidate = computer_partition_candidate.getObject() \n
...
@@ -109,7 +124,8 @@ for order_line in order.getMovementList():\n
...
@@ -109,7 +124,8 @@ for order_line in order.getMovementList():\n
elif software_instance_portal_type == "Slave Instance" and \\\n
elif software_instance_portal_type == "Slave Instance" and \\\n
checkSoftwareInstanceIsInstalledOnComputerPartition(software_release, computer_partition_candidate):\n
checkSoftwareInstanceIsInstalledOnComputerPartition(software_release, computer_partition_candidate):\n
computer_partition = computer_partition_candidate\n
computer_partition = computer_partition_candidate\n
break \n
break\n
\n
if computer_partition is None:\n
if computer_partition is None:\n
raise ValueError(\'It was not possible to find free Computer Partition\')\n
raise ValueError(\'It was not possible to find free Computer Partition\')\n
\n
\n
...
...
master/bt5/vifib_open_trade/bt/revision
View file @
0f0da06d
92
93
\ No newline at end of file
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment