From 240a885eff2b4c3ab45438abe692314bbebf9ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?= Date: Wed, 30 Oct 2024 11:29:02 +0000 Subject: [PATCH 1/3] feat(storage): do not generate search wildcard --- .../config_conversions/to_json_conversions/search.rb | 7 ------- service/lib/agama/storage/configs/search.rb | 7 ------- .../test/agama/storage/config_conversions/to_json_test.rb | 8 ++++++-- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/service/lib/agama/storage/config_conversions/to_json_conversions/search.rb b/service/lib/agama/storage/config_conversions/to_json_conversions/search.rb index 9cc21417f9..957392e25b 100644 --- a/service/lib/agama/storage/config_conversions/to_json_conversions/search.rb +++ b/service/lib/agama/storage/config_conversions/to_json_conversions/search.rb @@ -33,13 +33,6 @@ def self.config_type Configs::Search end - # @see Base#convert - def convert - return SEARCH_ANYTHING_STRING if config.all_if_any? - - super - end - private # @see Base#conversions diff --git a/service/lib/agama/storage/configs/search.rb b/service/lib/agama/storage/configs/search.rb index 6066ec9bb8..abc826b9da 100644 --- a/service/lib/agama/storage/configs/search.rb +++ b/service/lib/agama/storage/configs/search.rb @@ -71,13 +71,6 @@ def always_match? name.nil? end - # Whether the search matches all the available devices, skipping if none is found - # - # @return [Boolean] - def all_if_any? - always_match? && max.nil? && if_not_found == :skip - end - # Whether the section containing the search should be skipped # # @return [Boolean] diff --git a/service/test/agama/storage/config_conversions/to_json_test.rb b/service/test/agama/storage/config_conversions/to_json_test.rb index 977c0f5f13..4b6b9d1062 100644 --- a/service/test/agama/storage/config_conversions/to_json_test.rb +++ b/service/test/agama/storage/config_conversions/to_json_test.rb @@ -150,11 +150,15 @@ context "if there are no conditions or limits and errors should be skipped" do let(:search) { { ifNotFound: "skip" } } - it "generates a wildcard" do + it "generates the expected JSON" do config_json = result_scope.call(subject.convert) search_json = config_json[:search] - expect(search_json).to eq "*" + expect(search_json).to eq( + { + ifNotFound: "skip" + } + ) end end end From a325d9b0898be332a35191aaa2f8152d3a6d845d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?= Date: Wed, 30 Oct 2024 11:29:43 +0000 Subject: [PATCH 2/3] fix(storage): avoid error when setting storage config - gh#agama-project/agama#1706 --- service/lib/agama/storage/config_conversions.rb | 3 --- .../config_conversions/from_json_conversions/search.rb | 6 ++++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/service/lib/agama/storage/config_conversions.rb b/service/lib/agama/storage/config_conversions.rb index 17ff47ee9b..e8f49d38f5 100644 --- a/service/lib/agama/storage/config_conversions.rb +++ b/service/lib/agama/storage/config_conversions.rb @@ -26,9 +26,6 @@ module Agama module Storage # Conversions for the storage config. module ConfigConversions - # Reserved string for Configs::Search meaning 'match all devices if there is any' - SEARCH_ANYTHING_STRING = "*" - private_constant :SEARCH_ANYTHING_STRING end end end diff --git a/service/lib/agama/storage/config_conversions/from_json_conversions/search.rb b/service/lib/agama/storage/config_conversions/from_json_conversions/search.rb index 7b372f55d8..e742de66a2 100644 --- a/service/lib/agama/storage/config_conversions/from_json_conversions/search.rb +++ b/service/lib/agama/storage/config_conversions/from_json_conversions/search.rb @@ -36,6 +36,12 @@ def convert private + # Reserved search value meaning 'match all devices or ignore the section'. + # + # { search: "*" } is a shortcut for { search: { ifNotFound: "skip" } }. + SEARCH_ANYTHING_STRING = "*" + private_constant :SEARCH_ANYTHING_STRING + alias_method :search_json, :config_json # @see Base#conversions From f2052af08b6bfed94611b8647c93e94cf0998928 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Iv=C3=A1n=20L=C3=B3pez=20Gonz=C3=A1lez?= Date: Wed, 30 Oct 2024 11:38:51 +0000 Subject: [PATCH 3/3] service: changelog --- service/package/rubygem-agama-yast.changes | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/service/package/rubygem-agama-yast.changes b/service/package/rubygem-agama-yast.changes index e92f3ce3da..10295b28f1 100644 --- a/service/package/rubygem-agama-yast.changes +++ b/service/package/rubygem-agama-yast.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Oct 30 11:33:54 UTC 2024 - José Iván López González + +- Storage: do not generate config json with search wildcard + (gh#agama-project/agama#1713). +- Storage: fix issue when setting config + (gh#agama-project/agama#1706). + ------------------------------------------------------------------- Thu Oct 24 14:44:35 UTC 2024 - Ancor Gonzalez Sosa @@ -21,7 +29,7 @@ Wed Oct 16 15:09:31 UTC 2024 - Imobach Gonzalez Sosa - Add support for running user-defined scripts after the installation (gh#agama-project/agama#1673). - + ------------------------------------------------------------------- Wed Oct 16 14:35:47 UTC 2024 - José Iván López González