Commit 7a28f6ad authored by Romain Courteaud's avatar Romain Courteaud 🐙

slapos_slap_tool:

* project reference is required for compute node
* require a project when requesting an instance tree
parent 69e2b9a4
...@@ -506,20 +506,20 @@ class SlapTool(BaseTool): ...@@ -506,20 +506,20 @@ class SlapTool(BaseTool):
return self._supplySupply(url, computer_id, state) return self._supplySupply(url, computer_id, state)
@convertToREST @convertToREST
def _requestComputeNode(self, compute_node_title): def _requestComputeNode(self, compute_node_title, project_reference):
portal = self.getPortalObject() portal = self.getPortalObject()
person = portal.portal_membership.getAuthenticatedMember().getUserValue() person = portal.portal_membership.getAuthenticatedMember().getUserValue()
person.requestComputeNode(compute_node_title=compute_node_title) person.requestComputeNode(compute_node_title=compute_node_title, project_reference=project_reference)
compute_node = ComputeNode(self.REQUEST.get('compute_node_reference').decode("UTF-8")) compute_node = ComputeNode(self.REQUEST.get('compute_node_reference').decode("UTF-8"))
return dumps(compute_node) return dumps(compute_node)
security.declareProtected(Permissions.AccessContentsInformation, security.declareProtected(Permissions.AccessContentsInformation,
'requestComputer') 'requestComputer')
def requestComputer(self, computer_title): def requestComputer(self, computer_title, project_reference):
""" """
Request Compute Node Request Compute Node
""" """
return self._requestComputeNode(computer_title) return self._requestComputeNode(computer_title, project_reference)
security.declareProtected(Permissions.AccessContentsInformation, security.declareProtected(Permissions.AccessContentsInformation,
'buildingSoftwareRelease') 'buildingSoftwareRelease')
...@@ -613,7 +613,7 @@ class SlapTool(BaseTool): ...@@ -613,7 +613,7 @@ class SlapTool(BaseTool):
def requestComputerPartition(self, computer_id=None, def requestComputerPartition(self, computer_id=None,
computer_partition_id=None, software_release=None, software_type=None, computer_partition_id=None, software_release=None, software_type=None,
partition_reference=None, partition_parameter_xml=None, partition_reference=None, partition_parameter_xml=None,
filter_xml=None, state=None, shared_xml=_MARKER): filter_xml=None, state=None, shared_xml=_MARKER, project_reference=None):
""" """
Asynchronously requests creation of compute partition for assigned Asynchronously requests creation of compute partition for assigned
parameters parameters
...@@ -627,7 +627,8 @@ class SlapTool(BaseTool): ...@@ -627,7 +627,8 @@ class SlapTool(BaseTool):
""" """
return self._requestComputePartition(computer_id, computer_partition_id, return self._requestComputePartition(computer_id, computer_partition_id,
software_release, software_type, partition_reference, software_release, software_type, partition_reference,
shared_xml, partition_parameter_xml, filter_xml, state) shared_xml, partition_parameter_xml, filter_xml, state,
project_reference)
security.declareProtected(Permissions.AccessContentsInformation, security.declareProtected(Permissions.AccessContentsInformation,
'useComputer') 'useComputer')
...@@ -924,7 +925,8 @@ class SlapTool(BaseTool): ...@@ -924,7 +925,8 @@ class SlapTool(BaseTool):
@convertToREST @convertToREST
def _requestComputePartition(self, compute_node_id, compute_partition_id, def _requestComputePartition(self, compute_node_id, compute_partition_id,
software_release, software_type, partition_reference, software_release, software_type, partition_reference,
shared_xml, partition_parameter_xml, filter_xml, state): shared_xml, partition_parameter_xml, filter_xml, state,
project_reference):
""" """
Asynchronously requests creation of compute partition for assigned Asynchronously requests creation of compute partition for assigned
parameters parameters
...@@ -962,7 +964,8 @@ class SlapTool(BaseTool): ...@@ -962,7 +964,8 @@ class SlapTool(BaseTool):
instance_xml=castToStr(partition_parameter_kw), instance_xml=castToStr(partition_parameter_kw),
shared=shared, shared=shared,
sla_xml=castToStr(filter_kw), sla_xml=castToStr(filter_kw),
state=state) state=state,
project_reference=project_reference)
portal = self.getPortalObject() portal = self.getPortalObject()
if compute_node_id and compute_partition_id: if compute_node_id and compute_partition_id:
......
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