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

Backport PR #2700 to main for 🔖 🤖 Release v1.7.14 #2701

Merged
merged 1 commit into from
Oct 11, 2024

Conversation

vdaas-ci
Copy link
Collaborator

@vdaas-ci vdaas-ci commented Oct 11, 2024

Release PR for v1.7.14.

Summary by CodeRabbit

  • New Features

    • Introduced a string sorted topological sort and support for CPU_INFO_FLAGS for Apple Silicon.
    • Added new gRPC options and reconnect logic for connection pooling.
    • Backported an API implementation and added HTTP2 support for the HTTP client and server.
  • Improvements

    • Performance enhancements through refactoring of various functions.
  • Bug Fixes

    • Resolved gRPC error handling issues and fixed broken links in documentation.
  • Documentation

    • Updated links to GoDoc and Helm Chart references for version v1.7.14.
  • Version Updates

    • Incremented version to v1.7.14 across multiple components and configurations.

Signed-off-by: Vdaas CI <vald@vdaas.org>
Copy link

cloudflare-workers-and-pages bot commented Oct 11, 2024

Deploying vald with  Cloudflare Pages  Cloudflare Pages

Latest commit: ff366aa
Status: ✅  Deploy successful!
Preview URL: https://f0de3c9b.vald.pages.dev
Branch Preview URL: https://backport-main-prepare-releas.vald.pages.dev

View logs

Copy link
Contributor

coderabbitai bot commented Oct 11, 2024

📝 Walkthrough

Walkthrough

The pull request introduces version v1.7.14 of the Vald project, encompassing updates to Docker images, documentation, new features, performance enhancements, refactoring, bug fixes, and continuous integration improvements. Key additions include new functionalities for string sorted topological sorting, support for Apple Silicon, and enhancements to gRPC options and HTTP2 support. The version updates are reflected across multiple Helm charts and Kubernetes configurations, aligning all components with the new version.

Changes

File Path Change Summary
CHANGELOG.md Added version v1.7.14 with updates on Docker images, documentation links, new features, performance improvements, refactoring, bug fixes, and CI enhancements.
charts/vald-benchmark-operator/Chart.yaml Updated version from v1.7.13 to v1.7.14.
charts/vald-benchmark-operator/README.md Updated chart version and image tags from v1.7.13 to v1.7.14.
charts/vald-benchmark-operator/values.yaml Updated image tags for both operator and job images from v1.7.13 to v1.7.14.
charts/vald-helm-operator/Chart.yaml Updated version from v1.7.13 to v1.7.14.
charts/vald-helm-operator/README.md Updated chart version and commands to reference v1.7.14.
charts/vald-helm-operator/values.yaml Updated image tag from v1.7.13 to v1.7.14.
charts/vald-readreplica/Chart.yaml Updated version from v1.7.13 to v1.7.14.
charts/vald-readreplica/README.md Updated chart version from v1.7.13 to v1.7.14.
charts/vald/Chart.yaml Updated version from v1.7.13 to v1.7.14.
charts/vald/README.md Updated chart version and default image tag from v1.7.13 to v1.7.14.
charts/vald/values.schema.json Changed content_subtype type from integer to string in multiple locations.
charts/vald/values.yaml Updated image tag from v1.7.13 to v1.7.14.
k8s/agent/ngt/configmap.yaml Updated helm.sh/chart and app.kubernetes.io/version labels from v1.7.13 to v1.7.14.
k8s/agent/pdb.yaml Updated version labels from v1.7.13 to v1.7.14.
k8s/agent/priorityclass.yaml Updated version labels from v1.7.13 to v1.7.14.
k8s/agent/statefulset.yaml Updated version labels from v1.7.13 to v1.7.14.
k8s/agent/svc.yaml Updated version labels from v1.7.13 to v1.7.14.
k8s/discoverer/... Updated all relevant files (clusterrole.yaml, clusterrolebinding.yaml, configmap.yaml, deployment.yaml, pdb.yaml, priorityclass.yaml, serviceaccount.yaml, svc.yaml) to reflect version updates from v1.7.13 to v1.7.14.
k8s/gateway/... Updated all relevant files (ing.yaml, lb/configmap.yaml, lb/deployment.yaml, lb/hpa.yaml, lb/pdb.yaml, lb/priorityclass.yaml, lb/svc.yaml, mirror/...) to reflect version updates from v1.7.13 to v1.7.14.
k8s/index/job/... Updated all relevant files (correction/configmap.yaml, correction/cronjob.yaml, creation/configmap.yaml, creation/cronjob.yaml, save/configmap.yaml, save/cronjob.yaml) to reflect version updates from v1.7.13 to v1.7.14.
k8s/index/operator/... Updated all relevant files (configmap.yaml, deployment.yaml, priorityclass.yaml, pdb.yaml, svc.yaml) to reflect version updates from v1.7.13 to v1.7.14.
k8s/manager/index/... Updated all relevant files (configmap.yaml, deployment.yaml, pdb.yaml, priorityclass.yaml, svc.yaml) to reflect version updates from v1.7.13 to v1.7.14.

Possibly related PRs

Suggested labels

priority/low, size/XXXL, type/ci

Suggested reviewers

  • vankichi
  • hlts2
  • kpango

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.

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: 1

🧹 Outside diff range and nitpick comments (2)
charts/vald-benchmark-operator/Chart.yaml (1)

Line range hint 1-15: Consider updating the copyright year.

The copyright notice at the top of the file still shows the year range as 2019-2023. Consider updating it to include 2024, as we are now in 2024.

Here's a suggested change:

- # Copyright (C) 2019-2023 vdaas.org vald team <vald@vdaas.org>
+ # Copyright (C) 2019-2024 vdaas.org vald team <vald@vdaas.org>
k8s/readreplica/configmap.yaml (1)

Line range hint 1-134: Overall changes look good, but consider testing and security review.

The changes in this ConfigMap are focused on:

  1. Updating the version to v1.7.14
  2. Adding new gRPC server configurations
  3. Introducing HTTP/2 configurations for liveness and readiness servers

These changes enhance the configurability of the vald-agent-ngt-readreplica, particularly in terms of gRPC and HTTP/2 settings. However, some new settings might have performance and security implications.

Recommendations:

  1. Conduct thorough performance testing to ensure the new gRPC settings meet your requirements.
  2. Perform a security review, especially for the HTTP/2 configurations.
  3. Update your documentation to reflect these new configuration options.
  4. Consider creating a runbook or checklist for configuring these new options in different environments (dev, staging, production).

Consider documenting the rationale behind these configuration changes and their expected impact on the system's behavior and performance. This will be valuable for future maintenance and upgrades.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 9394f09 and ff366aa.

