Hello community, here is the log from the commit of package autoyast2 for openSUSE:Factory checked in at 2018-04-26 13:30:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/autoyast2 (Old) and /work/SRC/openSUSE:Factory/.autoyast2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "autoyast2" Thu Apr 26 13:30:09 2018 rev:242 rq:599931 version:4.0.49 Changes: -------- --- /work/SRC/openSUSE:Factory/autoyast2/autoyast2.changes 2018-04-07 20:51:21.874752511 +0200 +++ /work/SRC/openSUSE:Factory/.autoyast2.new/autoyast2.changes 2018-04-26 13:30:11.261324093 +0200 @@ -1,0 +2,26 @@ +Fri Apr 20 20:58:54 UTC 2018 - [email protected] + +- AutoYaST: properly handle empty proposals (bsc#1090390). +- 4.0.49 + +------------------------------------------------------------------- +Mon Apr 16 11:45:45 UTC 2018 - [email protected] + +- Probe storage devices again after initializing DASD or zFCP + devices (bsc#1089326 and bsc#1089554). +- 4.0.48 + +------------------------------------------------------------------- +Mon Apr 16 07:53:36 UTC 2018 - [email protected] + +- Install the module products also in AutoYaST autoupgrade + (related to bsc#1086818 and bsc#1087206) +- 4.0.47 + +------------------------------------------------------------------- +Fri Apr 13 13:47:51 UTC 2018 - [email protected] + +- Honor partitioning settings from product (bsc#1085755). +- 4.0.46 + +------------------------------------------------------------------- Old: ---- autoyast2-4.0.45.tar.bz2 New: ---- autoyast2-4.0.49.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ autoyast2.spec ++++++ --- /var/tmp/diff_new_pack.o9uG9j/_old 2018-04-26 13:30:11.805304168 +0200 +++ /var/tmp/diff_new_pack.o9uG9j/_new 2018-04-26 13:30:11.809304021 +0200 @@ -22,7 +22,7 @@ %endif Name: autoyast2 -Version: 4.0.45 +Version: 4.0.49 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -48,8 +48,8 @@ BuildRequires: yast2-transfer BuildRequires: yast2-update >= 3.3.0 BuildRequires: yast2-xml -# ActivateCallbacks::multipath signature -BuildRequires: yast2-storage-ng >= 4.0.116 +# AutoinstIssues::NoProposal +BuildRequires: yast2-storage-ng >= 4.0.160 # %%{_unitdir} macro definition is in a separate package since 13.1 %if 0%{?suse_version} >= 1310 @@ -69,8 +69,8 @@ Requires: yast2-schema Requires: yast2-transfer >= 2.21.0 Requires: yast2-xml -# Y2Storage::AutoinstProfile::SkipListValue#to_hash -Requires: yast2-storage-ng >= 4.0.23 +# AutoinstIssues::NoProposal +Requires: yast2-storage-ng >= 4.0.160 Conflicts: yast2-installation < 3.1.166 Provides: yast2-config-autoinst ++++++ autoyast2-4.0.45.tar.bz2 -> autoyast2-4.0.49.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/package/autoyast2.changes new/autoyast2-4.0.49/package/autoyast2.changes --- old/autoyast2-4.0.45/package/autoyast2.changes 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/package/autoyast2.changes 2018-04-23 11:08:21.000000000 +0200 @@ -1,4 +1,30 @@ ------------------------------------------------------------------- +Fri Apr 20 20:58:54 UTC 2018 - [email protected] + +- AutoYaST: properly handle empty proposals (bsc#1090390). +- 4.0.49 + +------------------------------------------------------------------- +Mon Apr 16 11:45:45 UTC 2018 - [email protected] + +- Probe storage devices again after initializing DASD or zFCP + devices (bsc#1089326 and bsc#1089554). +- 4.0.48 + +------------------------------------------------------------------- +Mon Apr 16 07:53:36 UTC 2018 - [email protected] + +- Install the module products also in AutoYaST autoupgrade + (related to bsc#1086818 and bsc#1087206) +- 4.0.47 + +------------------------------------------------------------------- +Fri Apr 13 13:47:51 UTC 2018 - [email protected] + +- Honor partitioning settings from product (bsc#1085755). +- 4.0.46 + +------------------------------------------------------------------- Tue Apr 3 10:43:16 UTC 2018 - [email protected] - Fix tests to use correct storage instance (part of fate#318196). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/package/autoyast2.spec new/autoyast2-4.0.49/package/autoyast2.spec --- old/autoyast2-4.0.45/package/autoyast2.spec 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/package/autoyast2.spec 2018-04-23 11:08:21.000000000 +0200 @@ -22,7 +22,7 @@ %endif Name: autoyast2 -Version: 4.0.45 +Version: 4.0.49 Release: 0 BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -48,8 +48,8 @@ BuildRequires: yast2-update >= 3.3.0 BuildRequires: yast2-slp BuildRequires: yast2-country -# ActivateCallbacks::multipath signature -BuildRequires: yast2-storage-ng >= 4.0.116 +# AutoinstIssues::NoProposal +BuildRequires: yast2-storage-ng >= 4.0.160 # %%{_unitdir} macro definition is in a separate package since 13.1 %if 0%{?suse_version} >= 1310 @@ -69,8 +69,8 @@ Requires: yast2-schema Requires: yast2-transfer >= 2.21.0 Requires: yast2-xml -# Y2Storage::AutoinstProfile::SkipListValue#to_hash -Requires: yast2-storage-ng >= 4.0.23 +# AutoinstIssues::NoProposal +Requires: yast2-storage-ng >= 4.0.160 Conflicts: yast2-installation < 3.1.166 Provides: yast2-config-autoinst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/src/clients/inst_autosetup.rb new/autoyast2-4.0.49/src/clients/inst_autosetup.rb --- old/autoyast2-4.0.45/src/clients/inst_autosetup.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/src/clients/inst_autosetup.rb 2018-04-23 11:08:21.000000000 +0200 @@ -135,6 +135,9 @@ # Progress.NextStage + # Merging selected product + AutoinstSoftware.merge_product(AutoinstFunctions.selected_product) + # configure general settings AutoinstGeneral.Import(Ops.get_map(Profile.current, "general", {})) Builtins.y2milestone( @@ -159,7 +162,7 @@ elsif !AutoinstConfig.second_stage() # Second stage of installation will not be called but a # network configuration is available. So this will be written - # while the general inst_finish process at the end of the + # during the general inst_finish process at the end of the # first stage. But for the installation workflow the linuxrc # network settings will be taken. (bnc#944942) Builtins.y2milestone( @@ -255,7 +258,8 @@ # moved here from autoinit for fate #301193 # needs testing - if Arch.s390 && AutoinstConfig.remoteProfile == true + s390_and_remote_profile = Arch.s390 && AutoinstConfig.remoteProfile == true + if s390_and_remote_profile Builtins.y2milestone("arch=s390 and remote_profile=true") if Builtins.haskey(Profile.current, "dasd") Builtins.y2milestone("dasd found") @@ -274,7 +278,7 @@ Progress.NextStage - probe_storage if modified_profile? + probe_storage if modified_profile? || s390_and_remote_profile if Profile.current["partitioning_advanced"] && !Profile.current["partitioning_advanced"].empty? write_storage = AutoinstStorage.ImportAdvanced(Profile.current["partitioning_advanced"]) @@ -304,7 +308,7 @@ # Bootloader # The bootloader has to be called before software selection. - # So the software selection can take care about packages + # So the software selection is aware and can manage packages # needed by the bootloader (bnc#876161) return :abort if Popup.ConfirmAbort(:painless) if UI.PollInput == :abort @@ -322,7 +326,7 @@ Progress.NextStage # The configuration_management has to be called before software selection. - # So the software selection can take care about packages + # So the software selection is aware and can manage packages # needed by the configuration_management. if Profile.current["configuration_management"] return :abort unless WFM.CallFunction( @@ -357,16 +361,13 @@ Progress.NextStage - # Merging selected product - AutoinstSoftware.merge_product(AutoinstFunctions.selected_product) - # Evaluating package and patterns selection. - # Selection will stored in PackageAI. + # Selection will be stored in PackageAI. AutoinstSoftware.Import(Ops.get_map(Profile.current, "software", {})) # Add additional packages in order to run YAST modules which - # has been defined the AutoYaST configuration file. - # Selection will stored in PackageAI. + # have been defined in the AutoYaST configuration file. + # Selection will be stored in PackageAI. add_yast2_dependencies if AutoinstFunctions.second_stage_required? # Adding selections (defined in PackageAI) to libzypp and solving diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/src/clients/inst_autosetup_upgrade.rb new/autoyast2-4.0.49/src/clients/inst_autosetup_upgrade.rb --- old/autoyast2-4.0.45/src/clients/inst_autosetup_upgrade.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/src/clients/inst_autosetup_upgrade.rb 2018-04-23 11:08:21.000000000 +0200 @@ -300,11 +300,8 @@ if !Update.did_init1 Update.did_init1 = true - Pkg.PkgApplReset - # bnc #300540 # bnc #391785 - # Drops packages after PkgApplReset, not before (that would null that) Update.DropObsoletePackages # make sure the packages needed for accessing the installation repository diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/src/lib/autoinstall/storage_proposal.rb new/autoyast2-4.0.49/src/lib/autoinstall/storage_proposal.rb --- old/autoyast2-4.0.45/src/lib/autoinstall/storage_proposal.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/src/lib/autoinstall/storage_proposal.rb 2018-04-23 11:08:21.000000000 +0200 @@ -86,8 +86,6 @@ # # * {Y2Storage::GuidedProposal} if {partitioning} is nil or empty; # * {Y2Storage::AutoinstProposal} in any other case. - # - # @return [Y2Storage::GuidedProposal,Y2Storage::AutoinstProposal] Proposal instance def build_proposal(partitioning) if partitioning.nil? || partitioning.empty? @proposal = guided_proposal @@ -95,6 +93,7 @@ @proposal = autoinst_proposal(partitioning) @proposal.propose end + issues_list.add(:no_proposal) unless @proposal.devices rescue Y2Storage::Error => e handle_exception(e) end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/src/modules/AutoinstStorage.rb new/autoyast2-4.0.49/src/modules/AutoinstStorage.rb --- old/autoyast2-4.0.45/src/modules/AutoinstStorage.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/src/modules/AutoinstStorage.rb 2018-04-23 11:08:21.000000000 +0200 @@ -85,7 +85,8 @@ general_settings.delete("btrfs_set_default_subvolume_name") # Override product settings from control file - Yast::ProductFeatures.SetSection("partitioning", general_settings) + control_settings = Yast::ProductFeatures.GetSection("partitioning") || {} + Yast::ProductFeatures.SetSection("partitioning", control_settings.merge(general_settings)) end # Import Fstab data diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/test/autoinst_storage_test.rb new/autoyast2-4.0.49/test/autoinst_storage_test.rb --- old/autoyast2-4.0.45/test/autoinst_storage_test.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/test/autoinst_storage_test.rb 2018-04-23 11:08:21.000000000 +0200 @@ -188,30 +188,33 @@ describe "#import_general_settings" do let(:profile) { { "proposal_lvm" => true } } + let(:partitioning_features) { {"btrfs_default_subvolume" => "@" } } - it "overrides control file values" do - expect(Yast::ProductFeatures).to receive(:SetSection) - .with("partitioning", profile) - subject.import_general_settings(profile) + around do |example| + old_partitioning = Yast::ProductFeatures.GetSection("partitioning") + Yast::ProductFeatures.SetSection("partitioning", partitioning_features) + example.call + Yast::ProductFeatures.SetSection("partitioning", old_partitioning) end - context "when multipath is enabled" do - let(:profile) { { "start_multipath" => true } } - - it "sets multipath" + it "overrides control file values" do + subject.import_general_settings(profile) + expect(Yast::ProductFeatures.GetSection("partitioning")).to include("proposal_lvm" => true) end - context "when multipath is not enabled" do - it "does not set multipath" + it "keeps not overriden values" do + subject.import_general_settings(profile) + expect(Yast::ProductFeatures.GetSection("partitioning")) + .to include("btrfs_default_subvolume" => "@") end context "when btrfs default subvolume name is set to false" do let(:profile) { { "btrfs_set_default_subvolume_name" => false } } it "disables the btrfs default subvolume" do - expect(Yast::ProductFeatures).to receive(:SetSection) - .with("partitioning", { "btrfs_default_subvolume" => "" }) subject.import_general_settings(profile) + expect(Yast::ProductFeatures.GetSection("partitioning")) + .to include("btrfs_default_subvolume" => "") end end @@ -219,8 +222,9 @@ let(:profile) { {} } it "uses the default for the product" do - expect(Yast::ProductFeatures).to receive(:SetSection).with("partitioning", {}) subject.import_general_settings(profile) + expect(Yast::ProductFeatures.GetSection("partitioning")) + .to include("btrfs_default_subvolume" => "@") end end @@ -228,8 +232,9 @@ let(:profile) { { "btrfs_set_default_subvolume_name" => true } } it "uses the default for the product" do - expect(Yast::ProductFeatures).to receive(:SetSection).with("partitioning", {}) subject.import_general_settings(profile) + expect(Yast::ProductFeatures.GetSection("partitioning")) + .to include("btrfs_default_subvolume" => "@") end end end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/autoyast2-4.0.45/test/lib/storage_proposal_test.rb new/autoyast2-4.0.49/test/lib/storage_proposal_test.rb --- old/autoyast2-4.0.45/test/lib/storage_proposal_test.rb 2018-04-03 17:46:54.000000000 +0200 +++ new/autoyast2-4.0.49/test/lib/storage_proposal_test.rb 2018-04-23 11:08:21.000000000 +0200 @@ -7,8 +7,13 @@ subject(:storage_proposal) { described_class.new(profile) } let(:storage_manager) { double(Y2Storage::StorageManager) } - let(:guided_proposal) { instance_double(Y2Storage::GuidedProposal, propose: nil, proposed?: true) } - let(:autoinst_proposal) { instance_double(Y2Storage::AutoinstProposal, propose: nil, proposed?: true) } + let(:devicegraph) { instance_double(Y2Storage::Devicegraph) } + let(:guided_proposal) do + instance_double(Y2Storage::GuidedProposal, propose: nil, proposed?: true, devices: devicegraph) + end + let(:autoinst_proposal) do + instance_double(Y2Storage::AutoinstProposal, propose: nil, proposed?: true, devices: devicegraph) + end let(:profile) { [{ "device" => "/dev/sda" }] } before do @@ -29,6 +34,7 @@ expect(Y2Storage::GuidedProposal).to receive(:initial) expect(storage_proposal.proposal).to be(guided_proposal) end + end context "when profile contains an empty set of partitions" do @@ -62,6 +68,20 @@ expect(issue).to_not be_nil end end + + context "when no proposal is possible" do + let(:devicegraph) { nil } + + before do + allow(guided_proposal).to receive(:devices).and_return(nil) + end + + it "registers an issue" do + issues_list = storage_proposal.issues_list + issue = issues_list.find { |i| i.is_a?(Y2Storage::AutoinstIssues::NoProposal) } + expect(issue).to_not be_nil + end + end end describe "#save" do
