From Fedora Project Wiki

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 14: Line 14:
== What to test? ==
== What to test? ==


Today's instalment of Fedora Test Day will focus on SSD Caching in Fedora 20, specifically bcache. SSD Caching allows you to speedup your disk access by combining your slow HDD with a fast SSD. The SSD will be used to store copies of frequently accessed blocks on your HDD, so you'll experience a good performance while also having the large storage capacity of your HDD.
Today's instalment of Fedora Test Day will focus on bcache based SSD Caching in Fedora 20.
 
Although dm-cache is another SSD caching implementation, today we'll only focus on the bcache implementation.


=== General test objective ===
=== General test objective ===
Line 26: Line 24:
=== Scope ===
=== Scope ===


The bcache implementation of SSD caching is a new feature (since kernel 3.9) and should be considered experimental. The focus of this Test day is to evaluate the alignment of bcache-tools with other relevant Fedora packages to support a good basis for experimenting with SSD caching:
SSD caching is a new feature (since kernel 3.9) and should be considered experimental. The focus of this Test day is to evaluate the alignment of bcache-tools with other relevant Fedora packages to support a good basis for experimenting with SSD caching:


* bcache-tools (version 0-0.14.20130909git or later)
* bcache-tools
* util-linux (version 2.24-0.1 or later)
* util-linux
* dracut (version 034 or later)
* dracut
* lvm2 (version 2.02.102-1 or later)
* lvm2
* kernel (version 3.9 or later)
* kernel


Anaconda support for bcache is expected to be available not until Fedora 21, so this is not in scope for the test day.
Anaconda support for bcache is expected to be available not until Fedora 21, so this is not in scope for the test day.
Line 41: Line 39:


The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...
* Development - Kent Overstreet (py1hon)
* Development - [[User:ignatenkobrain|Igor Gnatenko]] (ignatenkobrain), [[User:rolffokkens|Rolf Fokkens]] (rolffokkens)
* Quality Assurance - [[User:ignatenkobrain|Igor Gnatenko]] (ignatenkobrain), [[User:rolffokkens|Rolf Fokkens]] (rolffokkens)
* Quality Assurance - [[User:jreznik|Jaroslav Reznik]] (jreznik)
 
== External documentation ==
You can find some relevant documentation at bcache.evilpiepirate.org[[http://bcache.evilpiepirate.org/]].
 
== Prerequisites for the Test Day ==
 
=== Limitations ===
There's no "easy way" yet to convert an existing filesystem to a bcache based filesystem: bcache is an additional block layer that writes its own superblock on the underlying block devices. There is a blocks [[https://github.com/g2p/blocks]] tool under development, but for now the only solution is to backup your data some where, recreate your filesystem on a bcache device, and then restore the data.


Another limitation is the fact that bcache is EXPERIMENTAL. Although it works really well in general, you should be careful to store important data on it.
== Prerequisite for Test Day ==


=== Physical or Virtual ===
=== Physical or Virtual ===
Line 67: Line 57:
   * internet connection
   * internet connection


* bootable media containg (one of):
* bootable media containg Rawhide/F20 (?) netinst (?) image.
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-x86_64-DVD.iso Fedora 20 Beta TC2 x86_64 DVD]
 
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-i386-DVD.iso Fedora 20 Beta TC2 i386 DVD]
 
Because doing updates (particularly the kernel) is part of the test, it's best not to install latest and greatest.
 
=== Disk partitioning ===
To prepare for the test cases, it is important to use the following partitioning:
 
  sda:
  sda1 500MB  /boot
  sda2 2GB    /home
  sda3 2GB    /
  sda4 (>4G) free space (only used when testing in combination with LVM)
 
  sdb:
  sdb1 >2GB  (caching device)
 
sda is (or models) the rotational disk device, sdb is (or models) the solid state disk device. It would be best to have sdb (on) a true SSD, but if you don't have an SSD then an ordinary disk will do as well for the testing (except for performance testing)
 
When using a VM sda may and sdb may be read as vda and vdb.
 
