Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🔖 🤖 Release v1.7.15 #2766

Merged
merged 1 commit into from
Dec 5, 2024
Merged

🔖 🤖 Release v1.7.15 #2766

merged 1 commit into from
Dec 5, 2024

Conversation

vdaas-ci
Copy link
Collaborator

@vdaas-ci vdaas-ci commented Dec 5, 2024

Release PR for v1.7.15.

Summary by CodeRabbit

Release Notes for Version 1.7.15

  • New Features

    • Introduced affinity rules for job templates.
    • Added a job for deleting expired indices.
    • Implemented QUIC support.
    • Released an example-client Docker image.
  • Bug Fixes

    • Resolved a double-free error in the GetGraphStatistics API.
    • Corrected installation commands for arm64 architecture.
  • Documentation

    • Updated links to GoDoc and Helm Chart references for version 1.7.15.
    • Added Docker pull commands for various components.
  • Version Updates

    • Incremented version numbers across all components to v1.7.15.

Copy link

cloudflare-workers-and-pages bot commented Dec 5, 2024

Deploying vald with  Cloudflare Pages  Cloudflare Pages

Latest commit: df42bf6
Status: ✅  Deploy successful!
Preview URL: https://13b611d1.vald.pages.dev
Branch Preview URL: https://prepare-release-v1-7.vald.pages.dev

View logs

Copy link
Contributor

coderabbitai bot commented Dec 5, 2024

📝 Walkthrough

Walkthrough

The pull request introduces version v1.7.15 across various components of the Vald project. It updates the CHANGELOG.md to document new features, bug fixes, and refactoring efforts, including the addition of affinity to job templates and QUIC support. The Docker images for multiple components are updated to v1.7.15. Documentation links are also revised. Additionally, several Kubernetes manifests are modified to reflect the new version, including updates to labels, annotations, and image tags, while some files related to index deletion functionality are deleted.

Changes

File Path Change Summary
CHANGELOG.md Added version v1.7.15, updated Docker pull commands, and revised documentation links.
charts/vald-benchmark-operator/Chart.yaml Updated version from v1.7.14 to v1.7.15.
charts/vald-benchmark-operator/README.md Updated chart version and image tag from v1.7.14 to v1.7.15.
charts/vald-benchmark-operator/values.yaml Updated image tags from v1.7.14 to v1.7.15.
charts/vald-helm-operator/Chart.yaml Updated version from v1.7.14 to v1.7.15.
charts/vald-helm-operator/README.md Updated version references and commands to v1.7.15.
charts/vald-helm-operator/values.yaml Updated image tag from v1.7.14 to v1.7.15.
charts/vald-readreplica/Chart.yaml Updated version from v1.7.14 to v1.7.15.
charts/vald-readreplica/README.md Updated chart version from v1.7.14 to v1.7.15.
charts/vald/Chart.yaml Updated version from v1.7.14 to v1.7.15.
charts/vald/values.yaml Updated image tag from v1.7.14 to v1.7.15.
k8s/agent/ngt/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/agent/pdb.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/agent/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/agent/statefulset.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/agent/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/clusterrole.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/clusterrolebinding.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated checksum.
k8s/discoverer/pdb.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/serviceaccount.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/discoverer/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/ing.yaml Updated Helm chart and app version annotations to v1.7.15.
k8s/gateway/gateway/lb/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/lb/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated checksum.
k8s/gateway/gateway/lb/hpa.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/lb/pdb.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/lb/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/lb/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/clusterrole.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/clusterrolebinding.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated checksum.
k8s/gateway/gateway/mirror/hpa.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/pdb.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/serviceaccount.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/gateway/gateway/mirror/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/index/job/correction/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/index/job/correction/cronjob.yaml Updated Helm chart and app version labels to v1.7.15, added affinity rules.
k8s/index/job/creation/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/index/job/creation/cronjob.yaml Updated Helm chart and app version labels to v1.7.15, added affinity rules.
k8s/index/job/deletion/configmap.yaml Deleted configmap.yaml.
k8s/index/job/deletion/cronjob.yaml Deleted cronjob.yaml.
k8s/index/job/save/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/index/job/save/cronjob.yaml Updated Helm chart and app version labels to v1.7.15, added affinity rules.
k8s/index/operator/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/index/operator/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated checksum.
k8s/index/operator/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/manager/index/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/manager/index/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated checksum.
k8s/manager/index/pdb.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/manager/index/priorityclass.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/manager/index/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/operator/helm/crds/valdrelease.yaml Added affinity, nodeSelector, and tolerations properties to the schema.
k8s/operator/helm/operator.yaml Updated Helm chart and app version labels to v1.7.15, updated container image.
k8s/operator/helm/svc.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/readreplica/configmap.yaml Updated Helm chart and app version labels to v1.7.15.
k8s/tools/benchmark/operator/configmap.yaml Updated Helm chart and app version labels to v1.7.15, updated image tag.
k8s/tools/benchmark/operator/deployment.yaml Updated Helm chart and app version labels to v1.7.15, updated container image.
k8s/tools/benchmark/operator/service.yaml Updated Helm chart and app version labels to v1.7.15.
versions/VALD_VERSION Updated version from v1.7.14 to v1.7.15.