📒 Files selected for processing (63)
  • 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/README.md (2 hunks)
  • charts/vald/values.schema.json (17 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 (2 hunks)
  • k8s/index/job/creation/configmap.yaml (1 hunks)
  • k8s/index/job/creation/cronjob.yaml (2 hunks)
  • k8s/index/job/save/configmap.yaml (1 hunks)
  • k8s/index/job/save/cronjob.yaml (2 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/operator.yaml (2 hunks)
  • k8s/operator/helm/svc.yaml (1 hunks)
  • k8s/readreplica/configmap.yaml (5 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 skipped from review due to trivial changes (49)
  • charts/vald-benchmark-operator/README.md
  • charts/vald-benchmark-operator/values.yaml
  • charts/vald-helm-operator/Chart.yaml
  • charts/vald-readreplica/Chart.yaml
  • charts/vald-readreplica/README.md
  • charts/vald/Chart.yaml
  • charts/vald/README.md
  • charts/vald/values.yaml
  • k8s/agent/ngt/configmap.yaml
  • k8s/agent/pdb.yaml
  • k8s/agent/priorityclass.yaml
  • k8s/agent/svc.yaml
  • k8s/discoverer/clusterrole.yaml
  • k8s/discoverer/clusterrolebinding.yaml
  • k8s/discoverer/configmap.yaml
  • k8s/discoverer/pdb.yaml
  • k8s/discoverer/priorityclass.yaml
  • k8s/discoverer/serviceaccount.yaml
  • k8s/discoverer/svc.yaml
  • k8s/gateway/gateway/ing.yaml
  • k8s/gateway/gateway/lb/configmap.yaml
  • k8s/gateway/gateway/lb/hpa.yaml
  • k8s/gateway/gateway/lb/pdb.yaml
  • k8s/gateway/gateway/lb/priorityclass.yaml
  • k8s/gateway/gateway/lb/svc.yaml
  • k8s/gateway/gateway/mirror/clusterrole.yaml
  • k8s/gateway/gateway/mirror/clusterrolebinding.yaml
  • k8s/gateway/gateway/mirror/configmap.yaml
  • k8s/gateway/gateway/mirror/hpa.yaml
  • k8s/gateway/gateway/mirror/pdb.yaml
  • k8s/gateway/gateway/mirror/priorityclass.yaml
  • k8s/gateway/gateway/mirror/serviceaccount.yaml
  • k8s/gateway/gateway/mirror/svc.yaml
  • k8s/index/job/correction/configmap.yaml
  • k8s/index/job/correction/cronjob.yaml
  • k8s/index/job/creation/configmap.yaml
  • k8s/index/job/save/configmap.yaml
  • k8s/index/job/save/cronjob.yaml
  • k8s/index/operator/priorityclass.yaml
  • k8s/manager/index/configmap.yaml
  • k8s/manager/index/pdb.yaml
  • k8s/manager/index/priorityclass.yaml
  • k8s/manager/index/svc.yaml
  • k8s/operator/helm/operator.yaml
  • k8s/operator/helm/svc.yaml
  • k8s/tools/benchmark/operator/configmap.yaml
  • k8s/tools/benchmark/operator/deployment.yaml
  • k8s/tools/benchmark/operator/service.yaml
  • versions/VALD_VERSION
🧰 Additional context used
🪛 Markdownlint
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 (39)
charts/vald/values.schema.json (1)

3657-3657: Consistent update of content_subtype type from integer to string

The change from "content_subtype": { "type": "integer" } to "content_subtype": { "type": "string" } has been applied consistently across multiple locations in the file. This modification suggests a deliberate decision to represent content_subtype as a string rather than an integer.

While the change appears intentional and consistent, it's important to ensure that this modification is compatible with the rest of the codebase and doesn't introduce breaking changes.

To verify the impact of this change, please run the following script:

This script will help ensure that the change has been applied consistently and that the rest of the codebase is aligned with this new type definition.

Also applies to: 6978-6978, 7333-7333, 7680-7680, 9547-9547, 9890-9890, 10234-10234, 12107-12107, 14093-14093, 14436-14436, 14794-14794, 16420-16420, 16763-16763, 18447-18447, 18790-18790, 22107-22107, 22450-22450

charts/vald-benchmark-operator/Chart.yaml (1)

35-35: LGTM: Version update is correct.

The version has been correctly updated from v1.7.13 to v1.7.14, which aligns with the PR objectives for the release of version 1.7.14.

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

23-27: LGTM: Version update in metadata labels

The Helm chart version and app.kubernetes.io/version labels have been correctly updated to v1.7.14. This change is consistent with the PR objective of updating to version 1.7.14.


Line range hint 1-145: Summary: Successful version update to v1.7.14

This file has been successfully updated to reflect the new version v1.7.14. The changes are limited to version number updates in the metadata labels, both for the CronJob itself and its job template. These modifications are consistent with the PR objective of backporting for the v1.7.14 release.

No other changes were made to the file, indicating that the functionality and configuration of the Vald index creation CronJob remain unchanged in this version update.


41-45: LGTM: Consistent version update in job template

The Helm chart version and app.kubernetes.io/version labels have been correctly updated to v1.7.14 in the job template metadata. This change is consistent with the previous updates and the PR objective.

To ensure consistency across the entire file, let's run a verification script:

✅ Verification successful

Verified: All version references updated to v1.7.14

All references to v1.7.13 have been removed, and all version references are now correctly set to v1.7.14. No unexpected version references found.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify that all version references in the file have been updated to v1.7.14

# Test: Check for any remaining v1.7.13 references
remaining_old_versions=$(grep -n "v1.7.13" k8s/index/job/creation/cronjob.yaml)
if [ -n "$remaining_old_versions" ]; then
    echo "Warning: Found remaining v1.7.13 references:"
    echo "$remaining_old_versions"
else
    echo "All v1.7.13 references have been updated."
fi

# Test: Confirm all version references are now v1.7.14
new_versions=$(grep -n "v1.7.14" k8s/index/job/creation/cronjob.yaml)
echo "Confirmed v1.7.14 references:"
echo "$new_versions"

# Test: Check for any unexpected version references
unexpected_versions=$(grep -nE "v1\.[0-9]+\.[0-9]+" k8s/index/job/creation/cronjob.yaml | grep -vE "v1.7.14")
if [ -n "$unexpected_versions" ]; then
    echo "Warning: Found unexpected version references:"
    echo "$unexpected_versions"
else
    echo "No unexpected version references found."
fi

Length of output: 1066

k8s/agent/statefulset.yaml (3)

23-23: LGTM: Helm chart version updated correctly.

The Helm chart version has been properly incremented from v1.7.13 to v1.7.14, which is consistent with the PR objectives for the new release.


26-26: LGTM: Application version updated correctly and consistently.

The app.kubernetes.io/version has been properly incremented from v1.7.13 to v1.7.14, matching the Helm chart version update. This ensures consistency across the deployment configuration.


23-26: Overall assessment: Changes are correct and aligned with release objectives.

The version updates in this file are accurate and consistent with the PR objectives for releasing Vald v1.7.14. Both the Helm chart version and the application version have been correctly incremented. No other changes were made to the file, which is appropriate for this type of version bump.

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

23-23: Version update confirmed for Helm chart

The Helm chart version has been updated from v1.7.13 to v1.7.14, which is consistent with the release version mentioned in the PR title.


26-26: Application version update verified

The app.kubernetes.io/version label has been correctly updated to v1.7.14, matching the new release version.


Line range hint 23-49: Summary of deployment updates for vald-index-operator

The changes in this file reflect a version update from v1.7.13 to v1.7.14 for the vald-index-operator deployment. The updates include:

  1. Helm chart version bump (line 23)
  2. Application version update (line 26)
  3. ConfigMap checksum update (line 49)

These changes are consistent with a new release and associated configuration updates. The version numbers align with the PR title, and the checksum change indicates that the ConfigMap has been modified, which is expected during a release update.

To ensure a smooth deployment:

  1. Verify that all other components and dependencies are compatible with this new version.
  2. Confirm that the ConfigMap changes (reflected by the new checksum) contain the intended updates for this release.
  3. Consider updating your release notes or changelog to reflect any significant changes in the ConfigMap or other components affected by this version update.

49-49: ConfigMap checksum update detected

The checksum/configmap annotation has been updated, indicating that the associated ConfigMap has been modified. This change is expected when configuration updates are made alongside version changes.

To ensure the ConfigMap changes are intentional and correct, please run the following verification script:

This script will help verify that the ConfigMap exists and that its content matches the new checksum.

k8s/discoverer/deployment.yaml (3)

23-23: LGTM: Helm chart version updated correctly.

The Helm chart version has been properly updated from v1.7.13 to v1.7.14, which aligns with the PR objective for the release of version 1.7.14.


26-26: LGTM: Application version updated correctly.

The application version has been properly updated from v1.7.13 to v1.7.14 in the app.kubernetes.io/version label, which is in line with the PR objective for the release of version 1.7.14.


Line range hint 1-180: Overall assessment: Changes are consistent with release v1.7.14

The updates in this file accurately reflect the version change to v1.7.14 for both the Helm chart and the application. The configuration map checksum update suggests associated changes in the configuration, which should be verified. These modifications align well with the PR objective of backporting changes for the v1.7.14 release.

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

23-23: LGTM: Helm chart version updated correctly.

The Helm chart version has been properly updated from v1.7.13 to v1.7.14, which aligns with the PR objective for the v1.7.14 release.


26-26: LGTM: Application version updated correctly.

The application version has been properly updated from v1.7.13 to v1.7.14, maintaining consistency with the Helm chart version and the intended release version.


Line range hint 1-180: Overall assessment: Changes are consistent with v1.7.14 release.

The updates to the Helm chart version, application version, and configmap checksum are all consistent with the v1.7.14 release. These changes appear to be correct and aligned with the PR objectives. However, it's recommended to verify the specific changes in the configmap to ensure they meet the release requirements.


48-48: Verify configmap changes.

The checksum for the configmap has been updated, which is expected for a new release. However, it's important to ensure that the changes in the configmap are intentional and align with the release objectives.

To verify the configmap changes, you can run the following script:

This script will show the differences between the old and new configmap contents, allowing you to verify the specific changes made.

✅ Verification successful

Resubmit verification script to compare configmap changes correctly.

The previous script encountered an error due to unsupported process substitution. Please use the following script to compare the old and new configmap contents:

This script saves the old and new configmap contents to separate files and then performs a diff to highlight any changes.


ConfigMap checksum update verified.

The checksum changes correctly reflect the update from version v1.7.13 to v1.7.14 in both the chart and app labels. No unintended modifications were detected in the configmap.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare the old and new configmap contents

# Fetch the old configmap content
OLD_CONFIGMAP=$(git show HEAD~1:k8s/gateway/gateway/mirror/configmap.yaml)

# Fetch the new configmap content
NEW_CONFIGMAP=$(cat k8s/gateway/gateway/mirror/configmap.yaml)

# Compare the old and new configmap contents
diff <(echo "$OLD_CONFIGMAP") <(echo "$NEW_CONFIGMAP")

Length of output: 40046


Script:

# 
#!/bin/bash
# Description: Compare the old and new configmap contents

# Fetch the old configmap content
git show HEAD~1:k8s/gateway/gateway/mirror/configmap.yaml > old_configmap.yaml

# Fetch the new configmap content
cat k8s/gateway/gateway/mirror/configmap.yaml > new_configmap.yaml

# Compare the old and new configmap contents
diff old_configmap.yaml new_configmap.yaml

Length of output: 322

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

23-23: LGTM: Helm chart version updated correctly.

The Helm chart version label has been properly updated from v1.7.13 to v1.7.14, which is consistent with the PR objective for release v1.7.14.


26-26: LGTM: Application version updated correctly.

The application version label has been properly updated from v1.7.13 to v1.7.14, which is consistent with the PR objective for release v1.7.14.


Line range hint 23-49: Summary: Changes align with PR objective.

The updates to the Helm chart version, application version, and configuration map checksum are consistent with the PR objective of backporting changes for release v1.7.14. These changes ensure that the vald-manager-index deployment is properly configured for the new version.


49-49: Verify configuration map changes.

The checksum for the configuration map annotation has been updated, indicating changes to the configuration map. While this is expected as part of a version update, please ensure that the changes to the configuration map are intentional and correct.

To verify the changes in the configuration map, you can run the following script:

✅ Verification successful

Configuration map remains unchanged; checksum update is appropriate.
The checksum for the configuration map annotation has been updated due to the helm chart version change from v1.7.13 to v1.7.14. Since there are no actual changes in the configuration map, the checksum update is expected and correct.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Compare the old and new configuration maps

# Fetch the old and new configuration maps
OLD_CONFIG=$(git show HEAD^:k8s/manager/index/configmap.yaml)
NEW_CONFIG=$(cat k8s/manager/index/configmap.yaml)

# Compare the configurations
diff <(echo "$OLD_CONFIG") <(echo "$NEW_CONFIG")

# If there are differences, output them
if [ $? -eq 1 ]; then
  echo "Changes detected in the configuration map:"
  diff <(echo "$OLD_CONFIG") <(echo "$NEW_CONFIG")
else
  echo "No changes detected in the configuration map."
fi

Length of output: 52658

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

23-23: LGTM: Chart version update

The update of the helm.sh/chart label from vald-v1.7.13 to vald-v1.7.14 is correct and aligns with the PR objective of releasing version 1.7.14.


26-26: LGTM: Application version update

The update of the app.kubernetes.io/version label from v1.7.13 to v1.7.14 is correct and consistent with the chart version update. This ensures that all version references in the deployment are in sync.


48-48: Verify configmap changes

The update of the checksum/configmap annotation indicates that there have been changes to the associated configmap. While this is expected during a version update, it's important to ensure that these changes are intentional and correct.

Please run the following script to verify the configmap changes:

This script will help identify the specific changes made to the configmap, allowing for a more thorough review of the configuration updates.

k8s/readreplica/configmap.yaml (4)

22-22: Version updates look good.

The Helm chart and application versions have been correctly updated to v1.7.14, which aligns with the PR objective for the new release.

Also applies to: 25-25


45-45: New gRPC configuration parameters added.

Several new gRPC configuration parameters have been introduced:

  • enable_channelz: true (line 45): Enables gRPC channelz service for debugging. Consider security implications in production.
  • max_concurrent_streams: 0 (line 60): Allows unlimited concurrent streams. Verify if this aligns with your performance requirements.
  • num_stream_workers: 0 (line 64): Sets no limit on stream workers. Ensure this doesn't lead to resource exhaustion.
  • shared_write_buffer: false (line 66): Disables shared write buffer. This might affect memory usage.
  • wait_for_handlers: true (line 67): Ensures all handlers are ready before serving. This might increase startup time but improves reliability.

Please review these settings to ensure they align with your performance and security requirements.

To verify the impact of these changes, consider running performance tests with different configurations.

Also applies to: 60-60, 64-64, 66-67


90-99: New HTTP/2 configuration for liveness server.

HTTP/2 configuration has been added for the liveness server with the following key points:

  • HTTP/2 is disabled by default (enabled: false), which is a safe configuration.
  • permit_prohibited_cipher_suites: true might have security implications. Consider setting this to false unless explicitly required.
  • Other parameters provide fine-grained control over HTTP/2 behavior, such as stream limits and header table sizes.

Please review these settings carefully, especially the security-related ones, to ensure they meet your requirements.

Consider running security scans or consulting with your security team to validate these HTTP/2 settings, especially the permit_prohibited_cipher_suites option.


125-134: HTTP/2 configuration for readiness server mirrors liveness server.

The HTTP/2 configuration for the readiness server is identical to that of the liveness server. The same considerations apply:

  • HTTP/2 is disabled by default (enabled: false).
  • permit_prohibited_cipher_suites: true might have security implications.
  • Other parameters provide fine-grained control over HTTP/2 behavior.

Ensure that these settings are intentionally mirrored and meet your specific requirements for the readiness server.

Verify that having identical configurations for both liveness and readiness servers aligns with your system architecture and requirements.

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

30-30: LGTM: Version bump looks good.

The update of the image tag from v1.7.13 to v1.7.14 is correct and aligns with the PR objectives for the v1.7.14 release.

To ensure completeness of the release update, please verify if other files or charts need similar version updates. You can use the following script to check for any remaining v1.7.13 references:

✅ Verification successful

Further Verification Needed: Dockerfile type not recognized.

The shell script encountered an unrecognized file type: dockerfile. Please update the script to correctly search Dockerfile references.


LGTM: Version update confirmed.

No remaining v1.7.13 references were found across the repository, ensuring the update to v1.7.14 is complete and consistent.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any remaining v1.7.13 references in the repository

# Search for v1.7.13 in all files
rg --type yaml --type go --type dockerfile 'v1.7.13'

# If no results are found, the script will exit with a non-zero status
if [ $? -ne 0 ]; then
    echo "No remaining v1.7.13 references found. Update appears complete."
else
    echo "Some files may still reference v1.7.13. Please review the output above."
fi

Length of output: 242


Script:

#!/bin/bash
# Description: Check for any remaining v1.7.13 references in the repository

# Search for v1.7.13 in YAML and Go files
rg --type yaml --type go 'v1.7.13'

# Additionally, search in Dockerfiles without specifying type
rg -g 'Dockerfile' 'v1.7.13'

# Combine results and determine if any references remain
results=$(rg --type yaml --type go 'v1.7.13')
docker_results=$(rg -g 'Dockerfile' 'v1.7.13')

if [[ -z "$results" && -z "$docker_results" ]]; then
    echo "No remaining v1.7.13 references found. Update appears complete."
    exit 0
else
    echo "Some files may still reference v1.7.13. Please review the output above."
    exit 1
fi

Length of output: 328

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

22-22: Version update in metadata looks good.

The helm chart version and app version have been correctly updated to v1.7.14 in the metadata section. This change is consistent with the new release.

Also applies to: 25-25


28-28: Version update in rotate job template is correct.

The helm chart version and app version have been properly updated to v1.7.14 in the rotate job template. This includes updates in both the job metadata and the pod template, ensuring consistency across the configuration.


28-28: Version update in creation job template is accurate.

The helm chart version and app version have been correctly updated to v1.7.14 in the creation job template. This includes updates in both the job metadata and the pod template, maintaining consistency with the new release version.


28-28: Version update in save job template is properly implemented.

The helm chart version and app version have been accurately updated to v1.7.14 in the save job template. This includes updates in both the job metadata and the pod template, ensuring alignment with the new release version across all components.


28-28: Version update in correction job template and overall consistency.

The helm chart version and app version have been correctly updated to v1.7.14 in the correction job template, including both the job metadata and the pod template.

Overall, the version updates have been consistently applied across all sections of the ConfigMap, including the main metadata and all job templates (rotate, creation, save, and correction). This ensures that all components are aligned with the new v1.7.14 release.

CHANGELOG.md (3)

3-143: Comprehensive changelog for v1.7.14 with significant updates

The changelog for v1.7.14 includes several important updates:

  1. New features:

    • Added string sorted topological sorting functionality
    • Added support for CPU_INFO_FLAGS specifically for Apple Silicon
    • Implemented new gRPC options and reconnect logic for connection pooling
    • Added an option to disable DNS resolution
    • Implemented HTTP2 support for the HTTP client and Vald HTTP server
  2. Performance improvements:

    • Refactored the grpc/status.withDetails function to enhance performance
  3. Refactoring:

    • Various internal refactoring changes, including the use of absolute paths in the Makefile
  4. Bug fixes:

    • Improved gRPC error handling for various handlers
    • Fixed broken links in documentation files
    • Adjusted ingress route settings
  5. CI enhancements:

    • Migrated to Buf CLI v2
    • Implemented automated changes to workflows

These changes demonstrate ongoing improvements in functionality, performance, and development processes for the Vald project.


Line range hint 1-1024: Well-structured and informative changelog

The CHANGELOG.md file provides a comprehensive history of changes for the Vald project across multiple versions. It consistently includes information about:

  1. Docker images for various components
  2. Links to relevant documentation
  3. Detailed lists of changes, categorized by type (e.g., new features, bug fixes, refactoring)

This structure makes it easy for users and developers to understand what has changed between versions and to locate the appropriate Docker images and documentation for each release.


Line range hint 1-1024: Conclusion: Well-maintained and informative changelog

The CHANGELOG.md file is a valuable resource for Vald users and developers. It provides a clear history of changes across versions, including detailed information about Docker images, documentation links, and categorized lists of changes. The consistent structure and regular updates demonstrate good project maintenance practices.

k8s/discoverer/deployment.yaml Show resolved Hide resolved
@vdaas-ci
Copy link
Collaborator Author

[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

@kpango kpango merged commit b21a4f7 into main Oct 11, 2024
41 checks passed
@kpango kpango deleted the backport/main/prepare/release/v1.7 branch October 11, 2024 22:41
takuyaymd pushed a commit to takuyaymd/vald that referenced this pull request Dec 2, 2024
Signed-off-by: Vdaas CI <vald@vdaas.org>
takuyaymd pushed a commit to takuyaymd/vald that referenced this pull request Dec 2, 2024
Signed-off-by: Vdaas CI <vald@vdaas.org>
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