debug: stderr logging in FindInstanceByDisplayName, bump 5.0.66

This commit is contained in:
“Naeel”
2026-07-09 00:42:14 +04:00
parent f59b9ca19b
commit 5b106d7029
4 changed files with 45 additions and 11 deletions
+1 -1
View File
@@ -2,7 +2,7 @@ terraform {
required_providers { required_providers {
nubes = { nubes = {
source = "terra.k8c.ru/nubes-test/nubes" source = "terra.k8c.ru/nubes-test/nubes"
version = "5.0.65" version = "5.0.66"
} }
} }
} }
+1 -1
View File
@@ -3,7 +3,7 @@ NUBES_API_ENDPOINT="https://lk-api-gateway-test.ngcloud.ru/api/v1/svc"
TOKEN_FILE="secrets/test.token" TOKEN_FILE="secrets/test.token"
# Version # Version
VERSION="5.0.65" VERSION="5.0.66"
# Docs generation — ONLY from docs_gen/<stand>/ (never from docs/) # Docs generation — ONLY from docs_gen/<stand>/ (never from docs/)
DOCS_GEN_DIR="provider/docs_gen/test" DOCS_GEN_DIR="provider/docs_gen/test"
+42 -8
View File
@@ -582,7 +582,9 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
searchQuery.Set("serviceId", fmt.Sprintf("%d", serviceId)) searchQuery.Set("serviceId", fmt.Sprintf("%d", serviceId))
} }
respBody, _, err := c.doRequest(ctx, "GET", "/instances?"+searchQuery.Encode(), nil) respBody, _, err := c.doRequest(ctx, "GET", "/instances?"+searchQuery.Encode(), nil)
if err == nil { if err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] search doRequest err: %v (serviceId=%d, name=%q)\n", err, serviceId, displayName)
} else {
var res struct { var res struct {
Results []struct { Results []struct {
InstanceUid string `json:"instanceUid"` InstanceUid string `json:"instanceUid"`
@@ -590,16 +592,30 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
ServiceId int `json:"serviceId"` ServiceId int `json:"serviceId"`
} `json:"results"` } `json:"results"`
} }
if err := json.Unmarshal(respBody, &res); err == nil { if err := json.Unmarshal(respBody, &res); err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] search json.Unmarshal err: %v (serviceId=%d, name=%q)\n", err, serviceId, displayName)
} else {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] search returned %d results (serviceId=%d, name=%q)\n", len(res.Results), serviceId, displayName)
for _, item := range res.Results { for _, item := range res.Results {
if item.ServiceId == serviceId && strings.EqualFold(item.DisplayName, displayName) { matchSvc := item.ServiceId == serviceId
matchName := strings.EqualFold(item.DisplayName, displayName)
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] search item uid=%s name=%q svcId=%d matchSvc=%v matchName=%v\n",
item.InstanceUid, item.DisplayName, item.ServiceId, matchSvc, matchName)
if matchSvc && matchName {
state, err := c.GetInstanceStateRaw(ctx, item.InstanceUid) state, err := c.GetInstanceStateRaw(ctx, item.InstanceUid)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] GetInstanceStateRaw err for uid=%s: %v\n", item.InstanceUid, err)
continue continue
} }
if state != nil && !isInstanceDeleted(state) { if state == nil {
found = append(found, *state) fmt.Fprintf(os.Stderr, "[FIND-DEBUG] GetInstanceStateRaw returned nil for uid=%s\n", item.InstanceUid)
continue
} }
if isInstanceDeleted(state) {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] GetInstanceStateRaw returned deleted for uid=%s (status=%q)\n", item.InstanceUid, state.ExplainedStatus)
continue
}
found = append(found, *state)
} }
} }
} }
@@ -607,6 +623,7 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
// Если быстрый поиск не дал результатов — пагинированный fallback // Если быстрый поиск не дал результатов — пагинированный fallback
if len(found) == 0 { if len(found) == 0 {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] search path failed, entering fallback (serviceId=%d, name=%q)\n", serviceId, displayName)
page := 1 page := 1
for { for {
reqURL := c.buildURL(fmt.Sprintf("/instances?page=%d&size=100", page)) reqURL := c.buildURL(fmt.Sprintf("/instances?page=%d&size=100", page))
@@ -621,6 +638,7 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
resp, err := c.HttpClient.Do(req) resp, err := c.HttpClient.Do(req)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback page=%d HttpClient.Do err: %v\n", page, err)
return nil, err return nil, err
} }
if resp.Body != nil { if resp.Body != nil {
@@ -628,6 +646,7 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
} }
if resp.StatusCode != 200 { if resp.StatusCode != 200 {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback page=%d HTTP %d\n", page, resp.StatusCode)
return nil, fmt.Errorf("HTTP статус %d", resp.StatusCode) return nil, fmt.Errorf("HTTP статус %d", resp.StatusCode)
} }
@@ -639,6 +658,7 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
} `json:"results"` } `json:"results"`
} }
if err := json.NewDecoder(resp.Body).Decode(&res); err != nil { if err := json.NewDecoder(resp.Body).Decode(&res); err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback page=%d json.Decode err: %v\n", page, err)
return nil, err return nil, err
} }
@@ -646,15 +666,29 @@ func (c *UniversalClient) FindInstanceByDisplayName(ctx context.Context, service
break break
} }
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback page=%d has %d results\n", page, len(res.Results))
for _, item := range res.Results { for _, item := range res.Results {
if item.ServiceId == serviceId && strings.EqualFold(item.DisplayName, displayName) { matchSvc := item.ServiceId == serviceId
matchName := strings.EqualFold(item.DisplayName, displayName)
if matchSvc || matchName {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback item uid=%s name=%q svcId=%d matchSvc=%v matchName=%v\n",
item.InstanceUid, item.DisplayName, item.ServiceId, matchSvc, matchName)
}
if matchSvc && matchName {
state, err := c.GetInstanceStateRaw(ctx, item.InstanceUid) state, err := c.GetInstanceStateRaw(ctx, item.InstanceUid)
if err != nil { if err != nil {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback GetInstanceStateRaw err for uid=%s: %v\n", item.InstanceUid, err)
continue continue
} }
if state != nil && !isInstanceDeleted(state) { if state == nil {
found = append(found, *state) fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback GetInstanceStateRaw returned nil for uid=%s\n", item.InstanceUid)
continue
} }
if isInstanceDeleted(state) {
fmt.Fprintf(os.Stderr, "[FIND-DEBUG] fallback GetInstanceStateRaw returned deleted for uid=%s (status=%q)\n", item.InstanceUid, state.ExplainedStatus)
continue
}
found = append(found, *state)
} }
} }
+1 -1
View File
@@ -17,7 +17,7 @@ import (
) )
var ( var (
version string = "5.0.65" version string = "5.0.66"
) )
func main() { func main() {