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

agama-project / agama / 15820339826
74%

Build:
DEFAULT BRANCH: master
Ran 23 Jun 2025 09:23AM UTC
Jobs 3
Files 998
Run time 5min
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

23 Jun 2025 09:20AM UTC coverage: 76.143% (+11.2%) from 64.909%
15820339826

push

github

web-flow
Add support to bind a connection to an specific mac-address (bsc#1244259) (#2472)

## Problem

In an Agama profile it is possible to bind a connection to an specific
device using its interface name but it is not possible to use the mac
address, that option is only supported by the kernel cmdline or using
nmcli directly. The profile allows to set a mac address but that is the
assign-mac-address instead of the mac-address attribute.

At least the Agama profile should support it.

In the UI there is no option to bind a connection to an specific device
and this specially problematic with the default.

- https://bugzilla.suse.com/show_bug.cgi?id=1244259
-
https://trello.com/c/yt0Xd9ah/1663-1244259-unable-to-bind-a-specific-mac-address-to-a-connection?search_id=a1d25067-f7fc-40ec-b829-0d278f9836b0

## Solution

Modify the schema renaming the mac address assignation attribute to
customMacAddress and using the macAddress to bind the connection to an
specific mac.

```json
{
  "network": {
    "connections": [
      {
        "id": "eth0",
        "method4": "auto",
        "method6": "auto",
        "ignoreAutoDns": false,
        "interface": "eth0",
        "macAddress": "A0:CE:C8:F2:F7:CA",
        "status": "up",
        "autoconnect": true,
        "persistent": true
      }
    ]
  }
}
```

There was not possible to delete optional attributes from NetworkManager
like the **interface-name** or the **macAddress** using Optional values
because if set already the merge will use the one which is present, that
has been fixed for these two attributes allowing to switch between them
although the solution should be extended to other cases.

Example (should unset the **mac-address** as it is not declared in the
first example and the **interface-name** in the second):

```json
{
  "network": {
    "connections": [
      {
        "id": "eth0",
        "method4": "auto",
        "method6": "auto",
        "ignoreAutoDns": false,
        "interface": "eth0",
       ... (continued)

1840 of 3390 branches covered (54.28%)

Branch coverage included in aggregate %.

0 of 39 new or added lines in 2 files covered. (0.0%)

2 existing lines in 1 file now uncovered.

21625 of 27427 relevant lines covered (78.85%)

61.32 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
8
0.0
0.0% rust/agama-network/src/model.rs
31
0.0
0.0% rust/agama-network/src/nm/dbus.rs

Uncovered Existing Lines

Lines Coverage ∆ File
2
0.0
0.0% rust/agama-network/src/nm/dbus.rs
Subprojects
ID Flag name Job ID Ran Files Coverage
1 rust 15820339826.1 23 Jun 2025 09:23AM UTC 119
1.3
GitHub Action Run
3 web 15731940888.3 18 Jun 2025 11:48AM UTC 532
67.58
GitHub Action Run
3 service 15818031836.3 23 Jun 2025 07:33AM UTC 385
88.73
GitHub Action Run
Source Files on build 15820339826
  • Tree
  • List 1036
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #15820339826
  • 9b63cccc on github
  • Prev Build on master (#15818031836)
  • Next Build on master (#15820730866)
  • 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