Commit 58ef43f6 authored by Romain Courteaud's avatar Romain Courteaud 🐙

slap/slap.py: software release

parent 9665b9c6
...@@ -197,7 +197,7 @@ class SoftwareRelease(SlapDocument): ...@@ -197,7 +197,7 @@ class SoftwareRelease(SlapDocument):
{ {
'url': self.getURI(), 'url': self.getURI(),
'computer_id': self.getComputerId(), 'computer_id': self.getComputerId(),
'error_log': error_log 'error_log': str(error_log)
} }
) )
except (RequestException, ConnectionError): except (RequestException, ConnectionError):
...@@ -206,22 +206,40 @@ class SoftwareRelease(SlapDocument): ...@@ -206,22 +206,40 @@ class SoftwareRelease(SlapDocument):
(logger or fallback_logger).exception('') (logger or fallback_logger).exception('')
def available(self): def available(self):
if getattr(self, '_known_state', 'unknown') != "available": # if getattr(self, '_known_state', 'unknown') != "available":
# Not required to repost if not needed. # Not required to repost if not needed.
self._connection_helper.POST('availableSoftwareRelease', data={ self._connection_helper.callJsonRpcAPI(
'url': self.getURI(), 'slapos.put.software_installation',
'computer_id': self.getComputerId()}) {
"portal_type": "Software Installation",
'computer_id': self.getComputerId(),
'software_release_uri': self.getURI(),
'reported_state': 'available'
}
)
def building(self): def building(self):
if getattr(self, '_known_state', 'unknown') != "building": # if getattr(self, '_known_state', 'unknown') != "building":
self._connection_helper.POST('buildingSoftwareRelease', data={ self._connection_helper.callJsonRpcAPI(
'url': self.getURI(), 'slapos.put.software_installation',
'computer_id': self.getComputerId()}) {
"portal_type": "Software Installation",
'computer_id': self.getComputerId(),
'software_release_uri': self.getURI(),
'reported_state': 'building'
}
)
def destroyed(self): def destroyed(self):
self._connection_helper.POST('destroyedSoftwareRelease', data={ self._connection_helper.callJsonRpcAPI(
'url': self.getURI(), 'slapos.put.software_installation',
'computer_id': self.getComputerId()}) {
"portal_type": "Software Installation",
'computer_id': self.getComputerId(),
'software_release_uri': self.getURI(),
'reported_state': 'destroyed'
}
)
def getState(self): def getState(self):
return getattr(self, '_requested_state', 'available') return getattr(self, '_requested_state', 'available')
......
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