Hello community,
here is the log from the commit of package yast2-storage-ng for
openSUSE:Factory checked in at 2020-05-15 23:51:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old)
and /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage-ng"
Fri May 15 23:51:14 2020 rev:82 rq:805784 version:4.3.6
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes
2020-05-01 11:07:53.671135174 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-storage-ng.new.2738/yast2-storage-ng.changes
2020-05-15 23:51:17.685425993 +0200
@@ -1,0 +2,20 @@
+Fri May 15 09:17:09 UTC 2020 - Steffen Winterfeldt <[email protected]>
+
+- ensure crypttab entries use correct mount_by variant (bsc#1165702)
+- 4.3.6
+
+-------------------------------------------------------------------
+Tue May 12 11:08:12 UTC 2020 - Ancor Gonzalez Sosa <ags@localhost>
+
+- Partitioner: fixed a crash when libstorage-ng fails to report
+ the block device of an LVM PV, which is a consequence of a wrong
+ multipath setup (bsc#1170216).
+- 4.3.5
+
+-------------------------------------------------------------------
+Mon May 11 07:48:59 UTC 2020 - Steffen Winterfeldt <[email protected]>
+
+- remove obsolete proposal_settings_editable (bsc#1171423)
+- 4.3.4
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-ng-4.3.3.tar.bz2
New:
----
yast2-storage-ng-4.3.6.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage-ng.spec ++++++
--- /var/tmp/diff_new_pack.ZR028C/_old 2020-05-15 23:51:18.417427404 +0200
+++ /var/tmp/diff_new_pack.ZR028C/_new 2020-05-15 23:51:18.421427411 +0200
@@ -17,7 +17,7 @@
Name: yast2-storage-ng
-Version: 4.3.3
+Version: 4.3.6
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
++++++ yast2-storage-ng-4.3.3.tar.bz2 -> yast2-storage-ng-4.3.6.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-storage-ng-4.3.3/doc/old_and_new_proposal.md
new/yast2-storage-ng-4.3.6/doc/old_and_new_proposal.md
--- old/yast2-storage-ng-4.3.3/doc/old_and_new_proposal.md 2020-04-29
11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/doc/old_and_new_proposal.md 2020-05-15
11:33:52.000000000 +0200
@@ -72,8 +72,6 @@
the proposal's behavior. It also contains some options to influence other
aspect of YaST, mainly the installer.
- * `proposal_settings_editable`
- Whether the user can change the proposal settings in the UI.
* `expert_partitioner_warning`
Whether an extra warning pop-up should be
displayed if the user enters the expert partitioner during installation.
@@ -208,7 +206,6 @@
* `other_delete_mode` *(`none`, `ondemand`, `all`, default: `ondemand`)*
* (**FIXME - `use_vg_size` is not done yet**) `lvm_vg_strategy`
*(`use_available`, `use_needed`, `use_vg_size`, default: `use_available`)*
* (**FIXME - not done**)`lvm_vg_size` *(disksize, default: `0 B`)*
- * `proposal_settings_editable` *(boolean, default: `true`)*
* `separate_vgs` *(boolean, default: `false`)*
#### Volume-specific settings in `volume` sections
@@ -558,15 +555,12 @@
<windows_delete_mode config:type="symbol">all</windows_delete_mode>
<linux_delete_mode config:type="symbol">all</linux_delete_mode>
<other_delete_mode config:type="symbol">all</other_delete_mode>
- <!-- Don't allow the user to use the Guided Setup -->
- <proposal_settings_editable
config:type="boolean">false</proposal_settings_editable>
</proposal>
<volumes config:type="list">
<!-- The '/' filesystem -->
<volume>
<mount_point>/</mount_point>
- <!-- Default == final, since the user can't change it
(proposal_settings_editable == false) -->
<fs_type>btrfs</fs_type>
<desired_size config:type="disksize">15 GiB</desired_size>
<min_size config:type="disksize">10 GiB</min_size>
@@ -595,7 +589,6 @@
<!-- Use /var/lib/docker as separate partition if 10+ GiB available -->
<volume>
<mount_point>/var/lib/docker</mount_point>
- <!-- Default == final, since the user can't change it
(proposal_settings_editable == false) -->
<fs_type>btrfs</fs_type>
<snapshots config:type="boolean">false</snapshots>
<snapshots_configurable
config:type="boolean">false</snapshots_configurable>
@@ -699,8 +692,6 @@
The VG will have exactly the size specified in `lvm_vg_size`.
* `lvm_vg_size`
Specifies the predefined size of the LVM volume group if `lvm_vg_strategy`
is `use_vg_size`.
- * `proposal_settings_editable`
- If `false`, the user is not allowed to change the proposal settings.
### The `volumes` subsection
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/package/yast2-storage-ng.changes
new/yast2-storage-ng-4.3.6/package/yast2-storage-ng.changes
--- old/yast2-storage-ng-4.3.3/package/yast2-storage-ng.changes 2020-04-29
11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/package/yast2-storage-ng.changes 2020-05-15
11:33:52.000000000 +0200
@@ -1,4 +1,24 @@
-------------------------------------------------------------------
+Fri May 15 09:17:09 UTC 2020 - Steffen Winterfeldt <[email protected]>
+
+- ensure crypttab entries use correct mount_by variant (bsc#1165702)
+- 4.3.6
+
+-------------------------------------------------------------------
+Tue May 12 11:08:12 UTC 2020 - Ancor Gonzalez Sosa <ags@localhost>
+
+- Partitioner: fixed a crash when libstorage-ng fails to report
+ the block device of an LVM PV, which is a consequence of a wrong
+ multipath setup (bsc#1170216).
+- 4.3.5
+
+-------------------------------------------------------------------
+Mon May 11 07:48:59 UTC 2020 - Steffen Winterfeldt <[email protected]>
+
+- remove obsolete proposal_settings_editable (bsc#1171423)
+- 4.3.4
+
+-------------------------------------------------------------------
Wed Apr 29 08:26:48 UTC 2020 - Steffen Winterfeldt <[email protected]>
- add x-initrd.attach option to crypttab if needed (bsc#1168465)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/yast2-storage-ng-4.3.3/package/yast2-storage-ng.spec
new/yast2-storage-ng-4.3.6/package/yast2-storage-ng.spec
--- old/yast2-storage-ng-4.3.3/package/yast2-storage-ng.spec 2020-04-29
11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/package/yast2-storage-ng.spec 2020-05-15
11:33:52.000000000 +0200
@@ -16,7 +16,7 @@
#
Name: yast2-storage-ng
-Version: 4.3.3
+Version: 4.3.6
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/blk_device.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/blk_device.rb
--- old/yast2-storage-ng-4.3.3/src/lib/y2storage/blk_device.rb 2020-04-29
11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/src/lib/y2storage/blk_device.rb 2020-05-15
11:33:52.000000000 +0200
@@ -379,7 +379,11 @@
# @return [LvmPv] nil if neither the raw device or its encrypted version
# are used as physical volume
def lvm_pv
- descendants.detect { |dev| dev.is?(:lvm_pv) && dev.plain_blk_device ==
plain_device }
+ descendants.find do |dev|
+ # dev.blk_device should never be nil for an LvmPV, but it can
currently happen if
+ # the PV is in a multipath device that has not been activated. See
bsc#1170216
+ dev.is?(:lvm_pv) && dev.blk_device && dev.plain_blk_device ==
plain_device
+ end
end
# LVM physical volume defined directly on top of the device (no encryption
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/clients/inst_disk_proposal.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/clients/inst_disk_proposal.rb
--- old/yast2-storage-ng-4.3.3/src/lib/y2storage/clients/inst_disk_proposal.rb
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/src/lib/y2storage/clients/inst_disk_proposal.rb
2020-05-15 11:33:52.000000000 +0200
@@ -220,18 +220,7 @@
#
# @return [Array<Symbol>]
def excluded_buttons
- excluded = []
- excluded << :guided unless show_guided_setup?
- excluded
- end
-
- # Whether it is possible to show the Guided Setup
- #
- # @see Dialogs::GuidedSetup.can_be_shown?
- #
- # @return [Boolean]
- def show_guided_setup?
- Dialogs::GuidedSetup.can_be_shown?(probed_analyzer)
+ []
end
# Whether to run the Partitioner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup/select_filesystem/ng.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup/select_filesystem/ng.rb
---
old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup/select_filesystem/ng.rb
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup/select_filesystem/ng.rb
2020-05-15 11:33:52.000000000 +0200
@@ -35,14 +35,11 @@
volume_widgets.each { |w| w.handle(event) }
end
- # This dialog is skipped when the settings are not editable or there
is
- # nothing to edit
- #
- # @see GuidedSetup#allowed?
+ # This dialog is skipped when there is nothing to edit
#
# @return [Boolean]
def skip?
- !guided_setup.allowed? || settings.volumes.none?(&:configurable?)
+ settings.volumes.none?(&:configurable?)
end
protected
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup/select_scheme.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup/select_scheme.rb
---
old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup/select_scheme.rb
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup/select_scheme.rb
2020-05-15 11:33:52.000000000 +0200
@@ -54,13 +54,11 @@
Yast::UI.SetFocus(Id(:password))
end
- # This dialog is skipped when the settings are not editable
- #
- # @see GuidedSetup#allowed?
+ # This dialog is never skipped
#
# @return [Boolean]
def skip?
- !guided_setup.allowed?
+ false
end
protected
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup.rb
--- old/yast2-storage-ng-4.3.3/src/lib/y2storage/dialogs/guided_setup.rb
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/src/lib/y2storage/dialogs/guided_setup.rb
2020-05-15 11:33:52.000000000 +0200
@@ -26,7 +26,6 @@
require "y2storage/dialogs/guided_setup/select_partition_actions"
require "y2storage/dialogs/guided_setup/select_scheme"
require "y2storage/dialogs/guided_setup/select_filesystem"
-require "y2storage/partitioning_features"
Yast.import "Wizard"
Yast.import "Sequencer"
@@ -37,41 +36,6 @@
#
# Calculates the proposal settings to be used in the next proposal attempt.
class GuidedSetup
- extend PartitioningFeatures
-
- class << self
- # Whether is is allowed to use the Guided Setup
- #
- # @return [Boolean]
- def allowed?
- settings_editable?
- end
-
- # Whether the Guided Setup can be shown
- #
- # @note Even when the "proposal_settings_editable" from control file
is set to not allow
- # to edit the proposal settings, the Guided Setup can still be used
to select in which
- # disks to install (two first steps of the Guided Setup).
- #
- # @param disk_analyzer [DiskAnalyzer]
- # @return [Boolean]
- def can_be_shown?(disk_analyzer)
- allowed? || disk_analyzer.candidate_disks.size > 1
- end
-
- private
-
- # Whether the proposal settings are set as editable in the control file
- #
- # @see PartitioningFeatures#feature
- #
- # @return [Boolean]
- def settings_editable?
- editable = feature(:proposal, :proposal_settings_editable)
- editable.nil? ? true : editable
- end
- end
-
# Settings specified by the user
attr_reader :settings
# Disk analyzer to recover disks info
@@ -95,15 +59,6 @@
Yast::Wizard.CloseDialog
end
- # Whether is is allowed to use the Guided Setup
- #
- # @see GuidedSetup.allowed?
- #
- # @return [Boolean]
- def allowed?
- GuidedSetup.allowed?
- end
-
private
def aliases
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/src/lib/y2storage/mountable.rb
new/yast2-storage-ng-4.3.6/src/lib/y2storage/mountable.rb
--- old/yast2-storage-ng-4.3.3/src/lib/y2storage/mountable.rb 2020-04-29
11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/src/lib/y2storage/mountable.rb 2020-05-15
11:33:52.000000000 +0200
@@ -124,6 +124,16 @@
adjust_crypt_options
# Ensure the mount_by makes sense
mp.ensure_suitable_mount_by
+ # Adjust mount_by for encryption layer: try to use the same mount_by
+ # type as for the filesystem
+ if mp.filesystem.encrypted?
+ mp.filesystem.blk_devices.each do |dev|
+ next unless dev.respond_to?(:mount_by)
+
+ dev.mount_by = mp.mount_by
+ dev.ensure_suitable_mount_by
+ end
+ end
mp
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/control_files/bug_1078691.xml
new/yast2-storage-ng-4.3.6/test/data/control_files/bug_1078691.xml
--- old/yast2-storage-ng-4.3.3/test/data/control_files/bug_1078691.xml
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/test/data/control_files/bug_1078691.xml
2020-05-15 11:33:52.000000000 +0200
@@ -4,7 +4,6 @@
<partitioning>
<proposal>
<lvm config:type="boolean">false</lvm>
- <proposal_settings_editable
config:type="boolean">true</proposal_settings_editable>
</proposal>
<volumes config:type="list">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.CAASP.xml
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.CAASP.xml
---
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.CAASP.xml
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.CAASP.xml
2020-05-15 11:33:52.000000000 +0200
@@ -137,7 +137,6 @@
<proposal>
<lvm config:type="boolean">false</lvm>
- <proposal_settings_editable
config:type="boolean">false</proposal_settings_editable>
</proposal>
<volumes config:type="list">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.SLE-like.xml
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.SLE-like.xml
---
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.SLE-like.xml
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.SLE-like.xml
2020-05-15 11:33:52.000000000 +0200
@@ -39,7 +39,6 @@
<proposal>
<lvm config:type="boolean">false</lvm>
- <proposal_settings_editable
config:type="boolean">true</proposal_settings_editable>
</proposal>
<volumes config:type="list">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.SLE-with-data.xml
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.SLE-with-data.xml
---
old/yast2-storage-ng-4.3.3/test/data/control_files/volumes_ng/control.SLE-with-data.xml
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/data/control_files/volumes_ng/control.SLE-with-data.xml
2020-05-15 11:33:52.000000000 +0200
@@ -39,7 +39,6 @@
<proposal>
<lvm config:type="boolean">false</lvm>
- <proposal_settings_editable
config:type="boolean">true</proposal_settings_editable>
</proposal>
<volumes config:type="list">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/devicegraphs/encrypted_probed_partition.xml
new/yast2-storage-ng-4.3.6/test/data/devicegraphs/encrypted_probed_partition.xml
---
old/yast2-storage-ng-4.3.3/test/data/devicegraphs/encrypted_probed_partition.xml
1970-01-01 01:00:00.000000000 +0100
+++
new/yast2-storage-ng-4.3.6/test/data/devicegraphs/encrypted_probed_partition.xml
2020-05-15 11:33:52.000000000 +0200
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<!-- generated by libstorage-ng version 3.3.253, linux-rijh.(none), 2018-05-02
11:37:49 GMT -->
+<Devicegraph>
+ <Devices>
+ <Disk>
+ <sid>42</sid>
+ <name>/dev/sda</name>
+ <region>
+ <length>104857600</length>
+ <block-size>512</block-size>
+ </region>
+ <udev-path>pci-0000:00:1f.2-ata-1</udev-path>
+ <udev-id>ata-VBOX_HARDDISK_VB777f5d67-56603f01</udev-id>
+ <udev-id>scsi-0ATA_VBOX_HARDDISK_VB777f5d67-56603f01</udev-id>
+ <udev-id>scsi-1ATA_VBOX_HARDDISK_VB777f5d67-56603f01</udev-id>
+ <udev-id>scsi-SATA_VBOX_HARDDISK_VB777f5d67-56603f01</udev-id>
+ <topology/>
+ <range>256</range>
+ </Disk>
+ <Gpt>
+ <sid>43</sid>
+ </Gpt>
+ <Partition>
+ <sid>44</sid>
+ <name>/dev/sda1</name>
+ <region>
+ <start>2048</start>
+ <length>41943040</length>
+ <block-size>512</block-size>
+ </region>
+ <udev-path>pci-0000:00:1f.2-ata-1-part1</udev-path>
+ <udev-id>ata-VBOX_HARDDISK_VB777f5d67-56603f01-part1</udev-id>
+ <udev-id>scsi-0ATA_VBOX_HARDDISK_VB777f5d67-56603f01-part1</udev-id>
+ <udev-id>scsi-1ATA_VBOX_HARDDISK_VB777f5d67-56603f01-part1</udev-id>
+ <udev-id>scsi-SATA_VBOX_HARDDISK_VB777f5d67-56603f01-part1</udev-id>
+ <type>primary</type>
+ <id>131</id>
+ </Partition>
+ <Xfs>
+ <sid>45</sid>
+ <label>xfs1</label>
+ </Xfs>
+ <Luks>
+ <sid>46</sid>
+ <name>/dev/mapper/cr_sda1</name>
+ <region>
+ <length>41938944</length>
+ <block-size>512</block-size>
+ </region>
+ <dm-table-name>cr_sda1</dm-table-name>
+ <type>luks1</type>
+ <cipher>aes-xts-plain64</cipher>
+ <key-size>64</key-size>
+ <mount-by>device</mount-by>
+ <in-etc-crypttab>false</in-etc-crypttab>
+ <uuid>ccd40fe6-48df-491e-b862-02e5941e5d13</uuid>
+ </Luks>
+ <Partition>
+ <sid>47</sid>
+ <name>/dev/sda2</name>
+ <region>
+ <start>41945088</start>
+ <length>62912479</length>
+ <block-size>512</block-size>
+ </region>
+ <udev-path>pci-0000:00:1f.2-ata-1-part2</udev-path>
+ <udev-id>ata-VBOX_HARDDISK_VB777f5d67-56603f01-part2</udev-id>
+ <udev-id>scsi-0ATA_VBOX_HARDDISK_VB777f5d67-56603f01-part2</udev-id>
+ <udev-id>scsi-1ATA_VBOX_HARDDISK_VB777f5d67-56603f01-part2</udev-id>
+ <udev-id>scsi-SATA_VBOX_HARDDISK_VB777f5d67-56603f01-part2</udev-id>
+ <type>primary</type>
+ <id>131</id>
+ </Partition>
+ <Xfs>
+ <sid>48</sid>
+ <label>xfs2</label>
+ </Xfs>
+ </Devices>
+ <Holders>
+ <User>
+ <source-sid>42</source-sid>
+ <target-sid>43</target-sid>
+ </User>
+ <Subdevice>
+ <source-sid>43</source-sid>
+ <target-sid>44</target-sid>
+ </Subdevice>
+ <User>
+ <source-sid>44</source-sid>
+ <target-sid>46</target-sid>
+ </User>
+ <FilesystemUser>
+ <source-sid>46</source-sid>
+ <target-sid>45</target-sid>
+ </FilesystemUser>
+ <Subdevice>
+ <source-sid>43</source-sid>
+ <target-sid>47</target-sid>
+ </Subdevice>
+ <FilesystemUser>
+ <source-sid>47</source-sid>
+ <target-sid>48</target-sid>
+ </FilesystemUser>
+ </Holders>
+</Devicegraph>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/data/devicegraphs/inactive_multipath.xml
new/yast2-storage-ng-4.3.6/test/data/devicegraphs/inactive_multipath.xml
--- old/yast2-storage-ng-4.3.3/test/data/devicegraphs/inactive_multipath.xml
1970-01-01 01:00:00.000000000 +0100
+++ new/yast2-storage-ng-4.3.6/test/data/devicegraphs/inactive_multipath.xml
2020-05-15 11:33:52.000000000 +0200
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<!-- generated by libstorage-ng version 4.2.74, s390vsl156, 2020-04-22
13:10:00 GMT -->
+<Devicegraph>
+ <Devices>
+ <Disk>
+ <sid>42</sid>
+ <name>/dev/sdd</name>
+ <sysfs-name>sdd</sysfs-name>
+
<sysfs-path>/devices/css0/0.0.000d/0.0.fc00/host2/rport-2:0-3/target2:0:3/2:0:3:1076248577/block/sdd</sysfs-path>
+ <region>
+ <length>41943040</length>
+ <block-size>512</block-size>
+ </region>
+ <topology/>
+
<udev-path>ccw-0.0.fc00-fc-0x500507630703d3b3-lun-0x4001402600000000</udev-path>
+
<udev-path>ccw-0.0.fc00-zfcp-0x500507630703d3b3:0x4001402600000000</udev-path>
+ <udev-id>scsi-36005076307ffd3b30000000000000126</udev-id>
+ <udev-id>scsi-SIBM_2107900_75FRK110126</udev-id>
+ <udev-id>wwn-0x6005076307ffd3b30000000000000126</udev-id>
+ <range>256</range>
+ <rotational>true</rotational>
+ </Disk>
+ <Disk>
+ <sid>43</sid>
+ <name>/dev/sdb</name>
+ <sysfs-name>sdb</sysfs-name>
+
<sysfs-path>/devices/css0/0.0.000e/0.0.fa00/host1/rport-1:0-1/target1:0:1/1:0:1:1076248577/block/sdb</sysfs-path>
+ <region>
+ <length>41943040</length>
+ <block-size>512</block-size>
+ </region>
+ <topology/>
+
<udev-path>ccw-0.0.fa00-fc-0x500507630713d3b3-lun-0x4001402600000000</udev-path>
+
<udev-path>ccw-0.0.fa00-zfcp-0x500507630713d3b3:0x4001402600000000</udev-path>
+ <udev-id>scsi-36005076307ffd3b30000000000000126</udev-id>
+ <udev-id>scsi-SIBM_2107900_75FRK110126</udev-id>
+ <udev-id>wwn-0x6005076307ffd3b30000000000000126</udev-id>
+ <range>256</range>
+ <rotational>true</rotational>
+ </Disk>
+ <Disk>
+ <sid>44</sid>
+ <name>/dev/sdc</name>
+ <sysfs-name>sdc</sysfs-name>
+
<sysfs-path>/devices/css0/0.0.000d/0.0.fc00/host2/rport-2:0-2/target2:0:2/2:0:2:1076248577/block/sdc</sysfs-path>
+ <region>
+ <length>41943040</length>
+ <block-size>512</block-size>
+ </region>
+ <topology/>
+
<udev-path>ccw-0.0.fc00-fc-0x500507630708d3b3-lun-0x4001402600000000</udev-path>
+
<udev-path>ccw-0.0.fc00-zfcp-0x500507630708d3b3:0x4001402600000000</udev-path>
+ <udev-id>scsi-36005076307ffd3b30000000000000126</udev-id>
+ <udev-id>scsi-SIBM_2107900_75FRK110126</udev-id>
+ <udev-id>wwn-0x6005076307ffd3b30000000000000126</udev-id>
+ <range>256</range>
+ <rotational>true</rotational>
+ </Disk>
+ <Disk>
+ <sid>45</sid>
+ <name>/dev/sda</name>
+ <sysfs-name>sda</sysfs-name>
+
<sysfs-path>/devices/css0/0.0.000e/0.0.fa00/host1/rport-1:0-0/target1:0:0/1:0:0:1076248577/block/sda</sysfs-path>
+ <region>
+ <length>41943040</length>
+ <block-size>512</block-size>
+ </region>
+ <topology/>
+
<udev-path>ccw-0.0.fa00-fc-0x500507630718d3b3-lun-0x4001402600000000</udev-path>
+
<udev-path>ccw-0.0.fa00-zfcp-0x500507630718d3b3:0x4001402600000000</udev-path>
+ <udev-id>scsi-36005076307ffd3b30000000000000126</udev-id>
+ <udev-id>scsi-SIBM_2107900_75FRK110126</udev-id>
+ <udev-id>wwn-0x6005076307ffd3b30000000000000126</udev-id>
+ <range>256</range>
+ <rotational>true</rotational>
+ </Disk>
+ <LvmPv>
+ <sid>47</sid>
+ <uuid>1luduT-urRa-Kb0W-p6tb-m1h4-OmfW-0NNn9Y</uuid>
+ <pe-start>1048576</pe-start>
+ </LvmPv>
+ </Devices>
+ <Holders>
+ <User>
+ <source-sid>45</source-sid>
+ <target-sid>47</target-sid>
+ </User>
+ <User>
+ <source-sid>43</source-sid>
+ <target-sid>47</target-sid>
+ </User>
+ <User>
+ <source-sid>44</source-sid>
+ <target-sid>47</target-sid>
+ </User>
+ <User>
+ <source-sid>42</source-sid>
+ <target-sid>47</target-sid>
+ </User>
+ </Holders>
+</Devicegraph>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/blk_device_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/blk_device_test.rb
--- old/yast2-storage-ng-4.3.3/test/y2storage/blk_device_test.rb
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/test/y2storage/blk_device_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -227,6 +227,19 @@
expect(device.lvm_pv).to be_nil
end
end
+
+ # Regression test for bsc#1170216: this used to crash because
LvmPv#blk_device
+ # is never expected to return nil.
+ context "if the PV is associated to this and to other block devices
(multipath not activated)" do
+ let(:scenario) { "inactive_multipath.xml" }
+ let(:device_name) { "/dev/sda" }
+
+ # Returning nil may not be precise, but it matches the current
libstorage-ng behavior
+ # ...and it's better than a crash
+ it "returns nil" do
+ expect(device.lvm_pv).to be_nil
+ end
+ end
end
describe "#direct_lvm_pv" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/clients/inst_disk_proposal_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/clients/inst_disk_proposal_test.rb
---
old/yast2-storage-ng-4.3.3/test/y2storage/clients/inst_disk_proposal_test.rb
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/y2storage/clients/inst_disk_proposal_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -46,34 +46,13 @@
let(:partitioning_section) { {} }
- context "when the Guided Setup can be shown" do
- before do
- allow(Y2Storage::Dialogs::GuidedSetup).to
receive(:can_be_shown?).and_return(true)
+ it "it does not exclude the Guided Setup button" do
+ allow(proposal_dialog).to receive(:run).and_return(:abort)
- allow(proposal_dialog).to receive(:run).and_return(:abort)
- end
+ expect(Y2Storage::Dialogs::Proposal).to receive(:new)
+ .with(anything, anything, excluded_buttons:
[]).and_return(proposal_dialog)
- it "opens the proposal dialog without excluding the Guided Setup button"
do
- expect(Y2Storage::Dialogs::Proposal).to receive(:new)
- .with(anything, anything, excluded_buttons:
[]).and_return(proposal_dialog)
-
- client.run
- end
- end
-
- context "when the Guided Setup cannot be shown" do
- before do
- allow(Y2Storage::Dialogs::GuidedSetup).to
receive(:can_be_shown?).and_return(false)
-
- allow(proposal_dialog).to receive(:run).and_return(:abort)
- end
-
- it "opens the proposal dialog excluding the Guided Setup button" do
- expect(Y2Storage::Dialogs::Proposal).to receive(:new)
- .with(anything, anything, excluded_buttons:
[:guided]).and_return(proposal_dialog)
-
- client.run
- end
+ client.run
end
context "when running the client for the first time" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/default_mount_by_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/default_mount_by_test.rb
--- old/yast2-storage-ng-4.3.3/test/y2storage/default_mount_by_test.rb
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/test/y2storage/default_mount_by_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -22,23 +22,75 @@
require "y2storage"
describe "default mount_by when creating a mount point" do
- before { fake_scenario(scenario) }
-
- # This is a modified version of the scenario of the bug to include more
cases.
- # The original report was about the installer using the device name to mount
- # those devices without an udev path (mounting by path is the default in
s390).
- let(:scenario) { "bug_1151075.xml" }
+ before do
+ fake_scenario(scenario)
+ conf = Y2Storage::StorageManager.instance.configuration
+ conf.default_mount_by = mount_by_type
+ end
let(:blk_device) { Y2Storage::BlkDevice.find_by_name(fake_devicegraph,
dev_name) }
subject(:filesystem) { blk_device.filesystem }
- context "with PATH being the default mount_by" do
- before do
- conf = Y2Storage::StorageManager.instance.configuration
- conf.default_mount_by = Y2Storage::Filesystems::MountByType::PATH
+ describe "Mountable#create_mount_point" do
+ let(:scenario) { "encrypted_probed_partition.xml" }
+ let(:dev_name) { "/dev/mapper/cr_sda1" }
+
+ context "with DEVICE being the default mount_by" do
+ let(:mount_by_type) { Y2Storage::Filesystems::MountByType::DEVICE }
+
+ context "mounting an encrypted partition" do
+ it "mounts by device" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.mount_by.is?(:device)).to eq true
+ end
+
+ it "uses device name in crypttab" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.filesystem.blk_devices.first.mount_by.is?(:device)).to eq
true
+ end
+ end
end
- describe "Mountable#create_mount_point" do
+ context "with UUID being the default mount_by" do
+ let(:mount_by_type) { Y2Storage::Filesystems::MountByType::UUID }
+
+ context "mounting an encrypted partition" do
+ it "mounts by uuid" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.mount_by.is?(:uuid)).to eq true
+ end
+
+ it "uses uuid in crypttab" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.filesystem.blk_devices.first.mount_by.is?(:uuid)).to eq
true
+ end
+ end
+ end
+
+ context "with LABEL being the default mount_by" do
+ let(:mount_by_type) { Y2Storage::Filesystems::MountByType::LABEL }
+
+ context "mounting an encrypted partition" do
+ it "mounts by label" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.mount_by.is?(:label)).to eq true
+ end
+
+ it "uses uuid in crypttab" do
+ mp = filesystem.create_mount_point("/foo")
+ expect(mp.filesystem.blk_devices.first.mount_by.is?(:uuid)).to eq
true
+ end
+ end
+ end
+
+ context "with PATH being the default mount_by" do
+ let(:mount_by_type) { Y2Storage::Filesystems::MountByType::PATH }
+
+ # This is a modified version of the scenario of the bug to include more
cases.
+ # The original report was about the installer using the device name to
mount
+ # those devices without an udev path (mounting by path is the default in
s390).
+ let(:scenario) { "bug_1151075.xml" }
+
context "mounting a partition with udev path" do
let(:dev_name) { "/dev/nvme1n1p1" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup/select_filesystem/ng_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup/select_filesystem/ng_test.rb
---
old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup/select_filesystem/ng_test.rb
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup/select_filesystem/ng_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -68,55 +68,37 @@
end
describe "skip?" do
- before do
- allow(Y2Storage::Dialogs::GuidedSetup).to
receive(:allowed?).and_return(allowed)
- end
-
- context "when the Guided Setup is not allowed" do
- let(:allowed) { false }
-
- let(:volumes) { [double("VolumeSpecification", configurable?: true)] }
+ context "when the proposal settings contain no volumes" do
+ let(:volumes) { [] }
it "returns true" do
- expect(dialog.skip?).to eq(true)
+ expect(dialog.skip?).to eq true
end
end
- context "when the Guided Setup is allowed" do
- let(:allowed) { true }
-
- context "and the proposal settings contain no volumes" do
- let(:volumes) { [] }
+ context "when none of the volumes are configurable" do
+ let(:volumes) do
+ [
+ double("VolumeSpecification", configurable?: false),
+ double("VolumeSpecification", configurable?: false)
+ ]
+ end
- it "returns true" do
- expect(dialog.skip?).to eq true
- end
+ it "returns true" do
+ expect(dialog.skip?).to eq true
end
+ end
- context "and none of the volumes are configurable" do
- let(:volumes) do
- [
- double("VolumeSpecification", configurable?: false),
- double("VolumeSpecification", configurable?: false)
- ]
- end
-
- it "returns true" do
- expect(dialog.skip?).to eq true
- end
+ context "when any volume is configurable" do
+ let(:volumes) do
+ [
+ double("VolumeSpecification", configurable?: false),
+ double("VolumeSpecification", configurable?: true)
+ ]
end
- context "and any volume is configurable" do
- let(:volumes) do
- [
- double("VolumeSpecification", configurable?: false),
- double("VolumeSpecification", configurable?: true)
- ]
- end
-
- it "returns false" do
- expect(dialog.skip?).to eq false
- end
+ it "returns false" do
+ expect(dialog.skip?).to eq false
end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup/select_scheme_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup/select_scheme_test.rb
---
old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup/select_scheme_test.rb
2020-04-29 11:01:09.000000000 +0200
+++
new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup/select_scheme_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -39,24 +39,8 @@
subject { described_class.new(guided_setup) }
describe "skip?" do
- before do
- allow(Y2Storage::Dialogs::GuidedSetup).to
receive(:allowed?).and_return(allowed)
- end
-
- context "when the Guided Setup is not allowed" do
- let(:allowed) { false }
-
- it "returns true" do
- expect(subject.skip?).to eq(true)
- end
- end
-
- context "when the Guided Setup is allowed" do
- let(:allowed) { true }
-
- it "returns false" do
- expect(subject.skip?).to eq(false)
- end
+ it "returns false" do
+ expect(subject.skip?).to eq(false)
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup_test.rb
new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup_test.rb
--- old/yast2-storage-ng-4.3.3/test/y2storage/dialogs/guided_setup_test.rb
2020-04-29 11:01:09.000000000 +0200
+++ new/yast2-storage-ng-4.3.6/test/y2storage/dialogs/guided_setup_test.rb
2020-05-15 11:33:52.000000000 +0200
@@ -101,72 +101,15 @@
let(:partitioning_section) do
{
"proposal" => {
- "proposal_settings_editable" => settings_editable,
- "allocate_volume_mode" => allocate_mode
+ "allocate_volume_mode" => allocate_mode
},
# To ensure the settings are recognized as ng ones, instead of legacy
format
"volumes" => []
}
end
- let(:settings_editable) { true }
let(:allocate_mode) { :auto }
- describe ".allowed?" do
- context "when the proposal settings are editable" do
- let(:settings_editable) { true }
-
- it "returns true" do
- expect(described_class.allowed?).to eq(true)
- end
- end
-
- context "when the proposal settings are not editable" do
- let(:settings_editable) { false }
-
- it "returns false" do
- expect(described_class.allowed?).to eq(false)
- end
- end
- end
-
- describe ".can_be_shown?" do
- context "when the proposal settings are editable" do
- let(:settings_editable) { true }
-
- it "returns true" do
- expect(described_class.can_be_shown?(analyzer)).to eq(true)
- end
- end
-
- context "when the proposal settings are not editable" do
- let(:settings_editable) { false }
-
- before do
- allow(analyzer).to
receive(:candidate_disks).and_return(candidate_disks)
- end
-
- let(:disk1) { instance_double(Y2Storage::Disk) }
- let(:disk2) { instance_double(Y2Storage::Disk) }
-
- context "and there are several candidate disks" do
- let(:candidate_disks) { [disk1, disk2] }
-
- it "returns true" do
- expect(described_class.can_be_shown?(analyzer)).to eq(true)
- end
- end
-
- context "and there are not more than one candidate disks" do
- let(:candidate_disks) { [disk1] }
-
- it "returns false" do
- expect(described_class.can_be_shown?(analyzer)).to eq(false)
- end
- end
- end
- end
-
describe "#run" do
before do
allow_run_all_dialogs