Skip to content

Commit

Permalink
storage: Never install packages on-demand in Anaconda mode
Browse files Browse the repository at this point in the history
  • Loading branch information
mvollmer committed Aug 29, 2024
1 parent 4bbac21 commit c7f1827
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pkg/storaged/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -960,6 +960,10 @@ function init_model(callback) {
}

function enable_pk_features() {
if (client.in_anaconda_mode()) {
client.features.packagekit = false;
return Promise.resolve();
}
return PK.detect().then(function (available) { client.features.packagekit = available });
}

Expand Down
10 changes: 10 additions & 0 deletions test/common/testlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@
'arg_parser',
'no_retry_when_changed',
'nondestructive',
'destructive',
'onlyImage',
'opts',
'sit',
Expand Down Expand Up @@ -2488,6 +2489,15 @@ def nondestructive(testEntity: _T) -> _T:
return testEntity


def destructive(testEntity: _T) -> _T:
"""Tests decorated as destructive will get their own VM
Can be used on test classes and individual test methods.
"""
setattr(testEntity, '_testlib__nondestructive', False)
return testEntity


def no_retry_when_changed(testEntity: _T) -> _T:
"""Tests decorated with no_retry_when_changed will only run once if they've been changed
Expand Down
26 changes: 26 additions & 0 deletions test/verify/check-storage-anaconda
Original file line number Diff line number Diff line change
Expand Up @@ -638,6 +638,32 @@ AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
self.dialog_wait_close()
b.wait_text(self.card_row_col("Storage", 1, 3), "Unformatted data")

@testlib.skipImage("No Stratis", "debian-*", "ubuntu-*")
@testlib.skipImage("No Anaconda", "arch")
@testlib.destructive
def testNoOndemandPackages(self):
b = self.browser
m = self.machine

disk = self.add_loopback_disk(name="loop10")

m.execute("systemctl stop stratisd; dnf remove -y stratisd stratis")

anaconda_config = {
"mount_point_prefix": "/sysroot",
"available_devices": [disk],
}

self.login_and_go("/storage")
self.enterAnacondaMode(anaconda_config)

dropdown_toggle = self.dropdown_toggle(self.card_header("Storage"))
raid_action = self.dropdown_action(self.card_header("Storage"), "Create MDRAID device")
stratis_action = self.dropdown_action(self.card_header("Storage"), "Create Stratis pool")
b.click(dropdown_toggle)
b.wait_visible(raid_action)
b.wait_not_present(stratis_action)


if __name__ == '__main__':
testlib.test_main()

0 comments on commit c7f1827

Please sign in to comment.