ubuntu-translations-coordinators team mailing list archive
-
ubuntu-translations-coordinators team
-
Mailing list archive
-
Message #11262
[Bug 1833618] Re: MAAS can't deploy Ubuntu if ID_SERIAL of any block device is broken (USB pendrive in this case).
** Project changed: curtin => ubuntu-translations
** No longer affects: ubuntu-translations
** Project changed: maas => ubuntu-translations
** No longer affects: ubuntu-translations
--
You received this bug notification because you are a member of Ubuntu
Translations Coordinators, which is subscribed to Ubuntu Translations.
Matching subscriptions: Ubuntu Translations bug mail
https://bugs.launchpad.net/bugs/1833618
Title:
MAAS can't deploy Ubuntu if ID_SERIAL of any block device is broken
(USB pendrive in this case).
Status in sg3-utils package in Ubuntu:
Fix Released
Status in sg3-utils source package in Bionic:
In Progress
Status in sg3-utils source package in Disco:
Fix Committed
Status in sg3-utils source package in Eoan:
Fix Released
Status in sg3-utils source package in Focal:
Fix Released
Bug description:
[Impact]
* sg3-utils-udev package introduces 55-scsi-sg3_id.rules udev rule
that take places BEFORE rules either finding correct ID_SERIAL for the
USB block device, or calculating it from "usb_id" parameter:
- this rule changes USB ID_SERIAL parameter for the ones given by
the Vital Product Data from the block device.
- USB memory sticks might not provide VPD pages (0x80, 0x83) and,
because of that, the USB ID_SERIAL will be broken.
- because the failure in sg_inq command from the 55-XXX udev rules
file, to obtain the VPDs, the udev ACTION(add) takes long time and
consumers might not have considered a "settle" need.
* Anything depending on ID_SERIAL udev attribute from USB block
devices might not find appropriate device.
* Any type of udev consumer not calculating the need for a big time-consuming "udevadm settle" right after a pen drive is inserted
might not be able to see all USB block devices attributes from udev.
[Test Case]
* Install package "sg3-utils-udev", monitor journalctl -f while
introducing a memory stick in your machine and watch sg_inq command
failing:
systemd-udevd[1021]: Process '/usr/bin/sg_inq --export
--inhex=/sys/block/sdb/device/vpd_pg83 --raw' failed with exit code
15.
* Compare udevadm attributes with and without "sg3-utils-udev"
package is installed:
Without sg3-utils 55-scsi-sg3_id.rules:
$ udevadm info --query=all --name=/dev/sdb | grep -i serial
E: ID_SERIAL=Corsair_Voyager_Mini_3.0_070851D0E490C776-0:0
E: ID_SERIAL_SHORT=070851D0E490C776
With 55-scsi-sg3_id.rules:
$ udevadm info --query=all --name=/dev/sdb | grep -i serial
E: ID_SERIAL=3
E: ID_SERIAL_SHORT=2000acde48234567
[Regression Potential]
* Minor: either I brake functionality for sg3-utils packages on USB
block devices. Since sg3-utils is used mostly for SCSI debugging,
management and investigations, its a very minor risk.
* The change is a 1 line change in a udev rule file, very easy to
test following the test case.
[Other Info]
ORIGINAL DESCRIPTION:
* MAAS version: 2.4.2 (7034-g2f5deb8b8-0ubuntu1)
MAAS UI changes:
```
Node changed status - From 'Deploying' to 'Failed deployment'
Node installation failure - 'curtin' curtin command install
```
when console_log shows:
```
[ 244.588201] cloud-init[3139]: File "/curtin/curtin/commands/block_meta.py", line 1515, in get_path_if_present
[ 244.588389] cloud-init[3139]: return get_path_to_storage_volume(disk, config)
[ 244.588588] cloud-init[3139]: File "/curtin/curtin/commands/block_meta.py", line 433, in get_path_to_storage_volume
[ 244.588774] cloud-init[3139]: specified to identify disk")
[ 244.588963] cloud-init[3139]: ValueError: serial, wwn or path to block dev must be specified to identify disk
[ 244.589153] cloud-init[3139]: serial, wwn or path to block dev must be specified to identify disk
[ 244.589338] cloud-init[3139]:
[ 244.589523] cloud-init[3139]: Stderr: ''
[ 244.589708] cloud-init[3139]: Unexpected error while running command.
[ 244.589905] cloud-init[3139]: Command: ['curtin', 'block-meta', 'custom']
[ 244.590088] cloud-init[3139]: Exit code: 3
[ 244.590271] cloud-init[3139]: Reason: -
[ 244.590459] cloud-init[3139]: Stdout: start: cmd-install/stage-partitioning/builtin/cmd-block-meta: curtin command block-meta
```
Reproducible: yes
aarch64, arm64 machine:
Manufacturer: CN8890-2000BG2601-CP-Y-G
Part Number: CN88xx
Cavium SOC
=========================
Cavium THUNDERX Boot Stub
=========================
BDK Version: 04.02.14, 2.38 Branch: gigabyte-2.38, Built: Fri Aug 18 01:16:58 UTC 2017
Board Model: gbt-mt30
Board name: MT30-GS1-00
System name: R120-T33-00
Board Revision: 1.x
Board SKU: 04 SATA
SKU version: 1.1
Node: 0 (Fixed)
Chip: 0xa1 Pass 2.1
SKU: CN8890-2000BG2601-CP-Y-G
*MAAS get-curtin-config: https://paste.ubuntu.com/p/k54HHN55ZF/
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sg3-utils/+bug/1833618/+subscriptions