Skip to content

[CI] issue: INFINIOPS-770 Update secret-scan container registry - #1180

Open
elkopel wants to merge 150 commits into
Mellanox:vNextfrom
elkopel:INFINIOPS-770
Open

[CI] issue: INFINIOPS-770 Update secret-scan container registry#1180
elkopel wants to merge 150 commits into
Mellanox:vNextfrom
elkopel:INFINIOPS-770

Conversation

@elkopel

@elkopel elkopel commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

INFINIOPS-770

Description

Please provide a summary of the change.

What

Use the devops-stable secret-scan image from swx-storage.

Why ?

The previous secret-scan registry path is obsolete.

How ?

Update the image URL and tag in the CI matrix.

Change type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • [X ] CI related changes
  • Documentation content changes
  • Tests
  • Other

Check list

  • Code follows the style de facto guidelines of this project
  • Comments have been inserted in hard to understand places
  • Documentation has been updated (if necessary)
  • Test has been added (if possible)

Summary by CodeRabbit

  • Chores
    • Updated the secret scanning tool used during automated validation to use the current stable image source.
    • Preserved the existing architecture and execution settings, ensuring validation behavior remains consistent.

AlexanderGrissik and others added 30 commits November 14, 2022 17:29
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Alex Briskin <abriskin@nvidia.com>
Signed-off-by: Alexander Ryabov <aryabov@nvidia.com>
…ubuntu20.04-inbox-aarch64 removed

Signed-off-by: Alexander Ryabov <aryabov@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Igor Ivanov <igori@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
temporarely removed Fedora 3.6
changed BlackDuck default to false

Signed-off-by: Shaligin Rostislav <rshaligin@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
In reclaim buffer api - vma_socketxtreme_free_vma_packets
we use reclaim_recv_buffers method which uses try_lock
on the ring, but in case the lock has failed - buffers
will not be returned.
The fix - in case the ring is locked - reclaim buffers
to the global pool.

Signed-off-by: Iftah Levi <iftahl@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Igor Ivanov <igori@nvidia.com>
Signed-off-by: Igor Ivanov <igori@nvidia.com>
See: http://0pointer.de/blog/projects/changing-roots

First of all, systemctl detects when it is run in a chroot.
If so, most of its operations will become NOPs, with the exception
of systemctl enable and systemctl disable. If a package installation
script hence calls these two commands, services will be enabled
in the guest OS. However, should a package installation script
include a command like systemctl restart as part of the package
upgrade process this will have no effect at all when run
in a chroot() environment.

Signed-off-by: Igor Ivanov <igori@nvidia.com>
Equality checks in lwip on seqno related parameters must be done using special macros to a handle situations when seqno wraps around.

Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
With LRO/GRO, TCP segments can be large and 16bit type is not enough to
fit possible offsets/lengths. This can lead to a type overflow and
broken pbuf chains as result. Further, a broken chain breaks accounting
of received data what leads to a warning or even a segfault.

Increase type length for pbuf_header() and the trimming code. This fixes
pbuf chain. Also increase type length for pbuf_realloc() to avoid
similar issues in the future.

Signed-off-by: Dmytro Podgornyi <dmytrop@nvidia.com>
Chain of pbufs can contain some pbufs with ref count >=1 like in ooo or flow tag flows.
While processing Rx packets we may split buffer chains and we increment ref count
for the new head of the chain after the split.
It will cause a wrong ref count, and the buffer won't be reclaimed.
Therefore we reset ref count 0 for chained mem_buf_desc in m_rx_pkt_ready_list except for the head.
Related to issue 3231710.

Signed-off-by: Iftah Levi <iftahl@nvidia.com>
Handle retransmitted TCP stream in GRO.
In case we got a packet that its sequence number
is older than what we already received, we won't
aggregate it to GRO, but pass it to lwip to handle.
Related to issue 3532666.

Signed-off-by: Iftah Levi <iftahl@nvidia.com>
tcp_split_rexmit function used to split tcp segments
by taking the pbuf chain of the orig segment and split
it so the head pbuf will remain in the orig segment,
and the second pbuf + its chain will be part of a new segment.
The split was done incorrectly so the second pbuf had a wrong
tot_len value. It wokred fine if the second pbuf has no
chained pbufs.
Related to issue 3291178.

Signed-off-by: Iftah Levi <iftahl@nvidia.com>
Signed-off-by: Asaf Sonis <asafson@nvidia.com>
When the ring is destroyed and the RQ is empty the termination loop becomes infinte.
It waits for the last_posted_wqe to be retrieved. but since it is empty the last posted wqe was already retrieved.

Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
For rx flow create key basing on allocation logic during
ring creation and store it in sockinfo object.
Use actual key (w/o or w/ migration sceanrio) from
sockinfo object.

Signed-off-by: Igor Ivanov <igori@nvidia.com>
Sockinfo object can use few different rx rings but all these rings should
have the same key and identical ring allocation logic otherwise
corruption happens during ring release.

