From 8d7a991d62b155d46b7ab3940294ed6bb3d72b03 Mon Sep 17 00:00:00 2001 From: rainzm Date: Mon, 10 May 2021 12:24:33 +0800 Subject: [PATCH 1/3] feat(cloudproxy): add GetDetailsLastseen for forwards --- pkg/cloudproxy/models/forwards.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 +} From 7a1ba77d9337a1549acd654c952c97acc7ab9e7a Mon Sep 17 00:00:00 2001 From: rainzm Date: Mon, 10 May 2021 12:25:03 +0800 Subject: [PATCH 2/3] fix(devtool): get 'lastseen' not 'last_seen' of forward --- pkg/devtool/utils/influxdb_url.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From b5d4b30ddf7095a8c40267af21ba5fe8364b2965 Mon Sep 17 00:00:00 2001 From: rainzm Date: Mon, 10 May 2021 18:53:05 +0800 Subject: [PATCH 3/3] fix(devtool): set 'task_id' and 'task_notify_url' in header --- pkg/devtool/tasks/apply_script_task.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)