Possibly related PRs

Suggested labels

actions/backport/release/v1.7

Suggested reviewers

  • vankichi
  • kpango
  • kmrmt

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@vdaas-ci
Copy link
Collaborator Author

vdaas-ci commented Dec 5, 2024

[CHATOPS:HELP] ChatOps commands.

  • 🙆‍♀️ /approve - approve
  • 🍱 /format - format codes and add licenses
  • /gen-test - generate test codes
  • 🏷️ /label - add labels
  • 🔚 2️⃣ 🔚 /label actions/e2e-deploy - run E2E deploy & integration test

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Outside diff range and nitpick comments (4)
k8s/index/job/save/cronjob.yaml (2)

78-86: Consider adding default affinity rules for better pod distribution

The empty affinity rules provide flexibility but could benefit from default configurations to ensure proper pod distribution and resource utilization.

Consider adding these common patterns:

 affinity:
   nodeAffinity:
-    preferredDuringSchedulingIgnoredDuringExecution: []
+    preferredDuringSchedulingIgnoredDuringExecution:
+    - weight: 100
+      preference:
+        matchExpressions:
+        - key: node-role.kubernetes.io/worker
+          operator: Exists
   podAntiAffinity:
-    preferredDuringSchedulingIgnoredDuringExecution: []
+    preferredDuringSchedulingIgnoredDuringExecution:
+    - weight: 100
+      podAffinityTerm:
+        labelSelector:
+          matchLabels:
+            app: vald-index-save
+        topologyKey: kubernetes.io/hostname

Line range hint 63-67: Use dynamic namespace reference in init containers

The init containers use a hardcoded "default" namespace which could cause issues when deploying to different namespaces.

Replace the hardcoded namespace with the pod's namespace:

