• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

agama-project / agama / 29560638065
83%

Build:
DEFAULT BRANCH: master
Ran 17 Jul 2026 06:40AM UTC
Jobs 3
Files 1046
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

17 Jul 2026 06:38AM UTC coverage: 83.119%. Remained the same
29560638065

push

github

web-flow
Do not set the dns search list for disabled IP protocols (bsc#127481) (#3731)

### Summary

This PR resolves an issue where configuring a connection with disabled
IP protocols failed in NetworkManager if a DNS search list was defined
(`bsc#127481`). Additionally, it corrects a conversion mismatch for
`dnsSearchList` in the AutoYaST network reader.

- SUSE Bugzilla:
[bsc#127481](https://bugzilla.suse.com/show_bug.cgi?id=1271481)


### Problem
1. **NetworkManager Validation Failure:** NetworkManager validates
settings and throws an error if IP-specific attributes (such as
`dns-search`) are present on a protocol whose method is set to
`disabled` (e.g., when disabling IPv6 entirely). The problem is not
limited to what Agama serializes: when updating a connection, Agama
merges its output on top of the connection already stored by
NetworkManager, so contradictory values (e.g. a `dns-search` or
`address-data` left over from a previous `manual` configuration) can be
inherited from the existing connection and re-sent even though the
method is now `disabled`.
2. **AutoYaST Conversion Error:** The AutoYaST parser was translating
the `searchlist` key to snake_case (`dns_searchlist`) instead of the
camelCase (`dnsSearchList`) expected by Agama's connection models,
causing DNS search configurations from profiles to be ignored or
improperly mapped.

### Solution
- **Rust (NetworkManager Client):**
- Added `cleanup_disabled_ip_config` in
`rust/agama-network/src/nm/dbus.rs`, called from
`cleanup_dbus_connection`. When an `ipv4`/`ipv6` section has its method
set to `disabled`, it drops every attribute except `method`. Because
`cleanup_dbus_connection` runs *after* merging with the existing
connection, this also removes contradictory values inherited from it,
not just the ones Agama would serialize.
- This centralizes the "disabled means empty" invariant in a single
place, covering `dns-search` as well as `address-data`, `gateway`,
`dns-data`, routes, etc.
- **Service (... (continued)

4899 of 6836 branches covered (71.66%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

25585 of 29839 relevant lines covered (85.74%)

123.82 hits per line

Subprojects
ID Flag name Job ID Ran Files Coverage
3 service 29560638065.3 17 Jul 2026 06:40AM UTC 319
92.37
GitHub Action Run
1 rust 19474749743.1 18 Nov 2025 05:18PM UTC 185
22.45
GitHub Action Run
3 web 29510351317.3 16 Jul 2026 03:19PM UTC 727
80.02
GitHub Action Run
Source Files on build 29560638065
  • Tree
  • List 1046
  • Changed 3
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29560638065
  • bdbec10e on github
  • Prev Build on master (#29510351317)
  • Next Build on master (#29570674828)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc