Release 0.68.6 PR#2213
Conversation
There was a problem hiding this comment.
1 issue found across 10 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="internal/controller/operator/factory/reconcile/statefulset.go">
<violation number="1" location="internal/controller/operator/factory/reconcile/statefulset.go:224">
P2: The early return skips syncing `status.currentReplicas` when `currentRevision` is already up to date, so replica status can remain stale on later reconciles/scale events.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com>
Signed-off-by: Vadim Rutkovsky <vadim@vrutkovs.eu> Co-authored-by: Vadim Rutkovsky <vadim@vrutkovs.eu>
…hen HPA enabled on a storage (#2119) * [vm|vl|vt]cluster: properly generate storageNode command line flags when HPA enabled on a storage * Update docs/CHANGELOG.md Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> * apply suggestions --------- Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> Signed-off-by: Vadim Rutkovsky <vadim@vrutkovs.eu> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Co-authored-by: Vadim Rutkovsky <vadim@vrutkovs.eu>
* tests: add more reconcile status change e2e tests * fix: nitpick in status update logic
There was a problem hiding this comment.
10 issues found across 42 files (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/main.yaml">
<violation number="1" location=".github/workflows/main.yaml:63">
P0: Unresolved merge conflict markers in CI workflow. The `<<<<<<< HEAD`, `|||||||`, `=======`, `>>>>>>>` markers are present across all action steps, making the YAML unparseable and blocking all CI runs.</violation>
</file>
<file name=".github/workflows/docs.yaml">
<violation number="1" location=".github/workflows/docs.yaml:23">
P0: Unresolved merge conflict markers left in workflow YAML. The file has `<<<<<<< HEAD` / `|||||||` / `=======` / `>>>>>>>` blocks at 4 action steps, making the YAML invalid and breaking CI.</violation>
</file>
<file name=".github/workflows/crds.yaml">
<violation number="1" location=".github/workflows/crds.yaml:19">
P0: Unresolved merge conflict markers (`<<<<<<<`, `|||||||`, `=======`, `>>>>>>>`) in YAML workflow file — the GitHub Actions runner will fail to parse this as valid YAML, breaking the entire release workflow.</violation>
</file>
<file name=".github/workflows/sandbox.yaml">
<violation number="1" location=".github/workflows/sandbox.yaml:28">
P0: Unresolved merge conflict markers left in the workflow file — YAML parser will reject the file and the workflow will not run.</violation>
</file>
<file name=".github/workflows/release.yaml">
<violation number="1" location=".github/workflows/release.yaml:17">
P1: Unresolved merge-conflict markers were committed into the workflow. This makes the release workflow YAML invalid and blocks release automation.</violation>
</file>
<file name="Makefile">
<violation number="1" location="Makefile:461">
P2: Shell `&&`/`||` chain masks allure command failures. If `./allure-results` exists but `npx allure awesome` exits non-zero, the `||` echo runs and the recipe succeeds silently, hiding genuine report generation errors.</violation>
</file>
<file name="cmd/config-reloader/k8s_watch.go">
<violation number="1" location="cmd/config-reloader/k8s_watch.go:87">
P2: Dropping secret watch events can miss the final config change and keep local config outdated. With default `resync-interval=0`, there is no guaranteed recovery path after a dropped event.</violation>
</file>
<file name="cmd/config-reloader/main.go">
<violation number="1" location="cmd/config-reloader/main.go:281">
P2: waitDelay ignores context cancellation when delayInterval is 0, so shutdown can still trigger an extra reload call. This can produce spurious reload/logging and delay graceful stop if reload path blocks.</violation>
</file>
<file name="api/operator/v1beta1/vmrule_types.go">
<violation number="1" location="api/operator/v1beta1/vmrule_types.go:33">
P3: `+patchStrategy=merge`, `+patchMergeKey=name` comment annotations and `patchStrategy:"merge" patchMergeKey:"name"` struct tags are dead code for this CRD type — controller-gen ignores them, and the k8s API server does not read struct tags for CRD strategic-merge-patch. Only `+listType=map`/`+listMapKey=name` enable server-side apply merge behavior for CRDs.</violation>
</file>
<file name="internal/controller/operator/factory/vmanomaly/config/config_test.go">
<violation number="1" location="internal/controller/operator/factory/vmanomaly/config/config_test.go:546">
P1: Test expects `exact: true` in config output but backtestingScheduler struct has no `Exact` field — test will fail under yaml.UnmarshalStrict</violation>
</file>
Tip: instead of fixing issues one by one fix them all with cubic
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
| SAVED=$((AFTER-BEFORE)) | ||
| echo "Saved $(formatByteCount $SAVED)" | ||
| - name: Checkout code | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
P0: Unresolved merge conflict markers in CI workflow. The <<<<<<< HEAD, |||||||, =======, >>>>>>> markers are present across all action steps, making the YAML unparseable and blocking all CI runs.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/main.yaml, line 63:
<comment>Unresolved merge conflict markers in CI workflow. The `<<<<<<< HEAD`, `|||||||`, `=======`, `>>>>>>>` markers are present across all action steps, making the YAML unparseable and blocking all CI runs.</comment>
<file context>
@@ -60,30 +60,60 @@ jobs:
SAVED=$((AFTER-BEFORE))
echo "Saved $(formatByteCount $SAVED)"
- name: Checkout code
+<<<<<<< HEAD
uses: actions/checkout@v5
+||||||| parent of 34bf0a5895 (pin actions to full-length commit SHAs (#2168))
</file context>
| @@ -20,20 +20,38 @@ jobs: | |||
| url: https://docs.victoriametrics.com/operator | |||
There was a problem hiding this comment.
P0: Unresolved merge conflict markers left in workflow YAML. The file has <<<<<<< HEAD / ||||||| / ======= / >>>>>>> blocks at 4 action steps, making the YAML invalid and breaking CI.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/docs.yaml, line 23:
<comment>Unresolved merge conflict markers left in workflow YAML. The file has `<<<<<<< HEAD` / `|||||||` / `=======` / `>>>>>>>` blocks at 4 action steps, making the YAML invalid and breaking CI.</comment>
<file context>
@@ -20,20 +20,38 @@ jobs:
url: https://docs.victoriametrics.com/operator
steps:
- name: Checkout operator repo
+<<<<<<< HEAD
uses: actions/checkout@v5
+||||||| parent of 34bf0a5895 (pin actions to full-length commit SHAs (#2168))
</file context>
| name: docs | ||
| steps: | ||
| - name: Check out operator code | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
P0: Unresolved merge conflict markers (<<<<<<<, |||||||, =======, >>>>>>>) in YAML workflow file — the GitHub Actions runner will fail to parse this as valid YAML, breaking the entire release workflow.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/crds.yaml, line 19:
<comment>Unresolved merge conflict markers (`<<<<<<<`, `|||||||`, `=======`, `>>>>>>>`) in YAML workflow file — the GitHub Actions runner will fail to parse this as valid YAML, breaking the entire release workflow.</comment>
<file context>
@@ -16,22 +16,40 @@ jobs:
name: docs
steps:
- name: Check out operator code
+<<<<<<< HEAD
uses: actions/checkout@v5
+||||||| parent of 34bf0a5895 (pin actions to full-length commit SHAs (#2168))
</file context>
| pages: write | ||
| steps: | ||
| - name: Checkout code | ||
| <<<<<<< HEAD |
There was a problem hiding this comment.
P1: Unresolved merge-conflict markers were committed into the workflow. This makes the release workflow YAML invalid and blocks release automation.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/release.yaml, line 17:
<comment>Unresolved merge-conflict markers were committed into the workflow. This makes the release workflow YAML invalid and blocks release automation.</comment>
<file context>
@@ -14,14 +14,32 @@ jobs:
pages: write
steps:
- name: Checkout code
+<<<<<<< HEAD
uses: actions/checkout@v5
+||||||| parent of 34bf0a5895 (pin actions to full-length commit SHAs (#2168))
</file context>
| fit_every: 1h | ||
| from_s: 1000 | ||
| to_s: 2000 | ||
| exact: true |
There was a problem hiding this comment.
P1: Test expects exact: true in config output but backtestingScheduler struct has no Exact field — test will fail under yaml.UnmarshalStrict
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At internal/controller/operator/factory/vmanomaly/config/config_test.go, line 546:
<comment>Test expects `exact: true` in config output but backtestingScheduler struct has no `Exact` field — test will fail under yaml.UnmarshalStrict</comment>
<file context>
@@ -300,14 +300,314 @@ monitoring:
+ fit_every: 1h
+ from_s: 1000
+ to_s: 2000
+ exact: true
+ infer_every: 5m
+reader:
</file context>
| .PHONY: allure-report | ||
| allure-report: | ||
| npx allure awesome --single-file ./allure-results -o ./allure-report | ||
| @[ -d ./allure-results ] && npx allure awesome --single-file ./allure-results -o ./allure-report || echo "allure-results dir not found, skipping report generation" |
There was a problem hiding this comment.
P2: Shell &&/|| chain masks allure command failures. If ./allure-results exists but npx allure awesome exits non-zero, the || echo runs and the recipe succeeds silently, hiding genuine report generation errors.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 461:
<comment>Shell `&&`/`||` chain masks allure command failures. If `./allure-results` exists but `npx allure awesome` exits non-zero, the `||` echo runs and the recipe succeeds silently, hiding genuine report generation errors.</comment>
<file context>
@@ -458,7 +458,7 @@ $(MIRRORD_BIN): $(LOCALBIN)
.PHONY: allure-report
allure-report:
- npx allure awesome --single-file ./allure-results -o ./allure-report
+ @[ -d ./allure-results ] && npx allure awesome --single-file ./allure-results -o ./allure-report || echo "allure-results dir not found, skipping report generation"
# go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist
</file context>
| @[ -d ./allure-results ] && npx allure awesome --single-file ./allure-results -o ./allure-report || echo "allure-results dir not found, skipping report generation" | |
| @if [ -d ./allure-results ]; then npx allure awesome --single-file ./allure-results -o ./allure-report; else echo "allure-results dir not found, skipping report generation"; fi |
| select { | ||
| case syncChan <- syncEvent{op: "update", obj: s}: | ||
| default: | ||
| logger.Infof("syncChan full, dropping update event for secret: %s", s.Name) |
There was a problem hiding this comment.
P2: Dropping secret watch events can miss the final config change and keep local config outdated. With default resync-interval=0, there is no guaranteed recovery path after a dropped event.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At cmd/config-reloader/k8s_watch.go, line 87:
<comment>Dropping secret watch events can miss the final config change and keep local config outdated. With default `resync-interval=0`, there is no guaranteed recovery path after a dropped event.</comment>
<file context>
@@ -73,15 +73,27 @@ func newKubernetesWatcher(ctx context.Context, secretName, namespace string) (*k
+ select {
+ case syncChan <- syncEvent{op: "update", obj: s}:
+ default:
+ logger.Infof("syncChan full, dropping update event for secret: %s", s.Name)
+ }
},
</file context>
| if *delayInterval > 0 { | ||
| t := time.NewTimer(*delayInterval) | ||
| defer t.Stop() | ||
| select { |
There was a problem hiding this comment.
P2: waitDelay ignores context cancellation when delayInterval is 0, so shutdown can still trigger an extra reload call. This can produce spurious reload/logging and delay graceful stop if reload path blocks.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At cmd/config-reloader/main.go, line 281:
<comment>waitDelay ignores context cancellation when delayInterval is 0, so shutdown can still trigger an extra reload call. This can produce spurious reload/logging and delay graceful stop if reload path blocks.</comment>
<file context>
@@ -283,6 +274,25 @@ func (c *cfgWatcher) close() {
+ if *delayInterval > 0 {
+ t := time.NewTimer(*delayInterval)
+ defer t.Stop()
+ select {
+ case <-t.C:
+ case <-ctx.Done():
</file context>
| // +patchStrategy=merge | ||
| // +listType=map | ||
| // +listMapKey=name | ||
| Groups []RuleGroup `json:"groups" patchStrategy:"merge" patchMergeKey:"name"` |
There was a problem hiding this comment.
P3: +patchStrategy=merge, +patchMergeKey=name comment annotations and patchStrategy:"merge" patchMergeKey:"name" struct tags are dead code for this CRD type — controller-gen ignores them, and the k8s API server does not read struct tags for CRD strategic-merge-patch. Only +listType=map/+listMapKey=name enable server-side apply merge behavior for CRDs.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At api/operator/v1beta1/vmrule_types.go, line 33:
<comment>`+patchStrategy=merge`, `+patchMergeKey=name` comment annotations and `patchStrategy:"merge" patchMergeKey:"name"` struct tags are dead code for this CRD type — controller-gen ignores them, and the k8s API server does not read struct tags for CRD strategic-merge-patch. Only `+listType=map`/`+listMapKey=name` enable server-side apply merge behavior for CRDs.</comment>
<file context>
@@ -26,7 +26,11 @@ var initVMAlertTemplatesOnce sync.Once
+ // +patchStrategy=merge
+ // +listType=map
+ // +listMapKey=name
+ Groups []RuleGroup `json:"groups" patchStrategy:"merge" patchMergeKey:"name"`
}
</file context>
Signed-off-by: Rudransh Shrivastava <rudransh@victoriametrics.com>
…ed (#2172) * fix: emitting config-reloader signals when delay-interval is customized Each reload called a separate goroutine, instead we should use delay-interval * fix: rework to avoid using goto * Update cmd/config-reloader/main.go Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> --------- Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> Co-authored-by: Andrii Chubatiuk <achubatiuk@victoriametrics.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
Signed-off-by: immanuwell <pchpr.00@list.ru>
Changelog [v1.145.0](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/docs/victoriametrics/changelog/CHANGELOG.md#v11450) Signed-off-by: Max Kotliar <mkotlyar@victoriametrics.com>
* vmanomaly: fix marshalling of verify_tls Sync behaviour of "verify_tls" with vmanomaly itself: accept 3 values: true / false / path to CA to be used for verification. * vmanomaly: add tests for boolean TLS insecure skip verify
Thanks for contribution!
* fix: drop events when channel overflows to avoid blocking it * fix: don't block on sleep when ctx is cancelled * fix: add informer goroutine to the waitgroup * fix: don't bump contentUpdateErrorsTotal metric when request cancelled Also fixes a typo
* feat: ensure that all operator-controlled resources have victoriametrics_app=true metric label * docs: update 0.71.0 release details * Apply suggestion from @AndrewChubatiuk Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> --------- Signed-off-by: Andrii Chubatiuk <andrew.chubatiuk@gmail.com> Co-authored-by: Andrii Chubatiuk <achubatiuk@victoriametrics.com>
22ab1e3 to
eabbd6e
Compare
No description provided.