|
|
|
@ -272,10 +272,14 @@ class Node:
|
|
|
|
|
"""
|
|
|
|
|
data = self._node_data()
|
|
|
|
|
data["node_id"] = self._id
|
|
|
|
|
if self._node_type == "docker":
|
|
|
|
|
timeout = 60
|
|
|
|
|
else:
|
|
|
|
|
timeout = None
|
|
|
|
|
trial = 0
|
|
|
|
|
while trial != 6:
|
|
|
|
|
try:
|
|
|
|
|
response = yield from self._compute.post("/projects/{}/{}/nodes".format(self._project.id, self._node_type), data=data)
|
|
|
|
|
response = yield from self._compute.post("/projects/{}/{}/nodes".format(self._project.id, self._node_type), data=data, timeout=timeout)
|
|
|
|
|
except ComputeConflict as e:
|
|
|
|
|
if e.response.get("exception") == "ImageMissingError":
|
|
|
|
|
res = yield from self._upload_missing_image(self._node_type, e.response["image"])
|
|
|
|
|