-                 until [ "$(wget --server-response --spider --quiet http://vald-agent.default.svc.cluster.local:3001/readiness 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do
+                 until [ "$(wget --server-response --spider --quiet http://vald-agent.${MY_POD_NAMESPACE}.svc.cluster.local:3001/readiness 2>&1 | awk 'NR==1{print $2}')" == "200" ]; do
charts/vald-helm-operator/README.md (2)

29-30: Improve command formatting while maintaining version consistency

The CRD URLs are correctly updated to v1.7.15. However, the command formatting can be improved per markdown best practices.

Consider updating the command block to show both input and sample output:

-    $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.15/charts/vald-helm-operator/crds/valdrelease.yaml
-    $ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.15/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml
+```console
+kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.15/charts/vald-helm-operator/crds/valdrelease.yaml
+customresourcedefinition.apiextensions.k8s.io/valdreleases.vald.vdaas.org replaced
+
+kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.15/charts/vald-helm-operator/crds/valdhelmoperatorrelease.yaml
+customresourcedefinition.apiextensions.k8s.io/valdhelmoperatorreleases.vald.vdaas.org replaced
+```
🧰 Tools
🪛 Markdownlint (0.35.0)

29-29: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


30-30: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


35-35: Improve operator update command formatting

The version in the patch command is correctly updated to v1.7.15. However, the command formatting can be improved.

Consider updating the command block to show both input and sample output:

-    $ kubectl patch vhor vhor-release -p '{"spec":{"image":{"tag":"v1.7.15"}}}'
+```console
+kubectl patch vhor vhor-release -p '{"spec":{"image":{"tag":"v1.7.15"}}}'
+valdhelmoperatorrelease.vald.vdaas.org/vhor-release patched
+```
🧰 Tools
🪛 Markdownlint (0.35.0)

35-35: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 8f1ae33 and df42bf6.

📒 Files selected for processing (64)
  • CHANGELOG.md (1 hunks)
  • charts/vald-benchmark-operator/Chart.yaml (1 hunks)
  • charts/vald-benchmark-operator/README.md (3 hunks)
  • charts/vald-benchmark-operator/values.yaml (2 hunks)
  • charts/vald-helm-operator/Chart.yaml (1 hunks)
  • charts/vald-helm-operator/README.md (3 hunks)
  • charts/vald-helm-operator/values.yaml (1 hunks)
  • charts/vald-readreplica/Chart.yaml (1 hunks)
  • charts/vald-readreplica/README.md (1 hunks)
  • charts/vald/Chart.yaml (1 hunks)
  • charts/vald/values.yaml (1 hunks)
  • k8s/agent/ngt/configmap.yaml (1 hunks)
  • k8s/agent/pdb.yaml (1 hunks)
  • k8s/agent/priorityclass.yaml (1 hunks)
  • k8s/agent/statefulset.yaml (1 hunks)
  • k8s/agent/svc.yaml (1 hunks)
  • k8s/discoverer/clusterrole.yaml (1 hunks)
  • k8s/discoverer/clusterrolebinding.yaml (1 hunks)
  • k8s/discoverer/configmap.yaml (1 hunks)
  • k8s/discoverer/deployment.yaml (2 hunks)
  • k8s/discoverer/pdb.yaml (1 hunks)
  • k8s/discoverer/priorityclass.yaml (1 hunks)
  • k8s/discoverer/serviceaccount.yaml (1 hunks)
  • k8s/discoverer/svc.yaml (1 hunks)
  • k8s/gateway/gateway/ing.yaml (1 hunks)
  • k8s/gateway/gateway/lb/configmap.yaml (1 hunks)
  • k8s/gateway/gateway/lb/deployment.yaml (2 hunks)
  • k8s/gateway/gateway/lb/hpa.yaml (1 hunks)
  • k8s/gateway/gateway/lb/pdb.yaml (1 hunks)
  • k8s/gateway/gateway/lb/priorityclass.yaml (1 hunks)
  • k8s/gateway/gateway/lb/svc.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/clusterrole.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/clusterrolebinding.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/configmap.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/deployment.yaml (2 hunks)
  • k8s/gateway/gateway/mirror/hpa.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/pdb.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/priorityclass.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/serviceaccount.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/svc.yaml (1 hunks)
  • k8s/index/job/correction/configmap.yaml (1 hunks)
  • k8s/index/job/correction/cronjob.yaml (3 hunks)
  • k8s/index/job/creation/configmap.yaml (1 hunks)
  • k8s/index/job/creation/cronjob.yaml (3 hunks)
  • k8s/index/job/deletion/configmap.yaml (0 hunks)
  • k8s/index/job/deletion/cronjob.yaml (0 hunks)
  • k8s/index/job/save/configmap.yaml (1 hunks)
  • k8s/index/job/save/cronjob.yaml (3 hunks)
  • k8s/index/operator/configmap.yaml (1 hunks)
  • k8s/index/operator/deployment.yaml (2 hunks)
  • k8s/index/operator/priorityclass.yaml (1 hunks)
  • k8s/manager/index/configmap.yaml (1 hunks)
  • k8s/manager/index/deployment.yaml (2 hunks)
  • k8s/manager/index/pdb.yaml (1 hunks)
  • k8s/manager/index/priorityclass.yaml (1 hunks)
  • k8s/manager/index/svc.yaml (1 hunks)
  • k8s/operator/helm/crds/valdrelease.yaml (9 hunks)
  • k8s/operator/helm/operator.yaml (2 hunks)
  • k8s/operator/helm/svc.yaml (1 hunks)
  • k8s/readreplica/configmap.yaml (1 hunks)
  • k8s/tools/benchmark/operator/configmap.yaml (2 hunks)
  • k8s/tools/benchmark/operator/deployment.yaml (2 hunks)
  • k8s/tools/benchmark/operator/service.yaml (1 hunks)
  • versions/VALD_VERSION (1 hunks)
💤 Files with no reviewable changes (2)
  • k8s/index/job/deletion/cronjob.yaml
  • k8s/index/job/deletion/configmap.yaml
✅ Files skipped from review due to trivial changes (50)
  • versions/VALD_VERSION
  • charts/vald/Chart.yaml
  • charts/vald-readreplica/Chart.yaml
  • charts/vald-helm-operator/Chart.yaml
  • k8s/manager/index/svc.yaml
  • k8s/index/job/correction/configmap.yaml
  • charts/vald-readreplica/README.md
  • k8s/agent/svc.yaml
  • k8s/discoverer/clusterrolebinding.yaml
  • k8s/agent/ngt/configmap.yaml
  • k8s/discoverer/clusterrole.yaml
  • k8s/discoverer/svc.yaml
  • k8s/index/job/creation/configmap.yaml
  • charts/vald-benchmark-operator/README.md
  • k8s/discoverer/priorityclass.yaml
  • k8s/agent/priorityclass.yaml
  • k8s/gateway/gateway/lb/svc.yaml
  • k8s/index/operator/priorityclass.yaml
  • k8s/manager/index/priorityclass.yaml
  • k8s/agent/statefulset.yaml
  • k8s/manager/index/pdb.yaml
  • k8s/tools/benchmark/operator/service.yaml
  • k8s/agent/pdb.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/gateway/gateway/lb/priorityclass.yaml
  • k8s/readreplica/configmap.yaml
  • k8s/gateway/gateway/mirror/clusterrolebinding.yaml
  • k8s/index/operator/configmap.yaml
  • charts/vald-benchmark-operator/values.yaml
  • k8s/gateway/gateway/mirror/serviceaccount.yaml
  • k8s/gateway/gateway/lb/pdb.yaml
  • k8s/gateway/gateway/ing.yaml
  • k8s/operator/helm/svc.yaml
  • k8s/discoverer/configmap.yaml
  • k8s/gateway/gateway/lb/hpa.yaml
  • k8s/gateway/gateway/mirror/svc.yaml
  • k8s/discoverer/pdb.yaml
  • k8s/gateway/gateway/mirror/configmap.yaml
  • k8s/gateway/gateway/mirror/priorityclass.yaml
  • k8s/gateway/gateway/mirror/hpa.yaml
  • k8s/gateway/gateway/lb/configmap.yaml
  • k8s/manager/index/configmap.yaml
  • k8s/discoverer/serviceaccount.yaml
  • k8s/tools/benchmark/operator/configmap.yaml
  • k8s/operator/helm/operator.yaml
  • k8s/gateway/gateway/mirror/pdb.yaml
  • k8s/tools/benchmark/operator/deployment.yaml
  • k8s/gateway/gateway/lb/deployment.yaml
  • k8s/gateway/gateway/mirror/clusterrole.yaml
  • charts/vald/values.yaml
🧰 Additional context used
🪛 Markdownlint (0.35.0)
charts/vald-helm-operator/README.md

29-29: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


30-30: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


35-35: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)

