From 55b0dc69b773f96cf23ac93cec078d8824b40612 Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Fri, 20 Aug 2021 15:52:41 +0700 Subject: [PATCH 1/7] feat: add get replay list --- odpf/optimus/runtime_service.proto | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index be597ac9..5d05bbb9 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -194,6 +194,11 @@ service RuntimeService { get: "/v1/project/{project_name}/job/{job_name}/replay/{id}" }; } + rpc GetReplayList(GetReplayListRequest) returns (GetReplayListResponse) { + option (google.api.http) = { + get: "/v1/project/{project_name}/replay/{id}" + }; + } // TODO(kush.sharma): disabled ATM //rpc DeleteResource(DeleteResourceRequest) returns (DeleteResourceResponse) {} @@ -660,4 +665,21 @@ message RegisterJobEventRequest { JobEvent event = 4; } -message RegisterJobEventResponse {} \ No newline at end of file +message RegisterJobEventResponse {} + +message GetReplayListRequest { + string project_name = 1; +} + +message GetReplayListResponse { + repeated ReplaySpec replay_list = 1; +} + +message ReplaySpec { + string id = 1; + string job_name = 2; + string start_date = 3; + string end_date = 4; + string state = 5; + google.protobuf.Timestamp created_at = 6; +} From 5e972d944b70dd30c425c7bfc1404ec7afe09495 Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Fri, 20 Aug 2021 15:57:27 +0700 Subject: [PATCH 2/7] fix: change get replay list url --- odpf/optimus/runtime_service.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 5d05bbb9..4a3ed3f6 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -196,7 +196,7 @@ service RuntimeService { } rpc GetReplayList(GetReplayListRequest) returns (GetReplayListResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/replay/{id}" + get: "/v1/project/{project_name}/replay/list" }; } // TODO(kush.sharma): disabled ATM From 2948d743b3b84cb3840dd15af9a1526281257b95 Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Tue, 24 Aug 2021 13:56:25 +0700 Subject: [PATCH 3/7] refactor: rearrange optimus replay path --- odpf/optimus/runtime_service.proto | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 4a3ed3f6..8e6dcb17 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -179,24 +179,24 @@ service RuntimeService { } rpc ReplayDryRun(ReplayRequest) returns (ReplayDryRunResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/job/{job_name}/replay-dry-run" + post: "/v1/project/{project_name}/replay/{job_name}/dryrun" body: "*" }; } rpc Replay(ReplayRequest) returns (ReplayResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/job/{job_name}/replay" + post: "/v1/project/{project_name}/replay/{job_name}" body: "*" }; } rpc GetReplayStatus(GetReplayStatusRequest) returns (GetReplayStatusResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/job/{job_name}/replay/{id}" + get: "/v1/project/{project_name}/replay/{job_name}/{id}" }; } rpc GetReplayList(GetReplayListRequest) returns (GetReplayListResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/replay/list" + get: "/v1/project/{project_name}/replay" }; } // TODO(kush.sharma): disabled ATM From 728e88f3c5cba6b1c3e83f5546e2e20a79eb2fe2 Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Tue, 24 Aug 2021 16:38:04 +0700 Subject: [PATCH 4/7] refactor: use proper http mapping on optimus replay custom method (dry run) --- odpf/optimus/runtime_service.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 8e6dcb17..5a00b37d 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -179,7 +179,7 @@ service RuntimeService { } rpc ReplayDryRun(ReplayRequest) returns (ReplayDryRunResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/replay/{job_name}/dryrun" + post: "/v1/project/{project_name}/replay/{job_name}:dryrun" body: "*" }; } From 5723ffeb9103f452614502274957bd0849d918f1 Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Tue, 24 Aug 2021 17:23:25 +0700 Subject: [PATCH 5/7] refactor: change optimus GetReplayList to ListReplays to follow method naming convention --- odpf/optimus/runtime_service.proto | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 5a00b37d..127406f0 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -194,7 +194,7 @@ service RuntimeService { get: "/v1/project/{project_name}/replay/{job_name}/{id}" }; } - rpc GetReplayList(GetReplayListRequest) returns (GetReplayListResponse) { + rpc ListReplays(ListReplaysRequest) returns (ListReplaysResponse) { option (google.api.http) = { get: "/v1/project/{project_name}/replay" }; @@ -667,11 +667,11 @@ message RegisterJobEventRequest { message RegisterJobEventResponse {} -message GetReplayListRequest { +message ListReplaysRequest { string project_name = 1; } -message GetReplayListResponse { +message ListReplaysResponse { repeated ReplaySpec replay_list = 1; } From dbb519abb433e4d0b2e281b95c7f770f38bcd3fc Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Wed, 25 Aug 2021 10:13:17 +0700 Subject: [PATCH 6/7] refactor: change optimus replay dry run method name to follow custom method convention --- odpf/optimus/runtime_service.proto | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 127406f0..4cfceab3 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -177,7 +177,7 @@ service RuntimeService { body: "*" }; } - rpc ReplayDryRun(ReplayRequest) returns (ReplayDryRunResponse) { + rpc DryRunReplay(DryRunReplayRequest) returns (DryRunReplayResponse) { option (google.api.http) = { post: "/v1/project/{project_name}/replay/{job_name}:dryrun" body: "*" @@ -619,7 +619,20 @@ message ReplayRequest { bool force = 6; } -message ReplayDryRunResponse { +message ReplayResponse { + string id = 1; +} + +message DryRunReplayRequest { + string project_name = 1; + string job_name = 2; + string namespace = 3; + string start_date = 4; + string end_date = 5; + bool force = 6; +} + +message DryRunReplayResponse { bool success = 1; ReplayExecutionTreeNode response = 2; } @@ -630,10 +643,6 @@ message ReplayExecutionTreeNode { repeated google.protobuf.Timestamp runs = 3; } -message ReplayResponse { - string id = 1; -} - message GetReplayStatusResponse { string state = 1; ReplayStatusTreeNode response = 2; From f5401d0a3c683655181a7973a030d41a78477ced Mon Sep 17 00:00:00 2001 From: Arinda Arif Date: Wed, 25 Aug 2021 15:23:29 +0700 Subject: [PATCH 7/7] fix: solve optimus api conflict, change replayspec field type, remove force from replay dry run --- odpf/optimus/runtime_service.proto | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/odpf/optimus/runtime_service.proto b/odpf/optimus/runtime_service.proto index 4cfceab3..4aa1c4c2 100644 --- a/odpf/optimus/runtime_service.proto +++ b/odpf/optimus/runtime_service.proto @@ -179,19 +179,19 @@ service RuntimeService { } rpc DryRunReplay(DryRunReplayRequest) returns (DryRunReplayResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/replay/{job_name}:dryrun" + post: "/v1/project/{project_name}/replay/dryrun" body: "*" }; } rpc Replay(ReplayRequest) returns (ReplayResponse) { option (google.api.http) = { - post: "/v1/project/{project_name}/replay/{job_name}" + post: "/v1/project/{project_name}/replay" body: "*" }; } rpc GetReplayStatus(GetReplayStatusRequest) returns (GetReplayStatusResponse) { option (google.api.http) = { - get: "/v1/project/{project_name}/replay/{job_name}/{id}" + get: "/v1/project/{project_name}/replay/{id}" }; } rpc ListReplays(ListReplaysRequest) returns (ListReplaysResponse) { @@ -629,7 +629,6 @@ message DryRunReplayRequest { string namespace = 3; string start_date = 4; string end_date = 5; - bool force = 6; } message DryRunReplayResponse { @@ -687,8 +686,8 @@ message ListReplaysResponse { message ReplaySpec { string id = 1; string job_name = 2; - string start_date = 3; - string end_date = 4; + google.protobuf.Timestamp start_date = 3; + google.protobuf.Timestamp end_date = 4; string state = 5; google.protobuf.Timestamp created_at = 6; }