[Bug 1443542] Re: curtin race on vivid when /dev/sda1 doesn't exist
Scott Moser
smoser at ubuntu.com
Mon Jun 22 16:05:30 UTC 2015
** Description changed:
+ === Begin SRU Template ===
+ [Description]
+ Installation fails, with log information showing:
+
+ Unexpected error while running command.
+ Command: ['mkfs.ext4', '-q', '-L', 'cloudimg-rootfs', '/dev/sda1']
+ Exit code: 1
+ Reason: -
+ Stdout: ''
+ Stderr: ''
+ Installation failed with exception: Unexpected error while running command.
+ Command: ['curtin', 'block-meta', 'simple']
+
+ This is a result of curtin having done:
+ a.) partition the disk
+ b.) invoke wipefs on the block device with an offset to where the partition started
+
+ The intent of that was to ensure that there were no fileystem signatures
+ or other interesting metadata (lvm, raid) on the partition.
+
+ The issue was two fold:
+ a.) wipefs always invokes rereadpt on the disk it wipes
+ b.) wipefs opened the block device, not the partition.
+
+ Both of these things cause a flurry of udev events that may result in
+ the device having an open filehandle, and thus mkfs refusing to create a
+ filesystem on it.
+
+ The solution is to replace 'wipefs' with our own 'wipe_partition' that
+ does not open the block device, but rather only the partition and does
+ not invoke rereadpt.
+
+ [Impact]
+ Installation fails occasionally.
+
+ [Test Case]
+ In the original bug-opener's environment it fails fairly reliably under heavy host load using vmware. He would do a deploy to several guests on the same host at the same time and this would reproduce. Unfortunately I was unable to come up with a test case in a less complex environment.
+
+ [Regression Potential]
+ Not specifically a regression, but it is possible that we need additional 'udevadm settle' after the internal 'wipe_partition'
+
+ === End SRU Template ===
+
The file /dev/sda1 does not exist and no size was specified.
Unexpected error while running command.
Command: ['mkfs.ext4', '-q', '-L', 'cloudimg-rootfs', '/dev/sda1']
Exit code: 1
Reason: -
Stdout: ''
Stderr: ''
Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'block-meta', 'simple']
Exit code: 3
Reason: -
Stdout: b"The file /dev/sda1 does not exist and no size was specified.\nUnexpected error while running command.\nCommand: ['mkfs.ext4', '-q', '-L', 'cloudimg-rootfs', '/dev/sda1']\nExit code: 1\nReason: -\nStdout: ''\nStderr: ''\n"
Stderr: ''
This happened 4 out of 10 times when Ryan tested it.
Could this be a race condition because /dev/sda1 hasn't had time to come
into existence between when curtin partitions the disk and when curtin
tries to create a filesystem on the partition?
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to curtin in Ubuntu.
https://bugs.launchpad.net/bugs/1443542
Title:
curtin race on vivid when /dev/sda1 doesn't exist
To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1443542/+subscriptions
More information about the Ubuntu-server-bugs
mailing list