🔇 Additional comments (18)
charts/vald-benchmark-operator/Chart.yaml (1)

35-35: Version update looks good

Version increment from v1.7.14 to v1.7.15 aligns with the release objectives.

k8s/index/operator/deployment.yaml (2)

23-23: Version labels are consistent

Version labels have been correctly updated to v1.7.15, maintaining consistency across the release.

Also applies to: 26-26


49-49: Verify configmap changes

The configmap checksum has been updated. Let's verify the associated changes.

✅ Verification successful

Configmap changes verified - version update only

The configmap changes are related to version updates from v1.7.14 to v1.7.15, with no functional changes to the configuration. The checksum update reflects this version change in labels and chart versions.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for changes in the index operator configmap

# Find and show configmap changes
rg -l "vald-index-operator-config" | while read -r file; do
  echo "=== Changes in $file ==="
  git diff HEAD^..HEAD -- "$file" || true
done

Length of output: 54565

k8s/discoverer/deployment.yaml (2)

23-23: Version labels are consistent

Version labels have been correctly updated to v1.7.15, maintaining consistency with other components.

Also applies to: 26-26


49-49: Verify discoverer configmap changes

The discoverer configmap checksum has been updated. Let's verify the associated changes.

✅ Verification successful

Based on the git diff results, I can see that the changes in both the deployment and configmap files are only related to version updates from v1.7.14 to v1.7.15 in the helm chart labels and metadata. The configmap's actual configuration content (under data.config.yaml) remains unchanged, which explains why the checksum was updated in the deployment file.

Helm chart version update verified

The discoverer configmap checksum change is due to the Helm chart version update from v1.7.14 to v1.7.15. No functional changes were made to the configmap's configuration data.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for changes in the discoverer configmap

# Find and show configmap changes
rg -l "vald-discoverer-config" | while read -r file; do
  echo "=== Changes in $file ==="
  git diff HEAD^..HEAD -- "$file" || true
done

Length of output: 2039

k8s/index/job/creation/cronjob.yaml (2)

30-30: Review the scheduling frequency

The current schedule "* * * * *" runs the job every minute, which seems too frequent for an index creation job and could lead to resource contention.

Consider adjusting to a less frequent schedule based on your indexing requirements.


78-86: Empty affinity rules require configuration

See the previous recommendation for adding default affinity rules in the vald-index-save CronJob.

k8s/index/job/correction/cronjob.yaml (2)

23-27: Version updates are consistent

The version updates to v1.7.15 are consistent across all labels and annotations.

Also applies to: 41-45


78-86: Empty affinity rules require configuration

See the previous recommendation for adding default affinity rules in the vald-index-save CronJob.

k8s/gateway/gateway/mirror/deployment.yaml (2)

23-23: Version labels are consistently updated

The version labels have been correctly updated from v1.7.14 to v1.7.15, maintaining consistency with the release version.

Also applies to: 26-26


48-48: Verify configmap changes

The configmap checksum has changed, indicating modifications to the configuration.

✅ Verification successful

Let me gather more information about the configmap changes by checking its content.


Let me check the git history to see what changes were made to the configmap.


Configmap changes verified - version update only

The configmap changes are limited to version updates in the metadata labels:

  • helm.sh/chart updated from vald-v1.7.14 to vald-v1.7.15
  • app.kubernetes.io/version updated from v1.7.14 to v1.7.15

The actual configuration content remains unchanged. The checksum change in the deployment is expected due to these version label updates.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the changes in the referenced configmap

# Check the configmap content
rg -A 5 "name: vald-mirror-gateway-config" 

Length of output: 1443


Script:

#!/bin/bash
# Check the content of the configmap
cat k8s/gateway/gateway/mirror/configmap.yaml

Length of output: 10028


Script:

#!/bin/bash
# Check the recent changes to the configmap file
git diff HEAD~1 k8s/gateway/gateway/mirror/configmap.yaml

Length of output: 9724

k8s/manager/index/deployment.yaml (2)

23-23: Version labels are consistently updated

The version labels have been correctly updated from v1.7.14 to v1.7.15, maintaining consistency with the release version.

