From e1ae307bda11ab8d8e940f9fefd398ced094bb16 Mon Sep 17 00:00:00 2001 From: Parag Bhingre Date: Wed, 7 Sep 2022 09:47:25 -0700 Subject: [PATCH 1/3] feat: previously stopped task with the stopped task id --- internal/pkg/cli/flag.go | 8 ++++---- internal/pkg/cli/svc_logs.go | 3 ++- internal/pkg/cli/svc_logs_test.go | 12 ++++++++++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/internal/pkg/cli/flag.go b/internal/pkg/cli/flag.go index 1e1cf13a0a9..99ba7144ea2 100644 --- a/internal/pkg/cli/flag.go +++ b/internal/pkg/cli/flag.go @@ -137,7 +137,7 @@ const ( envFlagShort = "e" typeFlagShort = "t" workloadFlagShort = "w" - // previousFlagShort = "p" + previousFlagShort = "p" dockerFileFlagShort = "d" commandFlagShort = "c" @@ -233,9 +233,9 @@ Uploaded asset locations are filled in the template configuration.` unless any time filtering flags are set.` lastFlagDescription = `Optional. The number of executions of the scheduled job for which logs should be shown.` - followFlagDescription = "Optional. Specifies if the logs should be streamed." - // previousFlagDescription = "Optional. Print logs for the last stopped task if exists." - sinceFlagDescription = `Optional. Only return logs newer than a relative duration like 5s, 2m, or 3h. + followFlagDescription = "Optional. Specifies if the logs should be streamed." + previousFlagDescription = "Optional. Print logs for the last stopped task if exists." + sinceFlagDescription = `Optional. Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one of start-time / since may be used.` startTimeFlagDescription = `Optional. Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of start-time / since may be used.` diff --git a/internal/pkg/cli/svc_logs.go b/internal/pkg/cli/svc_logs.go index a722c55c714..bb62669328d 100644 --- a/internal/pkg/cli/svc_logs.go +++ b/internal/pkg/cli/svc_logs.go @@ -209,6 +209,7 @@ func (o *svcLogsOpts) Execute() error { return err } o.taskIDs = []string{taskID} + fmt.Printf("previously stopped task: %s\n", taskID) } err := o.logsSvc.WriteLogEvents(logging.WriteLogEventsOpts{ Follow: o.follow, @@ -351,7 +352,7 @@ func buildSvcLogsCmd() *cobra.Command { cmd.Flags().IntVar(&vars.limit, limitFlag, 0, limitFlagDescription) cmd.Flags().StringSliceVar(&vars.taskIDs, tasksFlag, nil, tasksLogsFlagDescription) cmd.Flags().StringVar(&vars.logGroup, logGroupFlag, "", logGroupFlagDescription) - // cmd.Flags().BoolVarP(&vars.previous, previousFlag, previousFlagShort, false, previousFlagDescription) + cmd.Flags().BoolVarP(&vars.previous, previousFlag, previousFlagShort, false, previousFlagDescription) // cmd.Flags().StringVar(&vars.containerName, containerLogFlag, "", containerLogFlagDescription) return cmd } diff --git a/internal/pkg/cli/svc_logs_test.go b/internal/pkg/cli/svc_logs_test.go index eb37ccb0c40..53b9fc71941 100644 --- a/internal/pkg/cli/svc_logs_test.go +++ b/internal/pkg/cli/svc_logs_test.go @@ -47,6 +47,8 @@ func TestSvcLogs_Validate(t *testing.T) { inputStartTime string inputEndTime string inputSince time.Duration + inputPrevious bool + inputTaskIDs []string mockstore func(m *mocks.Mockstore) @@ -106,6 +108,14 @@ func TestSvcLogs_Validate(t *testing.T) { wantedError: fmt.Errorf("--limit 10001 is out-of-bounds, value must be between 1 and 10000"), }, + "returns error if both previous and tasks flags are defined": { + inputPrevious: true, + inputTaskIDs: []string{"taskId"}, + + mockstore: func(m *mocks.Mockstore) {}, + + wantedError: fmt.Errorf("cannot specify both --previous and --tasks"), + }, } for name, tc := range testCases { @@ -126,6 +136,8 @@ func TestSvcLogs_Validate(t *testing.T) { since: tc.inputSince, name: tc.inputSvc, appName: tc.inputApp, + taskIDs: tc.inputTaskIDs, + previous: tc.inputPrevious, }, wkldLogOpts: wkldLogOpts{ configStore: mockstore, From 6cefd0e5d564742274d61f1284aa33dfea443f8e Mon Sep 17 00:00:00 2001 From: Parag Bhingre Date: Thu, 8 Sep 2022 14:49:03 -0700 Subject: [PATCH 2/3] address comment --- internal/pkg/cli/svc_logs.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/pkg/cli/svc_logs.go b/internal/pkg/cli/svc_logs.go index bb62669328d..cab9b72a148 100644 --- a/internal/pkg/cli/svc_logs.go +++ b/internal/pkg/cli/svc_logs.go @@ -209,7 +209,7 @@ func (o *svcLogsOpts) Execute() error { return err } o.taskIDs = []string{taskID} - fmt.Printf("previously stopped task: %s\n", taskID) + log.Infoln("previously stopped task:", taskID) } err := o.logsSvc.WriteLogEvents(logging.WriteLogEventsOpts{ Follow: o.follow, From a9b960efdd14e28257a3b1d9a83e5e1cf9b8cbe9 Mon Sep 17 00:00:00 2001 From: Parag Bhingre Date: Fri, 9 Sep 2022 09:52:30 -0700 Subject: [PATCH 3/3] fix test errors --- internal/pkg/cli/svc_logs_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/pkg/cli/svc_logs_test.go b/internal/pkg/cli/svc_logs_test.go index fc398a855fb..77c7083f0d2 100644 --- a/internal/pkg/cli/svc_logs_test.go +++ b/internal/pkg/cli/svc_logs_test.go @@ -138,9 +138,9 @@ func TestSvcLogs_Validate(t *testing.T) { since: tc.inputSince, name: tc.inputSvc, appName: tc.inputApp, - taskIDs: tc.inputTaskIDs, - previous: tc.inputPrevious, + taskIDs: tc.inputTaskIDs, }, + previous: tc.inputPrevious, }, wkldLogOpts: wkldLogOpts{ configStore: mockstore,