Bugzilla – Bug 1217968
[SECURITY][Build 44.1] CC evaluated configuration role installation error in 15-SP6
Last modified: 2024-02-05 15:50:07 UTC
Created attachment 871280 [details] local y2logs openQA test in scenario sle-15-SP6-Online-x86_64-create_hdd_textmode_common_criteria@64bit fails in [partitioning](https://openqa.suse.de/tests/12947910/modules/partitioning/steps/2) Last good: [40.1](https://openqa.suse.de/tests/12932726) (or more recent) Testing locally, I get "cannot load such file -- y2common_criteria/dialogs/installation" as the first error. y2logs attached. This prevents all our CC testing.
Maybe this bug should go directly to YaST component since it's already at install time?
Link to Build44.1: https://openqa.suse.de/tests/13003738#step/partitioning/2
Please explain what the test does and what it is that you think is a bug. "openQA test fails" would just mean that the test is buggy; that is probably not what you mean. We've been through that countless times. See also https://en.opensuse.org/openSUSE:How_to_Write_a_Good_Bugreport
I linked to the openQA test error so you can see the flow there, but as mentioned I tested it locally. 1. Start installation in qemu with SLE-15-SP6-Online-x86_64-Build44.1-Media1.iso (UEFI, TPM) 1. Go with all defaults, but on the role page select Common Criteria evaluated configuration The error quoted in the description is gotten and seen in the logs. Sorry that I did not start the description with the local testing results, I know the template texts easily indicate that it's simply a link to a failing openQA test.
From the attached logs: > Calling YaST client inst_cc_mode > Call client /mounts/mp_0001/usr/share/YaST2/clients/inst_cc_mode.rb > Client /mounts/mp_0001/usr/share/YaST2/clients/inst_cc_mode.rb > failed with 'cannot load such file -- > y2common_criteria/dialogs/installation' (LoadError).
That role is defined in this repository/package. That at first glance seems to contain that file that is being reported to be missing. https://github.com/yast/system-role-common-criteria
> I linked to the openQA test error so you can see the flow there NO. We have been reverse engineering cryptic OpenQA tests since at least 2015, and we decided that we are no longer wading through hundreds of screenshots. A description what the test does and what its purpose is should be the default for every single test, but ususally there is either absolutely nothing (like here). So we can just guess what the purpose of those dozens or sometimes even hundreds of screenshots is. That's reverse engineering. And that's a giant waste of development time when the creator of the test already KNOWS that the test does, and that its purpose or focus is. https://openqa.suse.de/tests/12932726 (the last good - what does it do? Let the guessing begin; especially the "console" part that consists of a gazillion shell commands) I am sick and tired of repeating this discussion again and again.
The "Last good" information could be changed to be not a link, it's probably enough (of a sidenote) to know that in Build40.1 the problem was not not there yet, no need to go to the sea of screenshots. I agree the openQA linking is not very useful, but this is not the right place for that discussion, so let's focus on the actual problem which is that installing Build44.1 with CC role fails with the error message about missing file. I could provide a video also, but as said the error appears with all-defaults by simply selecting the CC role and clickign Next.
Full backtraces (there are several ones) from the attached y2logs tarball: > 2023-12-12 02:09:24 <1> install(3922) [Interpreter] > installation/select_system_role.rb:191 > Calling YaST client inst_cc_mode > . > 2023-12-12 02:09:24 <1> install(3922) [Ruby] yast/wfm.rb(run_client):341 > Call client /mounts/mp_0001/usr/share/YaST2/clients/inst_cc_mode.rb > . > 2023-12-12 02:09:24 <3> install(3922) [Ruby] yast/wfm.rb(handle_exception):271 > Client /mounts/mp_0001/usr/share/YaST2/clients/inst_cc_mode.rb > failed with 'cannot load such file -- > y2common_criteria/dialogs/installation' (LoadError). > . > usr/lib64/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' > usr/lib64/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' > usr/share/YaST2/clients/inst_cc_mode.rb:20:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/lib/installation/select_system_role.rb:191:in `block in run_clients' > usr/share/YaST2/lib/installation/select_system_role.rb:190:in `loop' > usr/share/YaST2/lib/installation/select_system_role.rb:190:in `run_clients' > usr/share/YaST2/lib/installation/select_system_role.rb:169:in `select_role' > usr/share/YaST2/lib/installation/select_system_role.rb:104:in `next_handler' > usr/share/YaST2/lib/ui/event_dispatcher.rb:47:in `public_send' > usr/share/YaST2/lib/ui/event_dispatcher.rb:47:in `block in event_loop' > usr/share/YaST2/lib/ui/event_dispatcher.rb:43:in `loop' > usr/share/YaST2/lib/ui/event_dispatcher.rb:43:in `event_loop' > usr/share/YaST2/lib/ui/dialog.rb:53:in `run' > usr/share/YaST2/lib/installation/select_system_role.rb:71:in `run' > usr/share/YaST2/clients/inst_system_role.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/lib/add-on/clients/inst_add-on.rb:104:in `main' > usr/share/YaST2/clients/inst_add-on.rb:3:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/lib/y2packager/clients/inst_product_workflow.rb:57:in `merge_and_run_workflow' > usr/share/YaST2/lib/y2packager/clients/inst_product_workflow.rb:44:in `main' > usr/share/YaST2/clients/inst_product_workflow.rb:3:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/modules/ProductControl.rb:1501:in `Run' > usr/share/YaST2/lib/installation/clients/inst_worker_initial.rb:99:in `main' > usr/share/YaST2/clients/inst_worker_initial.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/lib/installation/clients/installation.rb:92:in `block in main' > usr/share/YaST2/lib/ui/wizards/layout.rb:186:in `open_wizard' > usr/share/YaST2/lib/installation/clients/installation.rb:60:in `main' > usr/share/YaST2/clients/installation.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > 2023-12-12 02:09:35 <1> install(3922) [Ruby] > installation/select_system_role.rb(block in run_clients):198 > client inst_cc_mode return false > . > 2023-12-12 02:09:35 <3> install(3922) [Ruby] yast/wfm.rb(handle_exception):271 > Client /mounts/mp_0001/usr/share/YaST2/clients/inst_system_role.rb > failed with 'unsupported client response false' (RuntimeError). > . > usr/share/YaST2/lib/installation/select_system_role.rb:210:in `block in run_clients' > usr/share/YaST2/lib/installation/select_system_role.rb:190:in `loop' > usr/share/YaST2/lib/installation/select_system_role.rb:190:in `run_clients' > usr/share/YaST2/lib/installation/select_system_role.rb:169:in `select_role' > usr/share/YaST2/lib/installation/select_system_role.rb:104:in `next_handler' > usr/share/YaST2/lib/ui/event_dispatcher.rb:47:in `public_send' > usr/share/YaST2/lib/ui/event_dispatcher.rb:47:in `block in event_loop' > usr/share/YaST2/lib/ui/event_dispatcher.rb:43:in `loop' > usr/share/YaST2/lib/ui/event_dispatcher.rb:43:in `event_loop' > usr/share/YaST2/lib/ui/dialog.rb:53:in `run' > usr/share/YaST2/lib/installation/select_system_role.rb:71:in `run' > usr/share/YaST2/clients/inst_system_role.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/lib/add-on/clients/inst_add-on.rb:104:in `main' > usr/share/YaST2/clients/inst_add-on.rb:3:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/lib/y2packager/clients/inst_product_workflow.rb:57:in `merge_and_run_workflow' > usr/share/YaST2/lib/y2packager/clients/inst_product_workflow.rb:44:in `main' > usr/share/YaST2/clients/inst_product_workflow.rb:3:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/modules/ProductControl.rb:1306:in `block in RunFrom' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/y2logger.rb:98:in `group' > usr/share/YaST2/modules/ProductControl.rb:1276:in `RunFrom' > usr/share/YaST2/modules/ProductControl.rb:1501:in `Run' > usr/share/YaST2/lib/installation/clients/inst_worker_initial.rb:99:in `main' > usr/share/YaST2/clients/inst_worker_initial.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction' > usr/share/YaST2/lib/installation/clients/installation.rb:92:in `block in main' > usr/share/YaST2/lib/ui/wizards/layout.rb:186:in `open_wizard' > usr/share/YaST2/lib/installation/clients/installation.rb:60:in `main' > usr/share/YaST2/clients/installation.rb:2:in `<top (required)>' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `eval' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:345:in `run_client' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:206:in `call_builtin_wrapper' > usr/lib64/ruby/vendor_ruby/2.5.0/yast/wfm.rb:195:in `CallFunction'
I downloaded and booted that ISO with 'ssh' and checked that file: 0:install:/usr/share/YaST2/clients # cat inst_cc_mode.rb # # Copyright header omitted # require "y2common_criteria/dialogs/installation" Y2CommonCriteria::Dialogs::Installation.new.run 0:install:~ # find -L /usr/share/YaST2 -type d -name "dialogs" /usr/share/YaST2/lib/autoinstall/dialogs /usr/share/YaST2/lib/installation/dialogs /usr/share/YaST2/lib/registration/dialogs /usr/share/YaST2/lib/services-manager/dialogs /usr/share/YaST2/lib/slp/dialogs /usr/share/YaST2/lib/users/dialogs /usr/share/YaST2/lib/y2configuration_management/dialogs /usr/share/YaST2/lib/y2firewall/dialogs /usr/share/YaST2/lib/y2keyboard/dialogs /usr/share/YaST2/lib/y2network/dialogs /usr/share/YaST2/lib/y2packager/dialogs /usr/share/YaST2/lib/y2partitioner/dialogs /usr/share/YaST2/lib/y2remote/dialogs /usr/share/YaST2/lib/y2storage/dialogs 0:install:~ # find -L /usr/share/YaST2 -type d -name "dialogs" | grep common (nothing) 'clients/inst_cc_mode.rb' comes the here: https://github.com/yast/system-role-common-criteria/blob/master/src/clients/inst_cc_mode.rb and this is the file that it wants to include with 'require': https://github.com/yast/system-role-common-criteria/blob/master/src/lib/y2common_criteria/dialogs/installation.rb but the whole y2common_criteria subtree is missing on the image.
installation-images has: ?system-role-common-criteria: nodeps /usr/share/YaST2/lib/y2system_role_handlers/cc_role_finish.rb /usr/share/YaST2/clients/inst_cc_mode.rb So I think this needs to be adjusted. (Wierd it works on 15-SP4, but perhaps its because its loads from the update repo und unpacks all of it.)
Downloading the package from here: https://download.suse.de/ibs/SUSE:/SLE-15-SP6:/GA/standard/x86_64/system-role-common-criteria-15.6.1-150600.1.1.x86_64.rpm % rpm -qpl system-role-common-criteria-15.6.1-150600.1.1.x86_64.rpm /usr/share/YaST2 /usr/share/YaST2/clients /usr/share/YaST2/clients/inst_cc_mode.rb /usr/share/YaST2/lib /usr/share/YaST2/lib/y2common_criteria /usr/share/YaST2/lib/y2common_criteria.rb /usr/share/YaST2/lib/y2common_criteria/dialogs /usr/share/YaST2/lib/y2common_criteria/dialogs/installation.rb /usr/share/YaST2/lib/y2common_criteria/encryption.rb /usr/share/YaST2/lib/y2system_role_handlers /usr/share/YaST2/lib/y2system_role_handlers/cc_role_finish.rb /usr/share/doc/packages/system-role-common-criteria /usr/share/doc/packages/system-role-common-criteria/LICENSE /usr/share/system-roles /usr/share/system-roles/common-criteria.xml Using 'unrpm', then 'tree' on it: > usr > └── share > ├── doc > │ └── packages > │ └── system-role-common-criteria > │ └── LICENSE > ├── system-roles > │ └── common-criteria.xml > └── YaST2 > ├── clients > │ └── inst_cc_mode.rb > └── lib > ├── y2common_criteria > │ ├── dialogs > │ │ └── installation.rb > │ └── encryption.rb > ├── y2common_criteria.rb > └── y2system_role_handlers > └── cc_role_finish.rb The RPM looks good.
Right; this: https://github.com/openSUSE/installation-images/blob/master/data/root/root.file_list#L288-L290 ?system-role-common-criteria: nodeps /usr/share/YaST2/lib/y2system_role_handlers/cc_role_finish.rb /usr/share/YaST2/clients/inst_cc_mode.rb ...should rather be the whole package content except maybe /usr/share/doc, i.e. /usr/share/system-roles /usr/share/YaST2
For SLE15-SP6: https://github.com/openSUSE/installation-images/pull/676
For TW: https://github.com/openSUSE/installation-images/pull/677
See also bug #1218652
SUSE-RU-2024:0144-1: An update that has two fixes can now be installed. Category: recommended (moderate) Bug References: 1217968, 1218652 Sources used: openSUSE Leap 15.5 (src): installation-images-SLES-16.58.9-150500.3.6.1 Basesystem Module 15-SP5 (src): installation-images-SLES-16.58.9-150500.3.6.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.