Merge lp://staging/~wesley-wiedenmeier/curtin/partial-testing into lp://staging/~curtin-dev/curtin/trunk
- partial-testing
- Merge into trunk
Status: | Work in progress |
---|---|
Proposed branch: | lp://staging/~wesley-wiedenmeier/curtin/partial-testing |
Merge into: | lp://staging/~curtin-dev/curtin/trunk |
Diff against target: |
4195 lines (+3486/-164) 55 files modified
Makefile (+12/-0) curtin/block/__init__.py (+18/-6) curtin/commands/block_meta.py (+2/-1) curtin/commands/curthooks.py (+21/-8) curtin/commands/install.py (+15/-0) curtin/reporter/events.py (+4/-9) curtin/util.py (+12/-6) doc/devel/README-storagetests.txt (+191/-0) examples/storagetests/allindata.yaml (+222/-0) examples/storagetests/basicdos.yaml (+63/-0) examples/storagetests/bcache_basic.yaml (+52/-0) examples/storagetests/bcache_double.yaml (+75/-0) examples/storagetests/bcache_shared_cache.yaml (+71/-0) examples/storagetests/crypt_basic.yaml (+43/-0) examples/storagetests/diskonlydos.yaml (+8/-0) examples/storagetests/diskonlygpt.yaml (+8/-0) examples/storagetests/formats_on_lvm.yaml (+67/-0) examples/storagetests/gpt_boot.yaml (+58/-0) examples/storagetests/gpt_simple.yaml (+54/-0) examples/storagetests/logical.yaml (+84/-0) examples/storagetests/lvm.yaml (+51/-0) examples/storagetests/lvm_mult_lvols_on_pvol.yaml (+74/-0) examples/storagetests/lvm_multiple_vg.yaml (+64/-0) examples/storagetests/lvm_with_dash.yaml (+50/-0) examples/storagetests/mdadm.yaml (+59/-0) examples/storagetests/mdadm_bcache.yaml (+135/-0) examples/storagetests/mdadm_lvm.yaml (+112/-0) examples/storagetests/whole_disk_btrfs_xfs.yaml (+19/-0) examples/storagetests/whole_disk_ext.yaml (+27/-0) examples/storagetests/whole_disk_fat.yaml (+27/-0) examples/storagetests/whole_disk_swap.yaml (+11/-0) tests/storagetest_runner/__init__.py (+471/-0) tests/storagetest_runner/test_advanced_format.py (+43/-0) tests/storagetest_runner/test_basic.py (+38/-0) tests/storagetest_runner/test_nvme.py (+35/-0) tests/storagetest_runner/test_scsi.py (+36/-0) tests/storagetests/__init__.py (+261/-0) tests/storagetests/test_bcache.py (+17/-0) tests/storagetests/test_clear_holders.py (+105/-0) tests/storagetests/test_complex.py (+17/-0) tests/storagetests/test_disk_partitions.py (+21/-0) tests/storagetests/test_format.py (+19/-0) tests/storagetests/test_layers_on_mdadm.py (+21/-0) tests/storagetests/test_lvm.py (+16/-0) tests/storagetests/test_raid.py (+19/-0) tests/storagetests/verifiers.py (+222/-0) tests/unittests/test_reporter.py (+4/-8) tests/vmtests/__init__.py (+87/-22) tests/vmtests/image_sync.py (+1/-1) tools/curtin-log-print (+152/-0) tools/launch (+1/-1) tools/report-webhook-logger (+0/-100) tools/report_webhook_logger.py (+174/-0) tools/run-pep8 (+6/-1) tools/run-pyflakes (+11/-1) |
To merge this branch: | bzr merge lp://staging/~wesley-wiedenmeier/curtin/partial-testing |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Server Team CI bot | continuous-integration | Approve | |
curtin developers | Pending | ||
Review via email: mp+297958@code.staging.launchpad.net |
Commit message
Description of the change
Add storagetest test suite to isolate storage configuration
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
I think that the storagetests and the storagetest_runner are ready for review now, this added a lot of verification for storage configuration and makes it easy to add quite a bit more. The test runner works pretty well, and I have managed to run all of the tests in about 2 hours with 4 proceses. I think that quite a bit of the time there was used waiting for apt-get on a bad internet connection. I haven't tried with a local repo mirror yet though.
There are still some outstanding issues running some of the actual test cases, but these will require bugfixes on curtin to correct. The test cases which cannot be run right now are disabled in the test suite, and can be enabled when the bugs they cause are fixed.
There are some other branches pending merge that this branch depends on, I will go through and make a list of those tomorrow.
I also added a doc to doc/devel/ about storagetests and storagetest_runner that was based on the doc for vmtests.
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:470
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Christian Ehrhardt (paelzer) wrote : | # |
Hi Wesley,
I just ran your branch to take a look and found some minor things I'd ask you if you consider them useful to add.
The json files - while being json and not intended for humans - would still be much more readable it they had some line breaks. Like what "python -m json.tool /tmp/foo/
Then in the log a few outputs seem not to go through LOG.
I have a few questions about some of them:
1. Parse storage tests reporting data and ensure that all tests passed ... ok
Should get a "2016-07-12 07:15:09,184 - vmtests - INFO -" prefix like the others IMHO.
2. 10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /storagetest-
10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /storagetest-
10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /curtin.tar.xz HTTP/1.1" 200 -
What are thos actually doing, it is always the same text - Could be something like:
2016-07-12 07:15:09,184 - vmtests - INFO - fetching json reporting
2016-07-12 07:15:09,184 - vmtests - INFO - fetching json disk config
2016-07-12 07:15:09,184 - vmtests - INFO - fetching foo tarball
3. just after "10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /curtin.tar.xz HTTP/1.1" 200 -" is the longest "wait" duration in the tests. There should be some sort of "doing the test now" or anything else that somebody looking at it knows what is taking the time. This doesn't have to be step 1,2,3,4,../20 - just after the "Booting target image" a short "running test XY now".
Christian Ehrhardt (paelzer) wrote : | # |
Some comments when reading through the code
Christian Ehrhardt (paelzer) wrote : | # |
For a speed check I tried to see if it has issues going concurrently.
I think I didn't find the right way to call it - I tried:
rm -rf output/; CURTIN_
I found that with this call the section following section tries to write an infinitely huge file:
Building tarball of curtin: /mnt/nvme/
Wanted to let you know just in case that infinite write is a bug.
Later on I found this in the doc:
nosetests3 --processes=-1 tests/storagete
That gave me a stuck system - maybe too much cpus (6x2threads) and by that too much output?
In any case the output indenting was totally broken - I had to reset my console to scroll again.
That failed me then with errors, not sure if that is bad or just a wrong call - here is the log: http://
I realized that since this first "hanging" processes -1 run all tests were failing this way now.
All on:
Traceback (most recent call last):
File "/mnt/nvme/
self.
AssertionError: False is not true
Debugging gave me: "(qemu) qemu-system-x86_64: cannot set up guest memory 'pc.ram': Cannot allocate memory"
That likely also was my first hanging - but that could be fixed by freeing some up :-)
But I wonder if we need some sort of "is enough mem avail" prior to call qemu?
In the following retry it left me again with a good return code, but plenty of running qemu processes up.
That really needs some hardening.
Then I wanted to step down and did only:
nosetests3 --processes=2 tests/storagete
To check if it works at all.
I got the same console that gets misformatted after a while ending with
Ran 0 tests in 112.494s
Since all fails keep the logs around here the log file: http://
TL;DR: concurrent execution needs some fixes and probably a bit hardening against shooting itself :-)
Christian Ehrhardt (paelzer) wrote : | # |
I ran checkers and found several of the following (no need to mark them all inline):
tests/storagete
=> if really unused a _ would be even better.
tests/storagete
=> since log would format for you ...
I know pylint it is noisy and sometimes even disagrees with other checkers, but most of these are also only a search and replace away so probably worth to fix.
I'm not so sure about
tests/storagete
tests/storagete
I already complained about short names before, this is another example (there are more like mp, fp, e, ...)
tests/storagete
A totally different one is:
tests/storagete
That never is an issue so far, as all inheriting classes of e.g. BasicTests also inherit from class BaseStorageTest
One that is probably worth for sure to avoid later issues:
tests/storagete
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
Hey, thanks for looking through and reviewing, I'm reading through the diff comments atm, I'll reply inline.
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
> For a speed check I tried to see if it has issues going concurrently.
> I think I didn't find the right way to call it - I tried:
> rm -rf output/; CURTIN_
> --nologcapture --processes=10 --process-
>
> I found that with this call the section following section tries to write an
> infinitely huge file:
> Building tarball of curtin: /mnt/nvme/
>
> Wanted to let you know just in case that infinite write is a bug.
Thanks for pointing that out, that's definintely a bug in how I generate the curtin tarball. I hadn't run before in the jenkins runner, because sparse files don't work right in my /home partition and I didn't want the tests writing huge files there, but yeah, the jenkins runner puts the curtin tmp dir inside the curtin dir being tested, so it would cause tar to try to include the tarball its generating in itself. I need to make the tests aware of what environment they're running in so they know to omit that directory.
> Later on I found this in the doc:
> nosetests3 --processes=-1 tests/storagete
>
> That gave me a stuck system - maybe too much cpus (6x2threads) and by that too
> much output?
> In any case the output indenting was totally broken - I had to reset my
> console to scroll again.
Yeah, I've seen the output get messed up too, but I think what is happening is just that the processes are racing to write to stdout and the data they're writing is getting corrupted somehow. I haven't tried with more than 4 processes at once, so there may be some bugs that occur in that case. I'll look through the log and try to see if I can figure out what was going wrong there.
> That failed me then with errors, not sure if that is bad or just a wrong call
> - here is the log: http://
> I realized that since this first "hanging" processes -1 run all tests were
> failing this way now.
> All on:
> Traceback (most recent call last):
> File "/mnt/nvme/
> testing/
> test_reported_
> self.assertTrue
> AssertionError: False is not true
>
> Debugging gave me: "(qemu) qemu-system-x86_64: cannot set up guest memory
> 'pc.ram': Cannot allocate memory"
> That likely also was my first hanging - but that could be fixed by freeing
> some up :-)
> But I wonder if we need some sort of "is enough mem avail" prior to call qemu?
Yeah, the test runner eats up memory, not quite as much as the vmtests do while the target system tarball is being extracted in the vm though. A check would definitely be good, I'll look into how to write that.
Watching a vm trying to run from swap isn't fun :)
> In the following retry it left me again with a good return code, but plenty of
> running qemu processes up.
> That really needs some hardening.
>
> Then I wanted to step down and did only:
> nosetests3 --processes=2 tests/storagete
> To check if it works at all.
> I got the same console that gets misformatted after a while ending with
> Ran 0 tests in 112.494s
>
> Since all fails keep th...
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
> Hi Wesley,
>
> I just ran your branch to take a look and found some minor things I'd ask you
> if you consider them useful to add.
>
> The json files - while being json and not intended for humans - would still be
> much more readable it they had some line breaks. Like what "python -m
> json.tool /tmp/foo/
Yeah, that makes sense. I'll switch it to use something like 'json.dump(... indent=4)'
> Then in the log a few outputs seem not to go through LOG.
> I have a few questions about some of them:
>
> 1. Parse storage tests reporting data and ensure that all tests passed ... ok
> Should get a "2016-07-12 07:15:09,184 - vmtests - INFO -" prefix like the
> others IMHO.
Oh, that's the docstring for the test function, I think that's just added to nosetests's output when running with '-vv'. It may be good to emit a message through LOG though and remove the docstring cause the times could be good for debugging.
> 2. 10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /storagetest-
> HTTP/1.1" 200 -
> 10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /storagetest-
> HTTP/1.1" 200 -
> 10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /curtin.tar.xz HTTP/1.1" 200 -
>
> What are thos actually doing, it is always the same text - Could be something
> like:
> 2016-07-12 07:15:09,184 - vmtests - INFO - fetching json reporting
> 2016-07-12 07:15:09,184 - vmtests - INFO - fetching json disk config
> 2016-07-12 07:15:09,184 - vmtests - INFO - fetching foo tarball
I'm not sure if I can actually change that or not, those messages come from http.server, and I don't know if there is an interface in it to handle custom messages, I'll check in the source for it though.
> 3. just after "10.245.168.14 - - [12/Jul/2016 07:15:22] "GET /curtin.tar.xz
> HTTP/1.1" 200 -" is the longest "wait" duration in the tests. There should be
> some sort of "doing the test now" or anything else that somebody looking at it
> knows what is taking the time. This doesn't have to be step 1,2,3,4,../20 -
> just after the "Booting target image" a short "running test XY now".
Yeah, it would definitely be nice to have a bit of debug there. I can add in optional logging to tools.report_
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
> I ran checkers and found several of the following (no need to mark them all
> inline):
>
> tests/storagete
> Unused variable '_err' [python/pylint]
>
> => if really unused a _ would be even better.
Yeah, that makes sense. I just got in the habit of writing _err from block meta, but I should probably clean up some of the variable names there too. For the most part the err part of the util.subp return is never used.
> tests/storagete
> interpolation] Use % formatting in logging functions and pass the % parameters
> as arguments
>
> => since log would format for you ...
>
> I know pylint it is noisy and sometimes even disagrees with other checkers,
> but most of these are also only a search and replace away so probably worth to
> fix.
Yeah, I can use the old style format specifiers there, I'll switch that over.
> I'm not so sure about
> tests/storagete
> Using type() instead of isinstance() for a typecheck. [python/pylint]
Right yeah, I'll switch that, isinstance reads nicer.
> tests/storagete
> Redefining built-in 'type' [python/pylint]
Oh, yeah, that was for error type in __exit__, I'll rename that to 'etype'
> I already complained about short names before, this is another example (there
> are more like mp, fp, e, ...)
> tests/storagete
> variable name "d" [python/pylint]
Yeah, I think some of these are just trying to keep the line from going over 80, but some were probably in the list comprehensions, where the scope of the var is so limited it should be okay. I'll switch everything outside of comprehensions over to long names real quick, thanks for bringing that up.
>
> A totally different one is:
> tests/storagete
> 'BasicTests' has no 'assertIsNotNone' member [python/pylint]
> That never is an issue so far, as all inheriting classes of e.g. BasicTests
> also inherit from class BaseStorageTest
> the methods are in scope would it hurt letting the verifiers also derive from
> unittest.TestCase?
I guess the verifiers could inherit from TestCase, but I think it may be cleaner for them not to, partly just because that would require '__test__ = False' in all of them to prevent nosetests3 from trying to run them as individual tests. Also, because the BaseStorageTest class overrides the TestCase.run() method, if the verifier classes were to inherit from TestCase and were listed as parents of the individual test classes after the BaseStorageTest, I think that the call to super() in BaseStorageTest
> One that is probably worth for sure to avoid later issues:
> tests/storagete
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
Replied to some of the inline commments
- 471. By Wesley Wiedenmeier
-
Fix typo in README-
storagetests. txt - 472. By Wesley Wiedenmeier
-
Merge in more recent revision of lp:~wesley-wiedenmeier/curtin/trusty-preserve
for cleaner handling of blkid failure in disk_handler preserve code on trusty - 473. By Wesley Wiedenmeier
-
Use util.json_dumps instead of json.dumps for json formatting for storage tests
as it sets indentation levels nicely - 474. By Wesley Wiedenmeier
-
replaced docstring in storagetest_
runner. test_reporting_ data with LOG.info
message to get a timestap on the output from it in nosetests - 475. By Wesley Wiedenmeier
-
Cleanups based on pylint
- 476. By Wesley Wiedenmeier
-
In storagetest_runner, when building curtin tarball, exclude the 'output' dir
so that tar does not try to create a tarball recursively when using jenkins
runner
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
I just pushed some cleanup for the comments posted. Not everything's been addressed yet, but the rest I'll get to tomorrow.
Just so it doesn't get lost, the diff comments are on revision 470.
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:476
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 477. By Wesley Wiedenmeier
-
Supress server.
SimpleHTTPReque stHandler logging messages - 478. By Wesley Wiedenmeier
-
some cleanup in block based on diff comments
- 479. By Wesley Wiedenmeier
-
Re merge from lp:~wesley-wiedenmeier/curtin/curtin-fix-sysfs-partition-data to
pull in cleaner variable handling - 480. By Wesley Wiedenmeier
-
better handling of test_py_ver in storagetest_
runner. gen_user_ data - 481. By Wesley Wiedenmeier
-
sp
- 482. By Wesley Wiedenmeier
-
Updated storagetest_runner documentation with complete list of environment
variables used in vmtests that are still applicable to storagetest_runner - 483. By Wesley Wiedenmeier
-
Wait until enough memory is available before starting tests
- tools/launch: in Usage() state that --mem arg is in Mb not Kb, as this is
what qemu takes as input
- vmtests/__init_ _.py:
- add the function stall_if_not_enough_ memory( )
this function gets free memory from /proc/meminfo and if less than what is
required, delays then tries again up to a configurable maximum amount of
time until enough memory is available to start the tests. if the maximum
amount of delay time is reached and there still is not enough memory
available it raises an error that stops the vmtest
- add environment configuration variables CURTIN_VMTEST_ INSTANCE_ MEMORY and
CURTIN_VMTEST_ MEMORY_ MAX_STALL to control how much memory to allocate to
the test vm and how long to wait until there is enough memory available
- for both the tools/launch and tools/xkvm command, specify how much memory
qemu should use based on the value of CURTIN_VMTEST_ INSTANCE_ MEMORY
- storagetest_runner/ __init_ _.py: use the stall_if_ not_enough_ memory( )
function from vmtests and specify how much memory used based on the vmtest
environment variable
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:483
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:483
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 484. By Wesley Wiedenmeier
-
Add trusty test interactive
- 485. By Wesley Wiedenmeier
-
Enable dos logical/extended pattitioning test
- 486. By Wesley Wiedenmeier
-
Enable trusty storagetest_runner instances as lp: #1596384 only occurs under
really heavy loads on a system without enough resources to run the tests
properly, and should not affect the test server - 487. By Wesley Wiedenmeier
-
Instead of parsing /proc/meminfo for vmtests.
stall_if_ not_enough_ memory, use
'free -m'
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:487
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:487
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Scott Moser (smoser) wrote : | # |
i really like the goal here.
some comments inline.
- 488. By Wesley Wiedenmeier
-
Remove -w flag from free cmd in stall_if_
not_enough_ memory
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:488
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:488
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
Thanks for reviewing. I went through and replied to the diff comments, I'll get most of them handled soon, one or two may take a bit longer. Just so they aren't lost because of future commits, the diff comments are at: r487
- 489. By Wesley Wiedenmeier
-
Merge from lp:~wesley-wiedenmeier/curtin/trusty-preserve to get better
formatting of log messages in disk_handler without using \ - 490. By Wesley Wiedenmeier
-
Use encode=False rather than .decode() in image sync output
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:490
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:490
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 491. By Wesley Wiedenmeier
-
renamed some of the storagetests configs with non descriptive names
- 492. By Wesley Wiedenmeier
-
In storagetest_runner, don't use make to start tests, use nosetests directly,
to avoid having to install make - 493. By Wesley Wiedenmeier
-
Remove encoding from util.json_dumps as it isn't actually needed anywhere
where util.json_dumps is used - 494. By Wesley Wiedenmeier
-
Fixed call to util.json_dumps
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:494
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:494
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 495. By Wesley Wiedenmeier
-
Removed vmtests.
stall_if_ not_enough memory and associated varialbes and
documentation, as it has been moved into another branch to merge separately
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:495
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:495
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:496
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:496
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 497. By Wesley Wiedenmeier
-
Merge from trunk to resole conflict
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:497
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:497
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Wesley Wiedenmeier (wesley-wiedenmeier) wrote : | # |
There are some branches that have already been merged into
this branch because they were neccessary for getting
storagetests working at all. Most of them are bug fixes,
except trunk.add-
report_
reporting from a test environment.
In addition, several bugs have already been found using the
current test configs for storagetests. Branches exist to
handle most of these. Those branches have not been merged
into this one, but once they have merged into trunk I can
enable the storagetests that reproduce those bugs.
Already Merged Branches:
lp:~wesley-wiedenmeier/curtin/trunk.add-web-reporter-to-vmtests
merge into: lp:~raharper/curtin/trunk.add-web-reporter-to-vmtests
reason: improvements to original logic for
'ip address' to get local lan ip in vmtests
lp:~raharper/curtin/trunk.add-web-reporter-to-vmtests
merge into: lp:curtin
reason: during vmtests, capture reporting events from
curtin and verify that the events are recieved
and properly formatted
lp:~wesley-wiedenmeier/curtin/curtin-fix-sysfs-partition-data
merge info: lp:curtin
reason: the block.sysfs_
useful, and is used in storagetests, but the
old implementation was only able to operate on
the path to whole disks, not to give
lp:~wesley-wiedenmeier/curtin/trusty-preserve
merge into: lp:curtin
reason: fix handling of disk preservation on
special disks
lp:~wesley-wiedenmeier/curtin/1598310
merge into: lp:curtin
reason: (LP: 1598310) The current implementation of
running on a path for which lsblk may give
This branch fixes this and adds unittests
lp:~wesley-wiedenmeier/curtin/1597522
merge into: lp:curtin
reason: (LP: 1597522) A fix that went into trunk a
while ago as a work around for a bug in
like mkfs.ext4 silently ignored it, but it
caused other tools, such as mkfs.xfs to fail
and mkfs.btrfs to try to create a filesystem
This branch fixes that, and adds it to vmtests
Bugs found by storagetests fixed so far:
- (LP: 1597522) Curtin passes -s flag to all mkfs cmds,
lp:~wesley-wiedenmeier/curtin/1597522
Already merged into partial-testing, but not
in trunk
- (LP: 1592962) U...
- 498. By Wesley Wiedenmeier
-
Remove test_cciss from storagetest_runner, as it isn't properly reproducing the
cciss issue
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:498
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:498
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
- 499. By Wesley Wiedenmeier
-
Merge from trunk for tox env fix
- 500. By Wesley Wiedenmeier
-
Fix incorrectly named conf file
- 501. By Wesley Wiedenmeier
-
Added more challenging test of handling weird lvm names to test_clear_holders
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:501
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 502. By Wesley Wiedenmeier
-
Merge from trunk
- 503. By Wesley Wiedenmeier
-
Fix config file lvm_mult_
lvols_on_ pvol - 504. By Wesley Wiedenmeier
-
Fix disk id for lvm_mult_
lvols_on_ pvol.yaml - 505. By Wesley Wiedenmeier
-
Fixed disk id in expected_holders for mult_lvols_
on_pvol. yaml - 506. By Wesley Wiedenmeier
-
Merge from trunk
- 507. By Wesley Wiedenmeier
-
Merge from trunk
- 508. By Wesley Wiedenmeier
-
Removed ntfs test conf as creating ntfs volume writes ~10G of data and slows
tests down too much - 509. By Wesley Wiedenmeier
-
Removed reference to ntfs test conf file in test_format
- 510. By Wesley Wiedenmeier
-
In test_clear_holders, use block.sys_
block_path instead of no longer extant
block_meta.block_find_ sysfs_path - 511. By Wesley Wiedenmeier
-
Fixed up whole_disk_fat conf file (10G disk was too large to make a fat16
filesystem, so use vfat instead) and enabled fat conf file, as bug now fixed in
trunk - 512. By Wesley Wiedenmeier
-
Add lots of 'wipe: superblock'
- 513. By Wesley Wiedenmeier
-
Merge from trunk
- 514. By Wesley Wiedenmeier
-
Get list of test deps from curtin.deps in storagetest_runner
- 515. By Wesley Wiedenmeier
-
Disable logical.yaml as it causes parted bug on advanced format disks
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:515
https:/
Executed test runs:
SUCCESS: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
- 516. By Wesley Wiedenmeier
-
Merge from trunk to bring in test fix
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:516
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 517. By Wesley Wiedenmeier
-
Remove tests on Wily as it is no longer supported
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:517
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 518. By Wesley Wiedenmeier
-
Remove all test references to reiserfs as not supported
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:518
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 519. By Wesley Wiedenmeier
-
For lvm_mult_
lvols_on_ pvol.yaml, replace dos extended/logical partitioning with
gpt, as the dos logical partitioning causes problems on advanced format disks
sometimes. This allows lvm handling to be tested even though dos
extended/logical has to be disabled
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:519
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 520. By Wesley Wiedenmeier
-
Merge from trunk
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:520
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 521. By Wesley Wiedenmeier
-
Remove accidental duplicate wipe statement in mdadm.yaml
- 522. By Wesley Wiedenmeier
-
Remove unneeded partitions in mdadm.yaml
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:522
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 523. By Wesley Wiedenmeier
-
Sleep for a second after running bcache verification to make a kernel panic
when unregistering the bcache device during the start of the next test - 524. By Wesley Wiedenmeier
-
Merge from trunk to pull in unittest fixes
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:524
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 525. By Wesley Wiedenmeier
-
Added a dmcrypt clear_holders test, but disabled
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:525
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 526. By Wesley Wiedenmeier
-
Fix crypt_basic.yaml
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:526
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 527. By Wesley Wiedenmeier
-
Add allindata.yaml as a clear_holders test
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:527
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 528. By Wesley Wiedenmeier
-
Fix expected holders for allindata.yaml
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:528
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 529. By Wesley Wiedenmeier
-
remove expected_holders for backing to volgroup1 in allindata.yaml as it i snot
always possible to predict which logical partition is on each md device
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:529
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 530. By Wesley Wiedenmeier
-
Merge from trunk to disable tests for wily as it is EOL
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:530
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 531. By Wesley Wiedenmeier
-
Merge from trunk
- 532. By Wesley Wiedenmeier
-
Merge in updates to storagetests.
test_clear_ holders from
lp:~wesley-wiedenmeier/curtin/clear-holders-storagetests
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:532
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
- 533. By Wesley Wiedenmeier
-
Merge from trunk to pull optionally ignoring errors in mdadm.mdadm_
assemble
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:533
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
Scott Moser (smoser) wrote : | # |
I've marked this work in progress.
Ryan and I discussed this some, it is valuable, and we'd like to runt his, but at this point the branch probably needs rework to merge from trunk...
so just categorizing as work-in-progress.
Unmerged revisions
- 533. By Wesley Wiedenmeier
-
Merge from trunk to pull optionally ignoring errors in mdadm.mdadm_
assemble - 532. By Wesley Wiedenmeier
-
Merge in updates to storagetests.
test_clear_ holders from
lp:~wesley-wiedenmeier/curtin/clear-holders-storagetests - 531. By Wesley Wiedenmeier
-
Merge from trunk
- 530. By Wesley Wiedenmeier
-
Merge from trunk to disable tests for wily as it is EOL
- 529. By Wesley Wiedenmeier
-
remove expected_holders for backing to volgroup1 in allindata.yaml as it i snot
always possible to predict which logical partition is on each md device - 528. By Wesley Wiedenmeier
-
Fix expected holders for allindata.yaml
- 527. By Wesley Wiedenmeier
-
Add allindata.yaml as a clear_holders test
- 526. By Wesley Wiedenmeier
-
Fix crypt_basic.yaml
- 525. By Wesley Wiedenmeier
-
Added a dmcrypt clear_holders test, but disabled
- 524. By Wesley Wiedenmeier
-
Merge from trunk to pull in unittest fixes
The storagetests are now at a point where they can be fully run and the results collected just using 'make run_storagetests'. The storagetest_runner uses the same general structure as vmtests so it shouldn't require any modifications of the test system other than adding it to the list of things to run.
The storagetest_runner generates a tarball of curtin and issues cloud-config scripts to the target image to retrieve and extract that tarball as it boots. The storagetests are then run, and use curtin.reporter to report success and failure to the test runner, as well as log files generated by block_meta while the test was running