From a8b144cb91db56b3419e59dfdafd8dcf9ed8edab Mon Sep 17 00:00:00 2001 From: Tim Gross Date: Tue, 18 Aug 2020 16:48:09 -0400 Subject: [PATCH] mrd: remove redundant validation in HTTP endpoint (#8685) The `regionForJob` function in the HTTP job endpoint overrides the region for multiregion jobs to `global`, which is used as a sentinel value in the server's job endpoint to avoid re-registration loops. This changeset removes an extraneous check that results in errors in the web UI and makes round-tripping through the HTTP API cumbersome for all consumers. --- command/agent/job_endpoint.go | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/command/agent/job_endpoint.go b/command/agent/job_endpoint.go index c5bbc7fb121d..0a5c99a22c6c 100644 --- a/command/agent/job_endpoint.go +++ b/command/agent/job_endpoint.go @@ -145,13 +145,6 @@ func (s *HTTPServer) jobPlan(resp http.ResponseWriter, req *http.Request, return nil, CodedError(400, "Job ID does not match") } - if args.Job.Multiregion != nil && args.Job.Region != nil { - region := *args.Job.Region - if !(region == "global" || region == "") { - return nil, CodedError(400, "Job can't have both multiregion and region blocks") - } - } - sJob, writeReq := s.apiJobAndRequestToStructs(args.Job, req, args.WriteRequest) planReq := structs.JobPlanRequest{ Job: sJob, @@ -384,12 +377,6 @@ func (s *HTTPServer) jobUpdate(resp http.ResponseWriter, req *http.Request, if jobName != "" && *args.Job.ID != jobName { return nil, CodedError(400, "Job ID does not match name") } - if args.Job.Multiregion != nil && args.Job.Region != nil { - region := *args.Job.Region - if !(region == "global" || region == "") { - return nil, CodedError(400, "Job can't have both multiregion and region blocks") - } - } // GH-8481. Jobs of type system can only have a count of 1 and therefore do // not support scaling. Even though this returns an error on the first