Also applies to: 26-26


49-49: Verify configmap changes

The configmap checksum has changed, indicating modifications to the configuration.

✅ Verification successful

Let me gather more information about the configmap changes by checking its content and history.


Configmap changes are routine and expected

The configmap checksum change is expected as it's part of the standard Helm templating process. The configmap content shows a valid and well-structured configuration for the vald-manager-index component with no concerning changes. The checksum is automatically generated during deployment and doesn't indicate any issues.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the changes in the referenced configmap

# Check the configmap content
rg -A 5 "name: vald-manager-index-config"

Length of output: 1139


Script:

#!/bin/bash
# Check the actual content of the configmap
cat k8s/manager/index/configmap.yaml

# Check if there are any other related configmap files
fd configmap.yaml

Length of output: 14527

charts/vald-helm-operator/values.yaml (1)

30-30: Image tag is correctly updated

The image tag has been properly updated from v1.7.14 to v1.7.15, aligning with the release version.

charts/vald-helm-operator/README.md (2)

5-5: LGTM: Version update is consistent

The chart version update to v1.7.15 aligns with the release version.


82-82: LGTM: Configuration table update is consistent

The default image tag in the configuration table is correctly updated to v1.7.15, maintaining consistency with other version updates.

CHANGELOG.md (1)

Line range hint 1-2766: LGTM!

The changelog follows a consistent format and provides comprehensive documentation of changes across Vald releases. Each version is well structured with:

  • Docker image references
  • Documentation links
  • Categorized changes with PR links
k8s/operator/helm/crds/valdrelease.yaml (1)

8409-8453: LGTM! Well-structured affinity configurations added

The addition of affinity configurations across multiple components (corrector, creator, manager, saver) is well-implemented and follows Kubernetes best practices. These changes:

  • Enable fine-grained control over pod scheduling
  • Support advanced deployment strategies through node/pod affinity rules
  • Maintain consistency across different components
  • Include proper schema validation

Also applies to: 9778-9822, 13121-13165

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (6)
k8s/index/job/save/cronjob.yaml (1)

78-86: New affinity rules structure looks good

The addition of empty affinity rules provides a good foundation for future scheduling configurations. The structure follows Kubernetes best practices with both preferred and required scheduling rules for node and pod affinity/anti-affinity.

Consider documenting the intended use of these affinity rules in the deployment guide, as they will be useful for:

  • Controlling pod placement across nodes
  • Ensuring high availability
  • Managing resource distribution
k8s/index/job/creation/cronjob.yaml (1)

78-86: Consider populating affinity rules based on deployment requirements

The newly added affinity rules are currently empty. Consider defining appropriate scheduling preferences to:

  • Ensure high availability
  • Optimize resource utilization
  • Prevent resource contention

Example configuration for podAntiAffinity to ensure job pods are distributed:

 podAntiAffinity:
   preferredDuringSchedulingIgnoredDuringExecution:
-  []
+  - weight: 100
+    podAffinityTerm:
+      labelSelector:
+        matchExpressions:
+          - key: app
+            operator: In
+            values:
+              - vald-index-creation
+      topologyKey: kubernetes.io/hostname
k8s/index/job/correction/cronjob.yaml (1)

78-86: Consider populating affinity rules based on deployment requirements

Similar to the index creation job, the affinity rules are empty. Consider defining appropriate scheduling preferences to:

  • Ensure high availability
  • Optimize resource utilization
  • Prevent resource contention

Example configuration for podAntiAffinity to ensure job pods are distributed:

 podAntiAffinity:
   preferredDuringSchedulingIgnoredDuringExecution:
-  []
+  - weight: 100
+    podAffinityTerm:
+      labelSelector:
+        matchExpressions:
+          - key: app
+            operator: In
+            values:
+              - vald-index-correction
+      topologyKey: kubernetes.io/hostname
k8s/index/operator/configmap.yaml (1)

Line range hint 200-450: Best Practice: Consider using specific image versions instead of nightly

The job templates use the :nightly tag for images, which could lead to inconsistency and unpredictability in production. Consider using specific version tags for better stability and reproducibility.

charts/vald-helm-operator/README.md (1)

5-5: Version updates are consistent across the documentation.

The version has been consistently updated to v1.7.15 across all references in the documentation, including:

  • Chart version
  • CRD upgrade commands
  • Patch command example
  • Default image tag configuration

Consider enhancing command examples with expected output.

The command examples could be more helpful by including example output to help users verify successful execution.

For example:

$ kubectl replace -f https://raw.githubusercontent.com/vdaas/vald/v1.7.15/charts/vald-helm-operator/crds/valdrelease.yaml
customresourcedefinition.apiextensions.k8s.io/valdreleases.vald.vdaas.org replaced

Also applies to: 29-30, 35-35, 82-82

k8s/operator/helm/crds/valdrelease.yaml (1)

8409-8453: Enhanced pod scheduling capabilities with affinity and nodeSelector.

