lp:~smoser/curtin/merge-critical
- Get this branch:
- bzr branch lp:~smoser/curtin/merge-critical
Branch merges
- Ryan Harper (community): Needs Fixing
-
Diff: 1440 lines (+840/-156)19 files modifiedbin/curtin (+16/-14)
curtin/commands/block_meta.py (+78/-33)
curtin/commands/curthooks.py (+19/-0)
curtin/commands/main.py (+78/-16)
curtin/deps/__init__.py (+162/-0)
curtin/deps/check.py (+52/-24)
curtin/deps/install.py (+23/-27)
curtin/pack.py (+26/-22)
curtin/util.py (+27/-0)
debian/control (+9/-1)
examples/tests/mdadm_bcache.yaml (+18/-0)
examples/tests/raid5bcache.yaml (+97/-0)
tests/unittests/test_util.py (+40/-0)
tests/vmtests/__init__.py (+9/-1)
tests/vmtests/test_basic.py (+18/-2)
tests/vmtests/test_mdadm_bcache.py (+39/-10)
tests/vmtests/test_raid5_bcache.py (+85/-0)
tools/launch (+43/-4)
tools/write-curtin (+1/-2)
Related bugs
Bug #1512857: Deploy fails with RAID 5 and Bcache | Critical | Fix Released | |
Bug #1514094: Fail to deploy with Bcache when using cache multiple times | Critical | Fix Released | |
Bug #1514888: curtin needs to notice that gdisk is not installed, and install it | Critical | Fix Released |
Related blueprints
Branch information
Recent revisions
- 306. By Scott Moser
-
Improve dependency checking and installation
This makes several changes all toward the goal of fixing
curtin running on precise and better handing dependency installation.* change launcher to stop calling 'install-deps' itself, but rather just
invoke the command it needs with the best python available
the curtin main now handles installing its own dependencies if
the user provides --install-deps.* pack_install now calls 'curtin pack-install --install-deps'
* curtin/util and portions of curtin/
commands/ main.py are expected
to be runnable with any python with only standard library modules.Lastly, in order to verify all this is functional we add a Precise test.
That required some work to the test suite to handle powering the
system off because cloud-init in 12.04 does not have power_state module. - 305. By Scott Moser
-
Reduce chance udev race with mdadm opening /dev/mdX
In some cases mdadm races with udevd with the creation of /dev/mdX and
fails to open the newly created raid array. Reduce the window by stopping
the udev exec queue while creating the raid device and resuming it
afterwards. The attached testcase no longer reproduces the issue found
only on Trusty but may still lurk in Trusty mdadm (or older). - 304. By Scott Moser
-
Allow re-use of bcache cache devices with separate backing devices
Decouple creation of bcache caches and backing devices by dropping
use of make-bcache -B <> -C <>, in favor of single use -B and -C
and combining backing devices with caches via sysfs attach attributes.
Update the mdadm/bcache vmtest to include a multi-bcache backing device
cached by single cachedevice test.While validating results, fix lurking issue with mdadm.conf not getting
updated post raid configuration in target triggering LP: #964052. - 303. By Scott Moser
-
tests/vmtests/: do not remove tempdir on TempDir __del__
this was thwarting the attempts of CURTIN_
VMTEST_ KEEP_DATA
to keep data by deleting it anyway. - 302. By Scott Moser
-
mkfs.ext3 or mkfs.ext4 should be called with -F
There are times when mkfs.ext3 believes it knows better than you,
and will refuse to create a filesystem on a device.I've not discovered the complete heuristics, but it seems
it might be related to the device name (vdb versus sdb), the contents
(filesystem or partition table or blank).Since we are intending to mkfs, we should be passing -F, but
I am afraid that we're possibly masking some other issues here.
In that any device we're wiping we should be wiping any signatures
from the start and end of disk and partitions.
------------- This line and the following will be ignored --------------modified:
curtin/commands/ block_meta. py
curtin/commands/ mkfs.py
pending merges:
Scott Moser 2015-11-17 mkfs.ext3 or mkfs.ext4 should be called with -F - 301. By Scott Moser
-
change arguments to a class method to be 'cls' rather than 'self'.
passing 'self' to a class method is just confusing.
If you're looking at code out of context, or not paying attention
to the decorator, you very well expect for 'self.method()' to work.This just changes all that from 'self' to 'cls' so its more obvious.
- 300. By Scott Moser
-
fix stacktrace and output on bad argument to mkfs
Running 'mkfs asdf' would stack trace.
Then, after fixing that fix the error message which was poorly quoted. - 299. By Ryan Harper
-
silence logger error on __del__ call
PYTHON3 unsets globals on __del__ calls which breaks are call
to logger. Call logger prior to entering __del__ on TempDir class. - 298. By Scott Moser
-
vmtest: install from url rather than 'cp:///'
Installing 'cp:///' as we were booting was always bad.
the / included logs or other information from the booted system.
some paths we could take:
a.) install from a url
b.) attach another disk, mount it, and cp:///path/to/clean/ mount
c.) boot with overlayroot and install cp:///media/mount-ro/ This patch implements 'a'. It has a nice side affect
that logs get progress from wget printed to them. - 297. By Scott Moser
-
make pep8 (./tools/run-pep8) happy on wily.
pep8 at 1.6.2-0.1 doesnt like the '+' on a new line.
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:~curtin-dev/curtin/trunk