=== SElinux ===
Please disable SElinux. There's some copying involved in the testcases, and SElinux may break the testcases when the copied data is not accessible.
 
To disable SElinux you should edit your /etc/selinux/config and set SELINUX=permissive instead of SELINUX=enforcing.


=== Other requirements ===
=== Other requirements ===
* Knowledge on how to build physical or virtual machines
* Knowledge on how to build physical or virtual machines
* Knowledge on how to use the Linux command line (There's no graphical installer yet)
* Knowledge how to use the Linux command line (There's no graphical installer yet)
* A desire to break software
* A desire to break software


== How to test? ==
=== Further reading ===
Because Anaconda does not support bcache yet, the test may be executed following certain steps: preparation and test case 1 to test case 3. The end result will be a F20 system running its root filesystem on bcache. These steps are merely suggestions, to allow testing in limited time. Of course testers are free to choose other ways of testing. As a suggestion, testers can focus on the following criteria:


* Do the tools to create / manage bcache operate as expected?
Here's a chunk which is commonly used for most Test Days. Replace XX with whatever Fedora release is pending:
* Are your 'bcached' filesystems automatically operational after a reboot?
* Are your 'bcached' filesystems automatically operational after a kernel update?


Each demonstrates the proper allignment of dracut, util-linux, lvm2 (when used), bcache-tools and the kernel.
* An updated [http://fedoraproject.org/get-prerelease Fedora 20 pre-release], [[Releases/Rawhide|Rawhide]] (tips on installing Rawhide below), or a [http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/ nightly live image]


=== Preparation: install F20 ===
== How to test? ==
 
The first step is to do a minimal install:


* this is the fastest install
* it also saves time when copying the root filesystem during later test cases
* it allows to install other packages later (yum groupinstall) as part of the test activities.


Use bootable media containg
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-x86_64-DVD.iso Fedora 20 Beta TC2 x86_64 DVD]
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-i386-DVD.iso Fedora 20 Beta TC2 i386 DVD]
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-x86_64-netinst.iso Fedora 20 Beta TC2 x86_64 netinstall]
[http://dl.fedoraproject.org/pub/alt/stage/20-Beta-TC2/Fedora/x86_64/iso/Fedora-20-Beta-TC2-x86_64-netinst.iso Fedora 20 Beta TC2 i386 netinstall] to install Fedora 20. This does not contain the most recent packages, so lateron <code>yum update</code> can be used as a test.


== Test Cases ==
High level details on how a contributor can get involved.  This can include (but not limited to):


=== Test case 1.A: /home on bcache (no LVM)===
* Areas to target with exploratory testing
* A list of pre-defined test cases to execute
* How to report back results


Once your fresh Fedora 20 system is running, we will "move" /home to a bcache device without using LVM.
Here's another common chunk (again, replace XX as above):


Step by step instructions are available on [[QA:Testcase_bcache-tools_home_on_bcache_(no_LVM)|this page]]
=== '''Update your machine''' ===


=== Test case 1.B: / on bcache (no LVM) ===
If you're running Fedora XX, make sure you have all the current updates for it installed, using the update manager. If you want to try Rawhide, see the instructions on the [[Releases/Rawhide|Rawhide]] page on the various ways in which you can install or update to Rawhide. Or:
Now we have a stable system with /home on bcache, we can go forward and have / on bcache without using LVM.


Step by step instructions are available on [[QA:Testcase_bcache-tools_root_on_bcache_(no_LVM)|this page]].
=== '''Live image''' ===


=== Test case 2.A: /home on bcache (LVM)===
Optionally, you may download a non-destructive Rawhide live image for your architecture. Tips on using a live image are available at [[FedoraLiveCD]]. Live images can be found [http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/ here].


Once your fresh Fedora 20 system is running, we will "move" /home to a Logical Volume (LVM) on a bcache device. Because of the flexibility that LVM provides the approach is quite different from page 1.A, for example we'll start by using sda4!
== Test Cases ==
 
Step by step instructions are available on [[QA:Testcase_bcache-tools_home_on_bcache_(LVM)|this page]]
 
=== Test case 2.B: / on bcache (LVM) ===
 
Now we have a stable system with /home on LVM on bcache, we can go forward and have / on bcache.
 
Step by step instructions are available on [[QA:Testcase_bcache-tools_root_on_bcache_(LVM)|this page]]


== Participants ==
Provide a list of test areas or test cases that you'd like contributors to execute.  For other examples, see [[:Category:Test_Cases]].
 
{|
! User
! IRC nickname
|-
| Kent Overstreet
| py1hon
|-
| [[User:ignatenkobrain|Igor Gnatenko]]
| ignatenkobrain
|-
| [[User:rolffokkens|Rolf Fokkens]]
| rolffokkens
|-
|}


== Test Results ==
== Test Results ==


<!-- metadata: https://fedoraproject.org/wiki/User:Jskladan/Sandbox:F20SSDCacheTestday
Construct a table or list to allow testers to post results. Each column should be a test case or configuration, and each row should consist of test results. Include some instructions on how to report bugs, and any special instructions. Here's an example, from a Palimpsest test day:
    To update the results tool, put the metadata url in the following form and submit: http://testdays.qa.fedoraproject.org/testdays/admin/update_testday
 
'''We are tracking test results in a web application [http://testdays.qa.fedoraproject.org/testdays/show_event?event_id=8 over here]'''
 
Results from this web application will be automatically transferred to the Wiki a week after the test day, and the reporting system will be shutdown. Feel free to continue testing and filling the wiki even after this date.
 
Should you encounter any problem while using the web application, please contact jskladan on #fedora-qa channel at freenode, or send an email to jskladan@fedoraproject.org
-->
 


If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=13&component=bcache-tools bcache-tools]. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=13&component=udisks udisks], or [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=13&component=gnome-disk-utility gnome-disk-utility] for bugs in the Palimpsest graphical front end itself. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line.