The CRD schema has been improved with the addition of standard Kubernetes pod scheduling controls:

  1. Affinity configurations added to multiple components (corrector, creator, saver) supporting:
    • nodeAffinity
    • podAffinity
    • podAntiAffinity
  2. nodeSelector fields added consistently across components

These additions provide better control over pod placement and improve cluster resource utilization.

Consider documenting recommended affinity patterns for different deployment scenarios in the README.

Also applies to: 9778-9822, 13121-13165, 9085-9087, 10258-10260, 13599-13601

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 8f1ae33 and df42bf6.

📒 Files selected for processing (64)
  • CHANGELOG.md (1 hunks)
  • charts/vald-benchmark-operator/Chart.yaml (1 hunks)
  • charts/vald-benchmark-operator/README.md (3 hunks)
  • charts/vald-benchmark-operator/values.yaml (2 hunks)
  • charts/vald-helm-operator/Chart.yaml (1 hunks)
  • charts/vald-helm-operator/README.md (3 hunks)
  • charts/vald-helm-operator/values.yaml (1 hunks)
  • charts/vald-readreplica/Chart.yaml (1 hunks)
  • charts/vald-readreplica/README.md (1 hunks)
  • charts/vald/Chart.yaml (1 hunks)
  • charts/vald/values.yaml (1 hunks)
  • k8s/agent/ngt/configmap.yaml (1 hunks)
  • k8s/agent/pdb.yaml (1 hunks)
  • k8s/agent/priorityclass.yaml (1 hunks)
  • k8s/agent/statefulset.yaml (1 hunks)
  • k8s/agent/svc.yaml (1 hunks)
  • k8s/discoverer/clusterrole.yaml (1 hunks)
  • k8s/discoverer/clusterrolebinding.yaml (1 hunks)
  • k8s/discoverer/configmap.yaml (1 hunks)
  • k8s/discoverer/deployment.yaml (2 hunks)
  • k8s/discoverer/pdb.yaml (1 hunks)
  • k8s/discoverer/priorityclass.yaml (1 hunks)
  • k8s/discoverer/serviceaccount.yaml (1 hunks)
  • k8s/discoverer/svc.yaml (1 hunks)
  • k8s/gateway/gateway/ing.yaml (1 hunks)
  • k8s/gateway/gateway/lb/configmap.yaml (1 hunks)
  • k8s/gateway/gateway/lb/deployment.yaml (2 hunks)
  • k8s/gateway/gateway/lb/hpa.yaml (1 hunks)
  • k8s/gateway/gateway/lb/pdb.yaml (1 hunks)
  • k8s/gateway/gateway/lb/priorityclass.yaml (1 hunks)
  • k8s/gateway/gateway/lb/svc.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/clusterrole.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/clusterrolebinding.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/configmap.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/deployment.yaml (2 hunks)
  • k8s/gateway/gateway/mirror/hpa.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/pdb.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/priorityclass.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/serviceaccount.yaml (1 hunks)
  • k8s/gateway/gateway/mirror/svc.yaml (1 hunks)
  • k8s/index/job/correction/configmap.yaml (1 hunks)
  • k8s/index/job/correction/cronjob.yaml (3 hunks)
  • k8s/index/job/creation/configmap.yaml (1 hunks)
  • k8s/index/job/creation/cronjob.yaml (3 hunks)
  • k8s/index/job/deletion/configmap.yaml (0 hunks)
  • k8s/index/job/deletion/cronjob.yaml (0 hunks)
  • k8s/index/job/save/configmap.yaml (1 hunks)
  • k8s/index/job/save/cronjob.yaml (3 hunks)
  • k8s/index/operator/configmap.yaml (1 hunks)
  • k8s/index/operator/deployment.yaml (2 hunks)
  • k8s/index/operator/priorityclass.yaml (1 hunks)
  • k8s/manager/index/configmap.yaml (1 hunks)
  • k8s/manager/index/deployment.yaml (2 hunks)
  • k8s/manager/index/pdb.yaml (1 hunks)
  • k8s/manager/index/priorityclass.yaml (1 hunks)
  • k8s/manager/index/svc.yaml (1 hunks)
  • k8s/operator/helm/crds/valdrelease.yaml (9 hunks)
  • k8s/operator/helm/operator.yaml (2 hunks)
  • k8s/operator/helm/svc.yaml (1 hunks)
  • k8s/readreplica/configmap.yaml (1 hunks)
  • k8s/tools/benchmark/operator/configmap.yaml (2 hunks)
  • k8s/tools/benchmark/operator/deployment.yaml (2 hunks)
  • k8s/tools/benchmark/operator/service.yaml (1 hunks)
  • versions/VALD_VERSION (1 hunks)
💤 Files with no reviewable changes (2)
  • k8s/index/job/deletion/configmap.yaml
  • k8s/index/job/deletion/cronjob.yaml