Signed-off-by: Igor Ivanov <igori@nvidia.com>
Ring per ip logic was introduced in
"1465058 Introduce ring per ip-address logic"
but was broken by
"1653789 Fix Rx and Tx migrations thread safety"
incorrect is_logic_support_migration() modification.
As a result XLIO_RING_MIGRATION_RATIO_RX=-1 does not work.

This change add special processing in ring creation/destruction.

Signed-off-by: Igor Ivanov <igori@nvidia.com>
1. Enabled the feature in LwIP
2. Added support for reading the /proc/sys/net/ipv4/tcp_keepalive_*
   files at the XLIO startup.
3. Add support for TCP_KEEP* setsockop/getsockopt values.
4. Added unit tests.
5. Updated the CI to execute the new tests.

Signed-off-by: Alex Briskin <abriskin@nvidia.com>
Set ETIMEDOUT errno and return -1 from recv in case a socket was timed out, instead of 0 return value and 0 errno.
For instance, in case of TCP keep alive timeout.

Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
tomerdbz and others added 17 commits January 1, 2026 17:01
The Coverity fix in commit c4f0ae9 incorrectly checked the return
value of wait_for_notification_and_process_element(). The check
`if (!ret)` treats 0 as an error, but 0 is a valid return meaning
"no elements processed".

Return value semantics:
  >0  : processed N elements (success)
   0  : no elements processed (normal)
  -1  : error, check errno
        EAGAIN = lock contention or notification not armed (expected)
        other  = actual error

The warning "Resource temporarily unavailable" (errno=11/EAGAIN) was
flooding logs because EAGAIN is expected when the notification channel
is not armed or another thread holds the lock.

Fix by only warning on actual errors (ret < 0 && errno != EAGAIN),
consistent with the pattern in net_device_table_mgr.cpp.

Signed-off-by: Tomer Cabouly <tcabouly@nvidia.com>
Signed-off-by: Gal Noam <gnoam@nvidia.com>
After driver update the max amount of QP work elements reported by ibv_query_device is 8K instead of 32K.
This limits us to create big QPs. ibv_create_qp supports up to 32K.

Signed-off-by: Alexander Grissik <agrissik@nvidia.com>
Previously, VMA_BF didn’t affect BF usuage, because is_bf() checks based
on MLX5_SHUT_UP_BF, and VMA_BF never adjusted it.
To correctly enable/disable Blueflame, we should set MLX5_SHUT_UP_BF
RDMA CORE environment variable.

Signed-off-by: Bashar Abdelgafer <babdelgafer@nvidia.com>
Add a warning message when BlueFlame (BF) is requested via handle_bf
but cannot be set up due to hardware or environment limitations.

Signed-off-by: Bashar Abdelgafer <babdelgafer@nvidia.com>
Signed-off-by: Gal Noam <gnoam@nvidia.com>
Update DOCA version from 2.8.0 to 3.3.0.
Fix doca_install.sh to use major version for DOCA repo path.

Signed-off-by: Noam Tsemah <ntsemah@nvidia.com>
Signed-off-by: Noam Tsemah <ntsemah@nvidia.com>
sha1 might contain tag/<tag> as input, causing files created in the
blackduck script to be under a new sub folder that does not exist

Remove "tags/" prefix from sha1

Signed-off-by: NirWolfer <nwolfer@nvidia.com>
Signed-off-by: Noam Tsemah <ntsemah@nvidia.com>
Add Valgrind suppression for a sockperf memory leaks,
This is a genuine sockperf leak unrelated to libvma.

Signed-off-by: Bashar Abdelgafer <babdelgafer@nvidia.com>
Valgrind today is being terminated with -9 which prevents it from
printing all the summaries at the end which are needed for debuging.

Change -9 signal to -SIGINT af the first try of shutting down Valgrind

Signed-off-by: NirWolfer <nwolfer@nvidia.com>
Name anonymous structs socket_stats_t and socket_instance_block_t
to fix -Werror=non-c-typedef-for-linkage with newer compilers.
Structs with member functions require a tag name for C++ linkage.
Matches the existing pattern used by sh_mem_t in the same file.

Signed-off-by: Thomas Cabouly <tcabouly@nvidia.com>
Build with --enable-opt-log=no compiles ring_logfunc to ((void)0),
leaving 'freed' / 'count' assigned but unread and breaking
-Werror=unused-but-set-variable.

- ring_simple.cpp::put_tx_buffers: NOT_IN_USE(freed) before logfunc
- ring_tap.cpp::mem_buf_tx_release: NOT_IN_USE(freed) before logfunc
- ring_tap.cpp::mem_buf_desc_return_single_to_owner_tx: drop dead
  'count' (incremented but never logged or returned)

Signed-off-by: Tomer Cabouly <tcabouly@nvidia.com>
Build with --enable-opt-log=no compiles __log_funcall / __if_dbg /
si_udp_logfunc to ((void)0), and the BURST variant of
vma_ibv_modify_qp_rate_limit drops its mask argument, leaving variables
assigned but unread and breaking -Werror=unused-but-set-variable.

- verbs_extra.cpp::priv_ibv_modify_qp_ratelimit: NOT_IN_USE(attr_mask)
  after the modify call (mask is dropped by the macro under
  DEFINED_IBV_QP_SUPPORT_BURST).