{|
{|
! User
! User
! [[QA:Testcase_bcache-tools_home_on_bcache_(no_LVM)|/home on bcache (no LVM)]]
! [[QA:Testcase_sample_1|Sample test 1]]
! [[QA:Testcase_bcache-tools_root_on_bcache_(no_LVM)|/ on bcache (no LVM)]]
! [[QA:Testcase_sample_2|Sample test 2]]
! [[QA:Testcase_bcache-tools_home_on_bcache_(LVM)|/home on bcache (LVM)]]
! [[QA:Testcase_sample_3|Sample test 3]]
! [[QA:Testcase_bcache-tools_root_on_bcache_(LVM)|/ on bcache (LVM)]]
! [[QA:Testcase_sample_4|Sample test 4]]
! References
! References
|-
|-
| [[User:werkman|werkman]]
| [[User:SampleUser|Sample User]]
| {{result|pass}}
| {{result|none}}  
| {{result|none}}
| {{result|pass}}
| {{result|none}}
| {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref>
| {{result|none}}
| {{result|fail}} <ref>{{bz|12345}}</ref>
| <references/>
|-
| [[User:ambush|PAVLEG]]
| {{result|warn}}<ref>Test pass, but nothing works. {{bz|1018615}}</ref>
| {{result|none}}
| {{result|none}}
| {{result|none}}
| <references/>
|-
| [[User:roshi|roshi]]
| {{result|warn||1018615}}
| {{result|warn}} <ref>Hit this bug with wget {{bz|1018615}}</ref>
| {{result|none}}
| {{result|none}}
| <references/>
| <references/>
|-
|-
|}
|}


=== Mock tests (optional) ===
[[Category:Test Days]] [[Category:Fedora 20 Test Days]]
 
{|
! User
! [[QA:Testcase_bcache-tools_mock_on_bcache_(no_LVM)|mock on bcache (no LVM)]]
! References
|-
| [[User:Sampleuser|Sample User]]
| {{result|inprogress}}
| <references/>
|-
|}
 
 
[[Category:Fedora 20 Test Days]]
Please note that all contributions to Fedora Project Wiki are considered to be released under the Attribution-Share Alike 4.0 International (see Fedora Project Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please solve the following task below and enter the answer in the box (more info):

Cancel Editing help (opens in new window)