✅ Files skipped from review due to trivial changes (49)
  • versions/VALD_VERSION
  • charts/vald/Chart.yaml
  • charts/vald-helm-operator/Chart.yaml
  • charts/vald-readreplica/README.md
  • k8s/agent/ngt/configmap.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/gateway/gateway/lb/svc.yaml
  • k8s/manager/index/svc.yaml
  • k8s/manager/index/pdb.yaml
  • k8s/gateway/gateway/lb/priorityclass.yaml
  • k8s/agent/priorityclass.yaml
  • k8s/gateway/gateway/mirror/clusterrole.yaml
  • k8s/discoverer/svc.yaml
  • charts/vald-benchmark-operator/README.md
  • k8s/gateway/gateway/lb/hpa.yaml
  • k8s/tools/benchmark/operator/service.yaml
  • k8s/gateway/gateway/mirror/hpa.yaml
  • k8s/gateway/gateway/mirror/pdb.yaml
  • k8s/discoverer/serviceaccount.yaml
  • charts/vald-benchmark-operator/Chart.yaml
  • k8s/gateway/gateway/mirror/priorityclass.yaml
  • k8s/index/job/creation/configmap.yaml
  • k8s/operator/helm/svc.yaml
  • k8s/discoverer/pdb.yaml
  • k8s/index/operator/priorityclass.yaml
  • k8s/gateway/gateway/ing.yaml
  • k8s/discoverer/clusterrolebinding.yaml
  • k8s/discoverer/priorityclass.yaml
  • k8s/discoverer/clusterrole.yaml
  • charts/vald-readreplica/Chart.yaml
  • k8s/gateway/gateway/mirror/serviceaccount.yaml
  • k8s/gateway/gateway/lb/configmap.yaml
  • k8s/agent/statefulset.yaml
  • charts/vald-benchmark-operator/values.yaml
  • k8s/readreplica/configmap.yaml
  • k8s/gateway/gateway/mirror/configmap.yaml
  • k8s/manager/index/priorityclass.yaml
  • k8s/gateway/gateway/lb/pdb.yaml
  • k8s/discoverer/configmap.yaml
  • k8s/gateway/gateway/mirror/clusterrolebinding.yaml
  • k8s/manager/index/configmap.yaml
  • k8s/index/job/correction/configmap.yaml
  • k8s/tools/benchmark/operator/configmap.yaml
  • k8s/tools/benchmark/operator/deployment.yaml
  • k8s/operator/helm/operator.yaml
  • k8s/gateway/gateway/mirror/svc.yaml
  • k8s/agent/svc.yaml
  • charts/vald/values.yaml
  • k8s/agent/pdb.yaml
🧰 Additional context used
🪛 Markdownlint (0.35.0)
charts/vald-helm-operator/README.md

29-29: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


30-30: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)


35-35: null
Dollar signs used before commands without showing output

(MD014, commands-show-output)

🔇 Additional comments (15)
k8s/index/operator/deployment.yaml (2)

23-23: Version updates look consistent

The version updates from v1.7.14 to v1.7.15 align with the release objectives.

Also applies to: 26-26


49-49: Verify corresponding ConfigMap changes

The ConfigMap checksum has been updated, indicating changes in the configuration.

✅ Verification successful

ConfigMap changes verified - version update from v1.7.14 to v1.7.15

The ConfigMap changes have been verified. The diff shows that the changes are related to version updates from v1.7.14 to v1.7.15 across various components, including chart versions and application versions. The core configuration parameters remain unchanged.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify ConfigMap changes between versions

# Check for ConfigMap changes
git diff HEAD^..HEAD -- k8s/index/operator/configmap.yaml

# Verify if ConfigMap exists
if [ $? -ne 0 ]; then
    echo "Checking if ConfigMap exists in current version"
    fd --type f "configmap.yaml" k8s/index/operator/
fi

Length of output: 53110

k8s/discoverer/deployment.yaml (2)

23-23: Version updates look consistent

The version updates from v1.7.14 to v1.7.15 align with the release objectives and match other components.

Also applies to: 26-26


49-49: Verify corresponding ConfigMap changes

The ConfigMap checksum has been updated, indicating changes in the configuration.

✅ Verification successful

ConfigMap changes are minor version updates only

The ConfigMap changes only reflect version updates from v1.7.14 to v1.7.15 in the metadata labels, with no functional configuration changes in the config.yaml content. The checksum update in the deployment is consistent with these metadata changes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify ConfigMap changes between versions

# Check for ConfigMap changes
git diff HEAD^..HEAD -- k8s/discoverer/configmap.yaml

# Verify if ConfigMap exists
if [ $? -ne 0 ]; then
    echo "Checking if ConfigMap exists in current version"
    fd --type f "configmap.yaml" k8s/discoverer/
fi

Length of output: 661

k8s/index/job/save/cronjob.yaml (1)

23-23: Version updates look consistent

The version updates from v1.7.14 to v1.7.15 are consistently applied across all label locations in the CronJob specification.

Also applies to: 27-27, 41-41, 45-45

k8s/gateway/gateway/mirror/deployment.yaml (2)

23-23: Version update looks correct

