diff --git a/pkg/cloudproxy/models/forwards.go b/pkg/cloudproxy/models/forwards.go index 9fcce616ca..bb429e42bf 100644 --- a/pkg/cloudproxy/models/forwards.go +++ b/pkg/cloudproxy/models/forwards.go @@ -485,3 +485,19 @@ func (fwd *SForward) PerformHeartbeat(ctx context.Context, userCred mcclient.Tok } return nil, nil } + +func (fwd *SForward) AllowGetDetailsLastseen(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) bool { + return fwd.IsOwner(userCred) || db.IsAllowGetSpec(rbacutils.ScopeSystem, userCred, fwd, "last_seen") +} + +func (fwd *SForward) GetDetailsLastseen(ctx context.Context, userCred mcclient.TokenCredential, query jsonutils.JSONObject) (jsonutils.JSONObject, error) { + ret := jsonutils.NewDict() + var lastSeen string + if fwd.LastSeen.IsZero() { + lastSeen = "" + } else { + lastSeen = fwd.LastSeen.Format("2006-01-02T15:04:05.000000Z") + } + ret.Add(jsonutils.NewString(lastSeen), "last_seen") + return ret, nil +} diff --git a/pkg/devtool/tasks/apply_script_task.go b/pkg/devtool/tasks/apply_script_task.go index eb257d8c84..36f1cdfec3 100644 --- a/pkg/devtool/tasks/apply_script_task.go +++ b/pkg/devtool/tasks/apply_script_task.go @@ -213,7 +213,9 @@ func (self *ApplyScriptTask) OnInit(ctx context.Context, obj db.IStandaloneModel self.SetStage("OnAnsiblePlaybookComplete", updateData) // Inject Task Header - session.Header = self.GetTaskRequestHeader() + taskHeader := self.GetTaskRequestHeader() + session.Header.Set(mcclient.TASK_NOTIFY_URL, taskHeader.Get(mcclient.TASK_NOTIFY_URL)) + session.Header.Set(mcclient.TASK_ID, taskHeader.Get(mcclient.TASK_ID)) _, err = modules.AnsiblePlaybookReference.PerformAction(session, s.PlaybookReferenceId, "run", params) if err != nil { self.clearLocalForward(session, forwardId) diff --git a/pkg/devtool/utils/influxdb_url.go b/pkg/devtool/utils/influxdb_url.go index 9de0ab810e..ba9d7a9f96 100644 --- a/pkg/devtool/utils/influxdb_url.go +++ b/pkg/devtool/utils/influxdb_url.go @@ -182,7 +182,7 @@ func convertInfluxdbUrl(ctx context.Context, pUrl string, endpointId string) (po time.Sleep(waitTime) times += 1 waitTime += time.Second * time.Duration(times) - data, err = cloudproxy.Forwards.GetSpecific(session, forwardId, "last_seen", nil) + data, err = cloudproxy.Forwards.GetSpecific(session, forwardId, "lastseen", nil) if err != nil { err = errors.Wrapf(err, "unable to check last_seen for forward %s", forwardId) return