Fedora Test Day - Encrypted Block Device Installation
WHAT
It's time to kick the tires on encrypted block device installation support in F10-Alpha. There have been several changes on this front recently, most notably the arrival of plymouth. The plan is meet and try to poke holes in encrypted block device installations. We'll have a host of QA and Development characters hanging out discussing bugs (aka "features"), expectations, and test areas. I've included details below for how you can contribute below.
WHEN
DATE: Thursday, August 14th, 2008
TIME: Between 12:00 and 21:00 UTC (8am -> 5pm EDT)
WHERE
Discussion will be held on IRC in the #fedora-qa channel. There are quite a few different IRC clients out there you can use to join the discussion, including:
- Web-based mibbit (no additional software required)- join #fedora-qa
- Chatzilla firefox extension - install Chatzilla
- A slew of popular linux clients - http://www.ircreviews.org/clients/platforms-unix.html
WHY
Have you tried installing using an encrypted block device yet? Support for installing to encrypted block devices was added in Fedora 9. While this support has been present for an entire release, it hasn't yet been given a thorough test review. Additionally, with the presence of plymouth, the method by which unlocking your encrypted devices has changed dramatically.
It's the new hotness and it could use your help in identifying use cases and fleshing out defects.
WHO
The following cast of characters will be available testing, workarounds, bug fixes, and general discussion ...
- Development - dlehman, halfline
- Quality Assurance - atodorov, bo09, jlaska, mganisin, rwilliam, wwoods
If you'd like to sign up to help field questions, please add your name to the list above.
HOW
There are many ways you can help, depending on your interests and skill level.
Triage NEW Bugs
Much like a field hospital, bug triage describes the art of quickly addressing the big issues in a bug, and moving it on for further review by the development team. Unlike a field hospital, there should be no blood or gunfire. The triage process has generated quite a following. As outlined on the BugZappers home, triage is a several step process:
- Getting started
- Finding bugs to triage, the list we'll use for Test Day includes:
- List of NEW installer encrypted block device bugs needing triage: http://tinyurl.com/6k8e5h
- List of NEW Plymouth bugs: http://tinyurl.com/6omrxn
- Taking action
One should not spend more than 5 minutes triaging a single bug. If you have more time to spare, and are looking to get a bit more involved, please proceed with Bug Verification or Test Execution.
Verify Bug Fixes
At this time there are no unverified bug fixes. However, that will likely change as the days go on.
- Encrypted block device installation MODIFIED bugs - http://tinyurl.com/5jfdb7
- Plymouth MODIFIED bugs - http://tinyurl.com/648k9n
Testing
Getting Started
To help with testing, you'll need to get a copy of the Fedora 10 Alpha. Additionally, since the Test Day involves testing installation, you'll likely need a spare system to install to.
Here are some testing requirements:
- A spare system (can be a virtual guest)
- Access to install F10-Alpha install media (see http://mirrors.fedoraproject.org//mirrorlists/publiclist//Fedora/10-Alpha)
- Optical CD/DVD media and a media burner (optional)
One you have selected a mirror, you must decide how you'd like to start the installer. There are many options, but the following lists the most popular choices.
Installation from CD/DVD
This method requires:
- A spare system (can be a virtual guest)
- Optical CD/DVD media and a media burner (optional)
The same process used to install an Fedora release can be used to install F10-Alpha. For an overview of the process, please review the Installation Guide.
- First, determine your system architecture (see http://docs.fedoraproject.org/install-guide/f9/en_US/sn-which-arch.html).
- Next, locate a nearby mirror where you can download install media (see http://mirrors.fedoraproject.org/publiclist/Fedora/development/).
- Next, download a F10-Alpha Fedora CD, DVD, or
boot.iso
for your architecture from a (see http://docs.fedoraproject.org/install-guide/f9/en_US/sn-expert-download.html) - Burn the downloaded image to a CD/DVD
- Boot from the CD/DVD
Installation from LiveUSB
- Refer to USB HowTo
Installation over Network
This method requires:
- A spare system (can be a virtual guest) - already installed OS (F9, F10-Alpha)
Information on installing without http://docs.fedoraproject.org/install-guide/f9/en_US/ap-medialess-install.html. The same process for locating installation media will be used.
- First, determine your system architecture (see http://docs.fedoraproject.org/install-guide/f9/en_US/sn-which-arch.html).
- Next, locate a nearby mirror where you can download install media (see http://mirrors.fedoraproject.org/publiclist/Fedora/development/).
- Next, install the
snake
utility:# yum install snake
- Using the mirror you selected above, update your bootloader information using snake:
# snake-install http://download.fedora.redhat.com/pub/fedora/linux/releases/test/10-Alpha/Fedora/i386/os
- Reboot your system to start the install
With your system installed, you are ready to move on to testing. Good luck!
Exploratory Testing
Exploratory testing is an approach to software testing that is not scripted or planned in as much detail as a more traditional test plan. Rather than walking through a series of pre-defined test cases, the tester is asked to think about the high-level test areas in the software. From there, the tester is encouraged to use their knowledge of the product and the code in order to navigate through different areas of the software. As they walk through the software, their emphasis is to find bugs, expose new test areas, and learn more about the product to help guide future test efforts.
The simplest definition from Exploratory Testing Explained by James Bach works the best:
Exploratory testing is simultaneous learning, test design, and test execution.
For further reading on exploratory testing can be found at http://en.wikipedia.org/wiki/Exploratory_testing.
Test Areas
For our test day, let's define the following test areas as primary focus areas for exploratory testing:
- Software RAID - mix encrypted raid devices, raid members
- LVM - physical volumes, logical volumes
- File system probing - Scanning a filesystem that may, or may not, contain encrypted block devices (includes rescue-mode)
- Rescue mode - can we find and use encrypted devices?
- Passphrase prompt - anything related to passphrase prompting, different keyboards, languages, hitting <back> or <cancel> several times
- SELinux - different policies, permissive, enforcing ... does this affect storing or checking the passphrase?
Targeted Testing
Not in the mood for exploratory testing? That's fine. We've taken the time to define explicit test cases for the different test areas noted above.
With a spare system(s) in hand, you are welcome to walk through one or more of the following test cases.
- Encrypted block device installation tests cases - https://fedoraproject.org/wiki/Anaconda/Features/EncryptedBlockDevices#Test_Plan
- Plymouth test cases - http://fedoraproject.org/wiki/Features/BetterStartup#Test_Plan
The goal is to flesh out any bugs in the software that might be exposed by your special hardware environment.
Test review
See a typo in the proposed test matrix? Have an interesting hardware scenario to share? Is something not clear? Help us improve the test coverage.
Come join us on #fedora-qa, ask questions, propose changes, and share your issues.
Known Issues
Both encrypted block device installation, and plymouth have been available for testing already. As a result, there is a list of bugs already filed for each area. Before you file a new bug, please refer to the following before filing a new bug:
- Plymouth known issues - http://tinyurl.com/5euz7s
- Installer encrypted block devices known issues - http://tinyurl.com/5wwt3y