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

openSUSE / agama / 8374097791
72%

Build:
DEFAULT BRANCH: master
Ran 21 Mar 2024 11:24AM UTC
Jobs 3
Files 715
Run time 1min
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

21 Mar 2024 11:21AM UTC coverage: 74.833% (+0.06%) from 74.772%
8374097791

push

github

web-flow
[Service] Alternative location for volumes (#1105)

## Problem

The storage proposal allows to specify what to do in order to allocate
any volume:

- Use the default location (new partition or new LV)
- Create it in a given disk as a new partition
- Create it as a new LV in a new dedicated VG on top of a given disk
- Reformat an existing device
- Mount an existing device

Everything is possible, no matter whether the default target is a disk
or a new LVM VG.

So far, it was not possible to use the Agama D-Bus settings to specify
that to the proposal, so all volumes always used the default location.

## Solution

This adds two new attributes to the D-Bus definition of a volume:
`Target` and `TargetDevice`.

Internally, this is represented by a new class `VolumeLocation` with two
attributes:
  - `target`: which specifies how to allocate the volume
- `device`: the name of the target device, the exact meaning depends on
`target`

The new class and the possible targets follow the same approach of
`SpaceSettings` and its policies.

## Testing

- Added several unit tests
- Tested manually by hacking the web UI a bit (see screenshots below)

## Screenshots

Hacking the web UI to set Target to `filesystem` and TargetDevice to
`/dev/vdb5` (which contains a Btrfs file system).


![mount-new](https://github.com/openSUSE/agama/assets/3638289/9a8d83ea-b946-4fe6-b850-3058fdd353ca)

Hacking the web UI to set Target to `new_vg` and TargetDevice to
`/dev/vdc`.


![vg-new](https://github.com/openSUSE/agama/assets/3638289/ed90a87d-ac8e-45d0-85cf-4eff9f62f890)

1639 of 2432 branches covered (67.39%)

Branch coverage included in aggregate %.

47 of 49 new or added lines in 6 files covered. (95.92%)

2 existing lines in 1 file now uncovered.

17570 of 23237 relevant lines covered (75.61%)

24.63 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
95.24
-4.76% service/lib/agama/storage/volume_conversion/from_y2storage.rb

Uncovered Existing Lines

Lines Coverage ∆ File
2
95.24
-4.76% service/service/lib/agama/storage/volume_conversion/from_y2storage.rb
Subprojects
ID Flag name Job ID Ran Files Coverage
1 service 8374097791.1 21 Mar 2024 11:24AM UTC 326
85.51
GitHub Action Run
1 web 8362412120.1 20 Mar 2024 04:28PM UTC 309
74.69
GitHub Action Run
1 rust 8187148015.1 07 Mar 2024 11:16AM UTC 80
42.49
GitHub Action Run
Source Files on build 8374097791
  • Tree
  • List 715
  • Changed 17
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #8374097791
  • 3680ba4a on github
  • Prev Build on master (#8362412120)
  • Next Build on master (#8391640425)
  • 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