Refactor Tempest to be parallel-test friendly

* Allows a tenant/user to be created by the base test
  class, allowing isolation of the tests. The base
  compute test case class now controls what users
  and tenants get created for the test case
* Moves identity admin stuff into appropriate directory
* Removes _multiprocess_shared_ to force setUpClass to
  run for every test case.
* Adds setup.cfg for use with openstack.nose_plugin
* run_test.sh refactoring to make running smoketests easier

Change-Id: I3ea4c44a8c194d7ae2833b5443df7678924bcd5d
Remove duplicate line cls.floating_ips_client = os.floating_ips_client from tempest/tests/compute/base.py

Change-Id: Iff106a23222b9427b1da96a2a2074f8bad22d619
Add tests for volume attach and detach

This adds a test_attach_detach_volume case that attempts to create a
server, attach a volume and make sure that it hangs around during a
power cycle. It also tests to make sure that once we detach a volume,
it stays that way during a power cycle.

Also adds servers_client methods for start, stop, attach_volume and
detach_volume. Further adds get_partitions() to remote_client.

Note that right now, this doesn't succeed with libvirt. A patch to nova
is in the works.

Change-Id: Id43175fd9c8e8cf8971e77f212d0dc74a20def4d
Fixes bug #1016042 - New tests for security groups

Change-Id: Ic0695db8f4f254b78c569b5bcaa053465e9f38bc
Add skip for disabled user test until associated bug is fixed

Turns out the PUT /users/<USER_ID/enabled call in Keystone
admin API extension is broken until the fix for the associated
bug is in. This adds the skip until that is done.

Change-Id: Ia5d032ebc68c99c9db40e8d96776d81f61a47aec
Fixes: LP 1018635
Optimized and reduced the scope of smoke tests

* Factored images smoke test into seperate class
* Removed any tests from smoke that are extensions
* Moved list servers smoke tests into part of general server creation smoke test
* Overall smoke test execution time reduced by 50%

Change-Id: I4838cea39d3338033fd2d4400d9622b55c38ff3c
Adds a script for tracking bug skips in tempest

New file tools/skip_tracker.py can be used to show the
status and priority of bugs that are marking test methods
for skipping, and instruct the caller to remove skips
on bugs that have been fixed in upstream. Output looks like this:

jpipes@uberbox:~/repos/tempest$ python tools/skip_tracker.py
INFO: Total bug skips found: 52
INFO: Total unique bugs causing skips: 30
INFO: Bug # 940500 (      Medium - Fix Released)
INFO: Bug # 963248 (   Undecided -      Invalid)
INFO: Bug # 966249 (   Undecided - Fix Released)
INFO: Bug # 987121 (      Medium - Fix Released)
INFO: Bug # 988920 (   Undecided -      Opinion)
INFO: Bug # 997725 (      Medium - Fix Released)
INFO: Bug # 999084 (      Medium -      Triaged)
INFO: Bug # 999209 (         Low - Fix Released)
INFO: Bug # 999219 (        High -      Triaged)
INFO: Bug # 999567 (      Medium - Fix Released)
INFO: Bug # 999594 (      Medium -  In Progress)
INFO: Bug # 999608 (         Low - Fix Released)
INFO: Bug #1002892 (   Undecided -      Invalid)
INFO: Bug #1002901 (   Undecided -      Invalid)
INFO: Bug #1002911 (   Undecided -      Invalid)
INFO: Bug #1002918 (   Undecided -      Invalid)
INFO: Bug #1002924 (   Undecided -   Incomplete)
INFO: Bug #1002926 (   Undecided -      Invalid)
INFO: Bug #1002935 (   Undecided -      Invalid)
INFO: Bug #1004007 (         Low -    Confirmed)
INFO: Bug #1004564 (         Low -    Confirmed)
INFO: Bug #1005397 (   Undecided -      Invalid)
INFO: Bug #1005423 (         Low -      Triaged)
INFO: Bug #1006033 (   Undecided -          New)
INFO: Bug #1006725 (         Low -      Triaged)
INFO: Bug #1006857 (         Low -    Confirmed)
INFO: Bug #1006875 (         Low -    Confirmed)
INFO: Bug #1014647 (      Medium -    Confirmed)
INFO: Bug #1014683 (   Undecided -          New)
INFO: Bug #1022411 (   Undecided -  In Progress)
The following bugs have been fixed and the corresponding skips
should be removed from the test cases:

   940500
   966249
   987121
   997725
   999209
   999567
   999608

Change-Id: Ic58fc8beb2f6134504d4eb2f6ebe40fa24fe06f6
Fix NameError in list image filters test

Fixes this, which crept in with recent commit:

Change-Id: I798434499973176fd9312b9a8a039a86b341bba0
NameError: global name 'ListImagesTest' is not defined
Fix an unbound variable in setup_package.

This resolves an unbound variable bug that users can hit
when running tempest without a second user account:

Change-Id: Id36f9c29be8db67de4089df2f0182194cf0fa482
UnboundLocalError: local variable 'e' referenced before assignment
Fix logic on alt user tenant/password check.

Updates the setup_package function so that the password/tenant
check for the alternate user works correctly. Previously it
was checking for a missing password but present tenant. It should
check for a missing password or missing tenant.

Change-Id: I3ab28baa13a66077d4a46e8fd2a40ec4869b9c70
Merge "Fix NameError in list image filters test"
Merge "Adds a script for tracking bug skips in tempest"
Remove skips for resolved bugs and fixed some coding errors in tests.

Note that the image tests were said by Brain Walden to be correct and that
tempest should be changed. So I did that.

Change-Id: I685f0d798a43bdeaf013e54837ccfb7d598360a3