- io_mux_call.cpp::polling_loops: NOT_IN_USE(poll_counter) after the
  trailing __if_dbg (only consumer when log levels are enabled).
- sockinfo_udp.cpp::rx_request_notification:
  NOT_IN_USE(ring_armed_count) before si_udp_logfunc (only consumer when
  log levels are enabled).

Signed-off-by: Tomer Cabouly <tcabouly@nvidia.com>
Add CI job that builds libvma in a Fedora Rawhide container

Signed-off-by: Noam Tsemah <ntsemah@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jul 19, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The CI matrix updates the secret-scan tool container from toolbox/secret_scan:0.0.27 to swx-storage/tools/secret_scan:devops-stable. Its architecture and category settings remain unchanged.

Changes

Secret Scan Image

Layer / File(s) Summary
Update secret-scan container reference
.ci/matrix_job.yaml
The secret-scan tool now uses the new registry path and stable image tag.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Poem

I’m a rabbit checking CI today,
The stable scan image leads the way.
Same arch and class, with a refreshed tag,
Secrets stay guarded in the build bag.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the CI change and the update to the secret-scan container registry.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@greptile-apps

greptile-apps Bot commented Jul 19, 2026

Copy link
Copy Markdown

Greptile Summary

This PR updates the CI matrix configuration to point the secret-scan step at the new registry path (swx-storage/tools/secret_scan:devops-stable), replacing the obsolete toolbox/secret_scan:0.0.27 location. No other CI steps or configuration are affected.

  • The registry host path changes from toolbox/secret_scan to swx-storage/tools/secret_scan, reflecting the team's migration to the new storage location.
  • The tag moves from the pinned 0.0.27 to the team-managed devops-stable floating tag.

Confidence Score: 5/5

  • Minimal-risk CI-only change that swaps an obsolete image path for the team's current registry location.
  • The change is a single-line registry URL update in CI configuration with no impact on library code or runtime behavior. The old path was explicitly called out as obsolete in the PR description, and the new path and tag appear to be the team's intentional replacement.
  • No files require special attention.

Important Files Changed

Filename Overview
.ci/matrix_job.yaml Updates the secret-scan Docker image from the obsolete toolbox/secret_scan:0.0.27 path to swx-storage/tools/secret_scan:devops-stable. All other matrix entries are unchanged.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[CI Matrix Job] --> B{Image Source}
    B -- "Before (obsolete)" --> C["${registry_host}/toolbox/secret_scan:0.0.27"]
    B -- "After (updated)" --> D["${registry_host}/swx-storage/tools/secret_scan:devops-stable"]
    D --> E[Secret Scan Step]
    C --> E
    E --> F[CI Validation Complete]
Loading

Reviews (2): Last reviewed commit: "issue: 770 [CI] Update secret-scan conta..." | Re-trigger Greptile

Comment thread .ci/matrix_job.yaml
- {name: 'blackduck', file: '.ci/dockerfiles/Dockerfile.rhel8.6', category: 'tool', arch: 'x86_64', tag: '20250630', uri: 'vma/$arch/$name/bduck', build_args: '--no-cache --target bduck'}
- {name: 'header-check', url: '${registry_host}/toolbox/header_check:0.0.58', category: 'tool', arch: 'x86_64', tag: '0.0.58'}
- {name: 'secret-scan', url: '${registry_host}/toolbox/secret_scan:0.0.27', arch: 'x86_64', tag: '0.0.27', category: 'tool'}
- {name: 'secret-scan', url: '${registry_host}/swx-storage/tools/secret_scan:devops-stable', arch: 'x86_64', tag: 'devops-stable', category: 'tool'}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Mutable floating tag reduces build reproducibility

The new tag devops-stable is a moving reference — any update to that image in the registry will silently change the behavior of the Secret Scan step without a corresponding change to this file. The previous pinned tag 0.0.27 ensured a specific, auditable image version was always pulled. If devops-stable is intentionally chosen by the team as a managed stable pointer, consider documenting that expectation; otherwise a pinned digest or explicit version tag would make CI behavior more predictable and easier to bisect on failures.

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@BennyItkin BennyItkin changed the title [CI] Update secret-scan container registry [CI] issue:INFINIOPS-770 Update secret-scan container registry Jul 22, 2026
@BennyItkin BennyItkin changed the title [CI] issue:INFINIOPS-770 Update secret-scan container registry [CI] issue: INFINIOPS-770 Update secret-scan container registry Jul 22, 2026
@BennyItkin

Copy link
Copy Markdown

bot:rm:retest

@elkopel

elkopel commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator Author

fail reason - missing redmine issue number.

## What
Use the devops-stable secret-scan image from swx-storage.

## Why ?
The previous secret-scan registry path is obsolete.

## How ?
Update the image URL and tag in the CI matrix.
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@BennyItkin
BennyItkin changed the base branch from master to vNext August 12, 2026 14:39
@BennyItkin

Copy link
Copy Markdown

bot:retest

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.