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

fix(deps): update Dockerfile to SPDK longhorn-v24.09 branch #165

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

DamiaSan
Copy link
Contributor

Which issue(s) this PR fixes:

Issue longhorn/longhorn#9700

What this PR does / why we need it:

Special notes for your reviewer:

Additional documentation or context

@DamiaSan DamiaSan requested review from innobead, derekbit, c3y1huang, shuo-wu and a team November 15, 2024 14:45
Copy link

coderabbitai bot commented Nov 15, 2024

Walkthrough

The pull request modifies the Dockerfile.dapper to update the SPDK_COMMIT_ID from an older commit to a new commit ID, reflecting a transition to a different version of the SPDK library. Other environment variables remain unchanged, and the overall structure of the Dockerfile, including installation commands and the entry point, is preserved. This ensures that the build process and container execution remain consistent while incorporating the updated SPDK version.

Changes

File Change Summary
Dockerfile.dapper Updated SPDK_COMMIT_ID from a6478cde7e0cff2fb09992868308a7387aa5202a to 10463b5c13b454e173707628b9eac608081f5082. Other environment variables remain unchanged.

Assessment against linked issues

Objective Addressed Explanation
Update to upcoming 24.09 SPDK release (#9700)

Possibly related PRs

  • chore: update nvme-cli to v2.10.2 #159: The changes in this PR also involve modifications to the Dockerfile.dapper, specifically updating the NVME_CLI_COMMIT_ID, which is related to the overall environment setup and versioning of components in the Docker image.

Suggested reviewers

  • innobead

Warning

Rate limit exceeded

@DamiaSan has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 23 minutes and 4 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between af0134e and 972fd05.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between af0134e and 972fd05.

📒 Files selected for processing (1)
  • Dockerfile.dapper (1 hunks)
🔇 Additional comments (3)
Dockerfile.dapper (3)

Line range hint 1-89: LGTM - Changes are focused and align with PR objectives

The update is cleanly focused on the SPDK version change while maintaining the existing build structure and dependencies. The base image and build tools remain appropriate for the update.

#!/bin/bash
# Description: Final verification of recent builds with the new SPDK version

# Check recent workflow runs to verify successful builds with the new version
echo "Checking recent CI builds..."
gh api repos/longhorn/go-spdk-helper/actions/runs --jq '.workflow_runs[] | select(.head_sha == "'${GITHUB_SHA}'") | {status: .status, conclusion: .conclusion, html_url: .html_url}'

20-20: Verify build process compatibility with new SPDK version

The build process uses specific configurations for different architectures and Python 3.11. Let's ensure these remain compatible with the new SPDK version.

#!/bin/bash
# Description: Check build configuration compatibility

# Check for any changes in Python version requirements or build configurations
echo "Checking for build configuration changes..."
gh api repos/longhorn/spdk/compare/a6478cde7e0cff2fb09992868308a7387aa5202a...10463b5c13b454e173707628b9eac608081f5082 --jq '.files[] | select(.filename | contains("configure") or .filename | contains("scripts/pkgdep/requirements.txt"))'

# Check if architecture-specific build flags are still valid
echo "Checking architecture-specific configurations..."
gh api repos/longhorn/spdk/contents/configure?ref=10463b5c13b454e173707628b9eac608081f5082 | jq -r '.content' | base64 -d | grep -A 5 "target-arch"

Also applies to: 46-61


20-23: Verify SPDK commit and branch alignment

The SPDK commit ID has been updated while keeping other dependencies unchanged. Let's verify the alignment with the longhorn-v24.09 branch.

✅ Verification successful

✓ SPDK commit verified and properly aligned with longhorn-v24.09

The SPDK commit ID 10463b5c13b454e173707628b9eac608081f5082 is verified to be:

  • The latest commit on the longhorn-v24.09 branch
  • Addresses a specific issue with Linux loop device (EAGAIN error fix)
  • Authored by Damiano Cipriani with proper sign-off

The commit is correctly positioned as the HEAD of the longhorn-v24.09 branch, making it suitable for this update.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify SPDK commit and branch alignment, and check dependency compatibility

# Check if the commit exists and is in the correct branch
echo "Checking SPDK commit and branch..."
gh api repos/longhorn/spdk/commits/10463b5c13b454e173707628b9eac608081f5082 --jq '.commit.message'

# Check if this commit is part of the longhorn-v24.09 branch
gh api repos/longhorn/spdk/branches/longhorn-v24.09 --jq '.commit.sha'

# Verify if there are any breaking changes in build dependencies between the old and new versions
echo "Checking for changes in build dependencies..."
gh api repos/longhorn/spdk/compare/a6478cde7e0cff2fb09992868308a7387aa5202a...10463b5c13b454e173707628b9eac608081f5082 --jq '.files[] | select(.filename | contains("scripts/pkgdep"))'

Length of output: 454


Script:

#!/bin/bash
# Let's try a different approach to verify the SPDK commit and branch

# 1. First, let's check if the commit exists in the repository
echo "Checking if the commit exists..."
gh api repos/longhorn/spdk/git/commits/10463b5c13b454e173707628b9eac608081f5082 \
  --jq '{message: .message, author: .author.name}'

# 2. Let's get the latest commit from longhorn-v24.09 branch
echo -e "\nChecking latest commit on longhorn-v24.09 branch..."
gh api repos/longhorn/spdk/branches/longhorn-v24.09 \
  --jq '{sha: .commit.sha, message: .commit.commit.message}'

# 3. Let's check the commit history to see if our target commit is in the branch
echo -e "\nChecking commit history in the branch..."
gh api "repos/longhorn/spdk/commits?sha=longhorn-v24.09&per_page=50" \
  --jq '.[] | select(.sha == "10463b5c13b454e173707628b9eac608081f5082") | {sha: .sha, message: .commit.message}'

Length of output: 1575


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.

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.

@DamiaSan DamiaSan changed the title fix(deps): update Dockerfile to SPDK longhorn-v24.09 branch update to SPDK longhorn-v24.09 branch Nov 15, 2024
@derekbit
Copy link
Member

derekbit commented Nov 16, 2024

@DamiaSan Some checks failed

  • Conventional Commits Check.
  • build / Build AMD64 binaries (pull_request)

Please fix them before merging the PR.

@DamiaSan DamiaSan changed the title update to SPDK longhorn-v24.09 branch fix(deps): update Dockerfile to SPDK longhorn-v24.09 branch Nov 19, 2024
@DamiaSan
Copy link
Contributor Author

DamiaSan commented Nov 19, 2024

@DamiaSan Some checks failed

  • Conventional Commits Check.

Done, now it want the prefix in PR's name too.

  • build / Build AMD64 binaries (pull_request)

It doesn't depend by this commit, it seems that in one test the tgt is not ready when the assert is checked.
If I run the same test for example on my PC or on an equinix hosted machine, all is ok.
Rerunning the test all is ok.

Copy link

codecov bot commented Nov 19, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 22.89%. Comparing base (af0134e) to head (972fd05).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #165   +/-   ##
=======================================
  Coverage   22.89%   22.89%           
=======================================
  Files          34       34           
  Lines        4813     4813           
=======================================
  Hits         1102     1102           
  Misses       3537     3537           
  Partials      174      174           
Flag Coverage Δ
unittests 22.89% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.


🚨 Try these New Features:

@derekbit derekbit merged commit 6cd194f into longhorn:main Nov 19, 2024
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants