summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2020-09-22 15:04:09 +0200
committerSimon Rettberg2020-09-22 15:04:09 +0200
commit59ae2573d31d3bd709453c8060c1f3cec97692b5 (patch)
tree8b5dc79a6c48f79a38495df9a8062eca40a8bf95
parent[serversetup-bwlp-ipxe] Re-introduce support for menuid param (diff)
downloadslx-admin-59ae2573d31d3bd709453c8060c1f3cec97692b5.tar.gz
slx-admin-59ae2573d31d3bd709453c8060c1f3cec97692b5.tar.xz
slx-admin-59ae2573d31d3bd709453c8060c1f3cec97692b5.zip
[Trigger/Event] Fix minor warnings
-rw-r--r--inc/event.inc.php4
-rw-r--r--inc/trigger.inc.php10
2 files changed, 10 insertions, 4 deletions
diff --git a/inc/event.inc.php b/inc/event.inc.php
index e5ade41b..2d916b48 100644
--- a/inc/event.inc.php
+++ b/inc/event.inc.php
@@ -64,7 +64,7 @@ class Event
} else {
$res = Taskmanager::waitComplete($ipxeId, 5000);
if (Taskmanager::isFailed($res)) {
- EventLog::failure('Update PXE Menu failed', $res['data']['error']);
+ EventLog::failure('Update PXE Menu failed', $res['data']['error'] ?? $res['data']['error'] ?? '');
$everythingFine = false;
}
}
@@ -79,7 +79,7 @@ class Event
$mountStatus = Taskmanager::waitComplete($mountId, 10000);
}
if ($mountId !== false && Taskmanager::isFailed($mountStatus)) {
- EventLog::failure('Mounting VM store failed', $mountStatus['data']['messages']);
+ EventLog::failure('Mounting VM store failed', $mountStatus['data']['messages'] ?? '');
$everythingFine = false;
} elseif ($mountId !== false && !Taskmanager::isFinished($mountStatus)) {
// TODO: Still running - create callback
diff --git a/inc/trigger.inc.php b/inc/trigger.inc.php
index 134bab53..5024b907 100644
--- a/inc/trigger.inc.php
+++ b/inc/trigger.inc.php
@@ -98,7 +98,7 @@ class Trigger
*
* @param array $vmstore VM Store configuration to use. If false, read from properties
* @param bool $ifLocalOnly Only execute task if the storage type is local (used for DNBD3)
- * @return array|false task status of mount procedure, or false on error
+ * @return string|false task id of mount procedure, or false on error
*/
public static function mount($vmstore = false, $ifLocalOnly = false)
{
@@ -130,7 +130,7 @@ class Trigger
}else {
$opts = null;
}
- return Taskmanager::submit('MountVmStore', array(
+ $status = Taskmanager::submit('MountVmStore', array(
'address' => $addr,
'type' => 'images',
'opts' => $opts,
@@ -138,6 +138,12 @@ class Trigger
'username' => $vmstore['cifsuser'],
'password' => $vmstore['cifspasswd']
));
+ if (!Taskmanager::isFailed($status)) {
+ // In case we have a concurrent active task, this should be enough
+ // for the taskmanager to give us the existing id
+ $status = Taskmanager::waitComplete($status, 100);
+ }
+ return $status['data']['existingTask'] ?? $status['id'] ?? false;
}
/**