The version labels have been properly updated from v1.7.14 to v1.7.15.

Also applies to: 26-26


48-48: Verify the configmap changes

The configmap checksum has changed, indicating updates to the configuration. Let's verify these changes for potential impacts.

✅ Verification successful

ConfigMap changes are minor version updates only

The changes in the ConfigMap are limited to version label updates from v1.7.14 to v1.7.15. No functional configuration changes were made to the actual configuration content.

  • Only modified lines:
    • helm.sh/chart: vald-v1.7.14vald-v1.7.15
    • app.kubernetes.io/version: v1.7.14v1.7.15
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check the differences in the configmap
if git show HEAD:k8s/gateway/gateway/mirror/configmap.yaml > /dev/null 2>&1; then
  echo "Comparing current configmap with previous version:"
  git diff HEAD^:k8s/gateway/gateway/mirror/configmap.yaml HEAD:k8s/gateway/gateway/mirror/configmap.yaml
else
  echo "Checking current configmap content:"
  cat k8s/gateway/gateway/mirror/configmap.yaml
fi

Length of output: 9941

k8s/manager/index/deployment.yaml (2)

23-23: Version update looks consistent

The version update from v1.7.14 to v1.7.15 is consistent with the release objectives.

Also applies to: 26-26


49-49: Config map checksum update verified

The config map checksum has been updated, indicating configuration changes. This is expected during a version update.

✅ Verification successful

ConfigMap checksum verification completed

The checksum b9a73b354c6a70dd900f847ddc460eb899032d44810e4b4bba2f9479d2513452 in the deployment annotation matches the current state of the ConfigMap. The checksum is used to trigger a rolling update of the deployment when the ConfigMap content changes, which is a Kubernetes best practice. The ConfigMap contains valid configuration for the Vald manager index component.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify config map exists and matches the checksum
kubectl get configmap vald-manager-index-config -o yaml | sha256sum | grep b9a73b354c6a70dd900f847ddc460eb899032d44810e4b4bba2f9479d2513452

Length of output: 339


Script:

#!/bin/bash
# Let's verify if there are any configmap definitions in the k8s manifests
fd configmap k8s -x cat {} | grep -A 5 -B 5 "kind: ConfigMap"

# Also check the deployment file to understand the context of the checksum
cat k8s/manager/index/deployment.yaml

Length of output: 11538


Script:

#!/bin/bash
# Let's check the configmap content and its changes in git history
fd "vald-manager-index-config.yaml" k8s -x cat {}

# Also check if there are any recent changes to this config
git log --oneline k8s/manager/index/configmap.yaml 2>/dev/null || echo "File not found"

Length of output: 51


Script:

#!/bin/bash
# Let's try to find the configmap file with a broader search
fd configmap.yaml k8s/manager/index -x cat {}

# Also check for any yaml files in the manager/index directory
fd . k8s/manager/index --type f -x ls -l {}

Length of output: 13598

k8s/gateway/gateway/lb/deployment.yaml (2)

23-23: Version update is consistent

The version update from v1.7.14 to v1.7.15 matches the release version and is consistent with other deployment files.

Also applies to: 26-26


48-48: Config map checksum update verified

The config map checksum has been updated appropriately for the new version.

charts/vald-helm-operator/values.yaml (1)

30-30: Image tag update is consistent

The image tag update to v1.7.15 is consistent with the release version and other deployment files.

k8s/index/operator/configmap.yaml (2)

22-26: LGTM: Version labels are consistently updated

The metadata labels are properly updated to v1.7.15 and follow Kubernetes best practices.


Line range hint 300-400: LGTM: Well-structured job templates with proper security controls

The job templates follow Kubernetes best practices with:

  • Proper security context configuration
  • Health checks implementation
  • Automatic cleanup with TTL
  • Dependency management using init containers
CHANGELOG.md (1)

Line range hint 1-1986: LGTM!

The changelog follows a consistent format and properly documents version history with appropriate categorization of changes, links to PRs, and relevant metadata like docker images and documentation for each version.

k8s/index/job/creation/cronjob.yaml Show resolved Hide resolved
k8s/index/operator/configmap.yaml Show resolved Hide resolved
@vankichi vankichi merged commit 0042cb3 into release/v1.7 Dec 5, 2024
68 of 69 checks passed
@vankichi vankichi deleted the prepare/release/v1.7 branch December 5, 2024 04:18
vdaas-ci added a commit that referenced this pull request Dec 5, 2024
vankichi pushed a commit that referenced this pull request Dec 5, 2024
kpango pushed a commit that referenced this pull request Dec 8, 2024
kpango pushed a commit that referenced this pull request Dec 8, 2024
kpango added a commit that referenced this pull request Dec 8, 2024
kpango added a commit that referenced this pull request Dec 8, 2024
kpango added a commit that referenced this pull request Dec 8, 2024
kpango added a commit that referenced this pull request Dec 8, 2024
refactor merge docker and github actions workflow gen logic

Signed-off-by: kpango <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants