From db3db4deadf294c7710486df9116ae5ede580997 Mon Sep 17 00:00:00 2001 From: mblos Date: Wed, 25 Mar 2026 14:16:01 +0100 Subject: [PATCH] Commitments base URL updated --- internal/scheduling/reservations/commitments/api.go | 8 ++++---- .../commitments/api_change_commitments_test.go | 2 +- .../reservations/commitments/api_report_capacity.go | 4 ++-- .../reservations/commitments/api_report_usage.go | 8 ++++---- .../reservations/commitments/api_report_usage_test.go | 2 +- .../scheduling/reservations/commitments/e2e_checks.go | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/internal/scheduling/reservations/commitments/api.go b/internal/scheduling/reservations/commitments/api.go index 3c6179d83..b35bece97 100644 --- a/internal/scheduling/reservations/commitments/api.go +++ b/internal/scheduling/reservations/commitments/api.go @@ -54,10 +54,10 @@ func (api *HTTPAPI) Init(mux *http.ServeMux, registry prometheus.Registerer, log registry.MustRegister(&api.usageMonitor) registry.MustRegister(&api.capacityMonitor) registry.MustRegister(&api.infoMonitor) - mux.HandleFunc("/v1/commitments/change-commitments", api.HandleChangeCommitments) - mux.HandleFunc("/v1/commitments/report-capacity", api.HandleReportCapacity) - mux.HandleFunc("/v1/commitments/info", api.HandleInfo) - mux.HandleFunc("/v1/commitments/projects/", api.HandleReportUsage) // matches /v1/commitments/projects/:project_id/report-usage + mux.HandleFunc("/commitments/v1/change-commitments", api.HandleChangeCommitments) + mux.HandleFunc("/commitments/v1/report-capacity", api.HandleReportCapacity) + mux.HandleFunc("/commitments/v1/info", api.HandleInfo) + mux.HandleFunc("/commitments/v1/projects/", api.HandleReportUsage) // matches /commitments/v1/projects/:project_id/report-usage log.Info("commitments API initialized", "changeCommitmentsEnabled", api.config.EnableChangeCommitmentsAPI, diff --git a/internal/scheduling/reservations/commitments/api_change_commitments_test.go b/internal/scheduling/reservations/commitments/api_change_commitments_test.go index a30db33c5..6fd5c17f0 100644 --- a/internal/scheduling/reservations/commitments/api_change_commitments_test.go +++ b/internal/scheduling/reservations/commitments/api_change_commitments_test.go @@ -1085,7 +1085,7 @@ func (env *CommitmentTestEnv) CallChangeCommitmentsAPI(reqJSON string) (resp liq }() // Make HTTP request - url := env.HTTPServer.URL + "/v1/commitments/change-commitments" + url := env.HTTPServer.URL + "/commitments/v1/change-commitments" httpResp, err := http.Post(url, "application/json", bytes.NewReader([]byte(reqJSON))) //nolint:gosec,noctx // test server URL, not user input if err != nil { cancel() diff --git a/internal/scheduling/reservations/commitments/api_report_capacity.go b/internal/scheduling/reservations/commitments/api_report_capacity.go index 19b7fb24c..194106d92 100644 --- a/internal/scheduling/reservations/commitments/api_report_capacity.go +++ b/internal/scheduling/reservations/commitments/api_report_capacity.go @@ -14,7 +14,7 @@ import ( "github.com/sapcc/go-api-declarations/liquid" ) -// handles POST /v1/commitments/report-capacity requests from Limes: +// handles POST /commitments/v1/report-capacity requests from Limes: // See: https://github.com/sapcc/go-api-declarations/blob/main/liquid/commitment.go // See: https://pkg.go.dev/github.com/sapcc/go-api-declarations/liquid // Reports available capacity across all flavor group resources. Note, unit is specified in the Info API response with multiple of the smallest memory resource unit within a flavor group. @@ -38,7 +38,7 @@ func (api *HTTPAPI) HandleReportCapacity(w http.ResponseWriter, r *http.Request) } ctx := reservations.WithGlobalRequestID(r.Context(), "committed-resource-"+requestID) - logger := LoggerFromContext(ctx).WithValues("component", "api", "endpoint", "/v1/commitments/report-capacity") + logger := LoggerFromContext(ctx).WithValues("component", "api", "endpoint", "/commitments/v1/report-capacity") // Only accept POST method if r.Method != http.MethodPost { diff --git a/internal/scheduling/reservations/commitments/api_report_usage.go b/internal/scheduling/reservations/commitments/api_report_usage.go index 558758bab..53f210599 100644 --- a/internal/scheduling/reservations/commitments/api_report_usage.go +++ b/internal/scheduling/reservations/commitments/api_report_usage.go @@ -15,7 +15,7 @@ import ( "github.com/sapcc/go-api-declarations/liquid" ) -// HandleReportUsage implements POST /v1/commitments/projects/:project_id/report-usage from Limes LIQUID API. +// HandleReportUsage implements POST /commitments/v1/projects/:project_id/report-usage from Limes LIQUID API. // See: https://github.com/sapcc/go-api-declarations/blob/main/liquid/report_usage.go // See: https://pkg.go.dev/github.com/sapcc/go-api-declarations/liquid // @@ -51,7 +51,7 @@ func (api *HTTPAPI) HandleReportUsage(w http.ResponseWriter, r *http.Request) { } // Extract project UUID from URL path - // URL pattern: /v1/commitments/projects/:project_id/report-usage + // URL pattern: /commitments/v1/projects/:project_id/report-usage projectID, err := extractProjectIDFromPath(r.URL.Path) if err != nil { log.Error(err, "failed to extract project ID from path") @@ -99,9 +99,9 @@ func (api *HTTPAPI) recordUsageMetrics(statusCode int, startTime time.Time) { } // extractProjectIDFromPath extracts the project UUID from the URL path. -// Expected path format: /v1/commitments/projects/:project_id/report-usage +// Expected path format: /commitments/v1/projects/:project_id/report-usage func extractProjectIDFromPath(path string) (string, error) { - // Path: /v1/commitments/projects//report-usage + // Path: /commitments/v1/projects//report-usage parts := strings.Split(strings.Trim(path, "/"), "/") // Expected: ["v1", "commitments", "projects", "", "report-usage"] if len(parts) < 5 { diff --git a/internal/scheduling/reservations/commitments/api_report_usage_test.go b/internal/scheduling/reservations/commitments/api_report_usage_test.go index 21dddb766..26a55332d 100644 --- a/internal/scheduling/reservations/commitments/api_report_usage_test.go +++ b/internal/scheduling/reservations/commitments/api_report_usage_test.go @@ -576,7 +576,7 @@ func (env *UsageTestEnv) CallReportUsageAPI(projectID string, allAZs []string, u } // Build URL - url := env.HTTPServer.URL + "/v1/commitments/projects/" + projectID + "/report-usage" + url := env.HTTPServer.URL + "/commitments/v1/projects/" + projectID + "/report-usage" method := http.MethodPost if useGET { diff --git a/internal/scheduling/reservations/commitments/e2e_checks.go b/internal/scheduling/reservations/commitments/e2e_checks.go index 6272979bf..2292bcaa1 100644 --- a/internal/scheduling/reservations/commitments/e2e_checks.go +++ b/internal/scheduling/reservations/commitments/e2e_checks.go @@ -27,14 +27,14 @@ type E2EChecksConfig struct { BaseURL string `json:"baseURL"` } -// CheckCommitmentsInfoEndpoint sends a GET request to the /v1/commitments/info endpoint +// CheckCommitmentsInfoEndpoint sends a GET request to the /commitments/v1/info endpoint // and verifies that it returns HTTP 200 with a valid ServiceInfo response. func CheckCommitmentsInfoEndpoint(ctx context.Context, config E2EChecksConfig) { baseURL := config.BaseURL if baseURL == "" { baseURL = defaultCommitmentsAPIURL } - apiURL := baseURL + "/v1/commitments/info" + apiURL := baseURL + "/commitments/v1/info" slog.Info("checking commitments info endpoint", "apiURL", apiURL) httpReq := must.Return(http.NewRequestWithContext(ctx, http.MethodGet, apiURL, http.NoBody))