]>
git.apps.os.sepia.ceph.com Git - teuthology.git/log
Sage Weil [Wed, 8 Jul 2015 14:22:09 +0000 (10:22 -0400)]
lock: add debian 8.0 (jessie) as vps target
Signed-off-by: Sage Weil <sage@redhat.com>
Dan Mick [Wed, 8 Jul 2015 00:13:32 +0000 (17:13 -0700)]
Merge pull request #562 from ceph/wip-vps-kernel
get_latest_image_version_deb(): run apt-get update
Reviewed-by: Dan Mick <dmick@redhat.com>
Zack Cerza [Tue, 7 Jul 2015 22:42:05 +0000 (16:42 -0600)]
get_latest_image_version_deb(): run apt-get update
When we were still using Chef, we accidentally ran it twice on downburst
VMs during scheduled jobs: once before the kernel task, and once after.
Now that we're using Ansible, and not running the one before, and
because the kernel task is special and runs before most tasks (even the
ansible task that might be part of the job), the kernel task might run
before apt has refreshed its cache. This is more likely to be a problem
on VMs, because their cache is certainly more stale, but could affect
physical hosts as well.
Make all deb-based systems update their cache before attempting to
install a kernel.
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 7 Jul 2015 21:48:11 +0000 (15:48 -0600)]
Merge pull request #530 from dachary/wip-sh-helper
misc.py: sh helper to log command and output
Andrew Schoen [Tue, 7 Jul 2015 20:31:21 +0000 (15:31 -0500)]
Merge pull request #560 from ceph/wip-drop-chef
Drop Chef in favor of Ansible
Zack Cerza [Tue, 7 Jul 2015 20:16:43 +0000 (14:16 -0600)]
README.rst: Replace chef with ansible
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 22 May 2015 00:29:43 +0000 (18:29 -0600)]
Replace chef with ansible.cephlab in job template
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Thu, 21 May 2015 16:19:08 +0000 (10:19 -0600)]
Use ansible.CephLab instead of chef in vm_setup()
Signed-off-by: Zack Cerza <zack@redhat.com>
Andrew Schoen [Mon, 6 Jul 2015 17:28:19 +0000 (12:28 -0500)]
Merge pull request #559 from ceph/wip-fix-ansible
Fix Task, Ansible and CephLab unittests and overrides
Zack Cerza [Thu, 2 Jul 2015 23:07:39 +0000 (17:07 -0600)]
Fix ansible overrides
Overrides weren't properly being looked up by name. This commit fixes
that.
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Thu, 2 Jul 2015 23:07:15 +0000 (17:07 -0600)]
Fix ansible unit tests
Long story short, the unit tests for Task, Ansible and CephLab got
inheritance all wrong. This commit fixes that.
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Wed, 1 Jul 2015 19:33:28 +0000 (13:33 -0600)]
Merge pull request #547 from dachary/wip-worker-verbose
a worker --verbose calls run --verbose
Zack Cerza [Wed, 1 Jul 2015 19:31:51 +0000 (13:31 -0600)]
Merge pull request #535 from dachary/wip-vm-with-no-host
lock.py: not all virtual machines have a dedicated host
Loic Dachary [Sat, 13 Jun 2015 21:54:15 +0000 (21:54 +0000)]
lock.py: not all virtual machines have a dedicated host
Gracefully handle the case where a virtual machine has no dedicated
host. It's the case for OpenStack.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Mon, 29 Jun 2015 14:33:52 +0000 (16:33 +0200)]
a worker --verbose calls run --verbose
When a worker runs with --verbose, it also runs the jobs with --verbose.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Sun, 14 Jun 2015 07:35:35 +0000 (09:35 +0200)]
misc.py: sh helper to log command and output
It is the same as subprocess.check_output, only it log.debug the command
being run as well as its output.
Signed-off-by: Loic Dachary <loic@dachary.org>
Zack Cerza [Wed, 1 Jul 2015 16:37:53 +0000 (10:37 -0600)]
Merge pull request #542 from dachary/wip-list-locks
list_locks must use 1 / 0 for True / False
Zack Cerza [Wed, 1 Jul 2015 16:32:46 +0000 (10:32 -0600)]
Merge pull request #545 from dachary/wip-rm-proj-list
task/install: rm {proj}.list is idempotent
Zack Cerza [Wed, 1 Jul 2015 16:25:16 +0000 (10:25 -0600)]
Merge pull request #541 from dachary/wip-suite-main
suite.py: make main() argv as an argument
Andrew Schoen [Wed, 1 Jul 2015 15:26:01 +0000 (10:26 -0500)]
Merge pull request #556 from ceph/wip-selinux
Skip SELinux operations on downburst VMs
Zack Cerza [Wed, 1 Jul 2015 15:12:00 +0000 (09:12 -0600)]
syslog: Don't use chcon on downburst VMs
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Wed, 1 Jul 2015 15:00:53 +0000 (09:00 -0600)]
Exclude downburst VMs
Their cloud images have SELinux disabled; exclude them until we can
change that.
Signed-off-by: Zack Cerza <zack@redhat.com>
Dan Mick [Wed, 1 Jul 2015 02:26:28 +0000 (19:26 -0700)]
Merge pull request #555 from ceph/wip-selinux
syslog: Set SELinux context for logfiles
Reviewed-by: Dan Mick <dmick@redhat.com>
Zack Cerza [Tue, 30 Jun 2015 23:09:33 +0000 (17:09 -0600)]
syslog: Set SELinux context for logfiles
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 30 Jun 2015 20:29:13 +0000 (14:29 -0600)]
syslog: Refactor to expose logfile names
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 30 Jun 2015 15:17:45 +0000 (09:17 -0600)]
Use sudo when removing timedhosts files
Signed-off-by: Zack Cerza <zack@redhat.com>
Loic Dachary [Mon, 29 Jun 2015 13:54:08 +0000 (15:54 +0200)]
list_locks must use 1 / 0 for True / False
Depending on the backend being used (sqlite or another), paddles won't
interpret locked=false as being the same as locked=0 (see
http://tracker.ceph.com/issues/12183 for more context).
Convert True to 1 and False to 0 to always get the same behavior from
paddles, regardless of the backend.
Signed-off-by: Loic Dachary <loic@dachary.org>
Zack Cerza [Mon, 29 Jun 2015 23:09:49 +0000 (17:09 -0600)]
Merge pull request #548 from dachary/wip-machine-wait
include the machine type when waiting for machines
Zack Cerza [Mon, 29 Jun 2015 23:09:24 +0000 (17:09 -0600)]
Merge pull request #553 from dachary/wip-schedule-main
schedule.py: make main() argv as an argument
Zack Cerza [Mon, 29 Jun 2015 22:41:55 +0000 (16:41 -0600)]
Merge pull request #549 from ceph/wip-bootstrap
bootstrap: apt/yum install the list of dependencies if missing
Zack Cerza [Mon, 29 Jun 2015 22:39:50 +0000 (16:39 -0600)]
Merge pull request #551 from dmick/master
lock.py: handle statuses with no description
Andrew Schoen [Mon, 29 Jun 2015 22:28:12 +0000 (17:28 -0500)]
bootstrap: add an install flag that installs missing required packages
If you run ./bootstrap install the script will install any missing
packages needed to complete the bootstrap. This feature requires that
the user running ./bootstrap have sudo privileges.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Andrew Schoen [Mon, 29 Jun 2015 19:27:42 +0000 (14:27 -0500)]
bootstrap: install libssl-dev on ubuntu if missing
python-pip fails to install without libssl-dev
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Andrew Schoen [Mon, 29 Jun 2015 18:24:05 +0000 (13:24 -0500)]
bootstrap: apt/yum install the list of dependencies if missing
Instead of just printing the list and bailing, assume the user has sudo
and actually install them.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Andrew Schoen [Mon, 29 Jun 2015 22:00:21 +0000 (17:00 -0500)]
Merge pull request #550 from ceph/wip-bz-
1233329
Work around BZ
1233329
Loic Dachary [Mon, 29 Jun 2015 13:19:26 +0000 (15:19 +0200)]
schedule.py: make main() argv as an argument
Instead of using sys.argv implicitly, which is inconvenient for testing.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Mon, 29 Jun 2015 13:19:26 +0000 (15:19 +0200)]
suite.py: make main() argv as an argument
Instead of using sys.argv implicitly, which is inconvenient for testing.
Signed-off-by: Loic Dachary <loic@dachary.org>
Andrew Schoen [Mon, 29 Jun 2015 21:52:29 +0000 (16:52 -0500)]
Merge pull request #527 from ceph/wip-selinux
Let's test with SELinux
Dan Mick [Mon, 29 Jun 2015 21:30:43 +0000 (14:30 -0700)]
lock.py: handle statuses with no description
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Zack Cerza [Mon, 29 Jun 2015 21:25:49 +0000 (15:25 -0600)]
Merge pull request #543 from dachary/wip-decode-utf8
orchestra: decode('utf-8') before logging
Zack Cerza [Mon, 29 Jun 2015 20:43:22 +0000 (14:43 -0600)]
Don't attempt to run dpkg on non-deb systems
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Mon, 29 Jun 2015 20:38:10 +0000 (14:38 -0600)]
Remove yum timedhosts files
Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=
1233329
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Mon, 29 Jun 2015 16:45:24 +0000 (10:45 -0600)]
Merge pull request #540 from ceph/wip-12115-logging
Better logging when looking for a package version in the install task
Loic Dachary [Mon, 29 Jun 2015 14:36:54 +0000 (16:36 +0200)]
include the machine type when waiting for machines
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Mon, 29 Jun 2015 14:06:44 +0000 (16:06 +0200)]
task/install: rm {proj}.list is idempotent
It does not matter if the {proj}.list file can't be removed because it
does not exist.
Signed-off-by: Loic Dachary <loic@dachary.org>
Loic Dachary [Mon, 29 Jun 2015 14:02:36 +0000 (16:02 +0200)]
orchestra: decode('utf-8') before logging
http://tracker.ceph.com/issues/8313 Fixes: #8313
Signed-off-by: Loic Dachary <loic@dachary.org>
Andrew Schoen [Mon, 29 Jun 2015 14:34:02 +0000 (09:34 -0500)]
Better logging when looking for a package version in the install task
I think this used to be a wget call, so the url we were requesting to
fetch the package version would be logged by that wget call. Since
we've changed that call to use requests and lost that logging, this adds
some of that logging back.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Zack Cerza [Thu, 25 Jun 2015 21:18:30 +0000 (15:18 -0600)]
Bump ansible to 1.9.2
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Thu, 25 Jun 2015 20:46:09 +0000 (14:46 -0600)]
Merge pull request #536 from dachary/wip-lock-main
lock.py: make main() argv as an argument
Andrew Schoen [Mon, 22 Jun 2015 17:36:55 +0000 (12:36 -0500)]
Merge pull request #538 from ceph/wip-pyopenssl
Fix InsecurePlatformWarning from urllib3
Zack Cerza [Mon, 22 Jun 2015 16:25:16 +0000 (10:25 -0600)]
Fix InsecurePlatformWarning from urllib3
See
https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning
Signed-off-by: Zack Cerza <zack@redhat.com>
Andrew Schoen [Fri, 19 Jun 2015 16:54:39 +0000 (11:54 -0500)]
Merge pull request #537 from ceph/wip-pause-queue
teuthology-queue --pause
Zack Cerza [Fri, 19 Jun 2015 16:20:42 +0000 (10:20 -0600)]
teuthology-queue --pause
Signed-off-by: Zack Cerza <zack@redhat.com>
Loic Dachary [Sat, 13 Jun 2015 21:49:01 +0000 (21:49 +0000)]
lock.py: make main() argv as an argument
Instead of using sys.argv implicitly, which is inconvenient for testing.
Signed-off-by: Loic Dachary <loic@dachary.org>
Zack Cerza [Thu, 18 Jun 2015 22:30:50 +0000 (16:30 -0600)]
Merge pull request #529 from dmick/master
suite.py: say *which* path is invalid in _build_matrix
Dan Mick [Thu, 18 Jun 2015 22:06:24 +0000 (15:06 -0700)]
suite.py: say *which* path is invalid in _build_matrix
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Zack Cerza [Thu, 18 Jun 2015 21:19:35 +0000 (15:19 -0600)]
Merge pull request #528 from ceph/wip-ansible-teardown
Enable the Ansible task to optionally cleanup after itself.
Andrew Schoen [Thu, 18 Jun 2015 16:57:45 +0000 (11:57 -0500)]
Enable the Ansible task to optionally cleanup after itself.
If given the config value of ``cleanup`` the ansible task will rerun the
same playbook during the teardown stage with a ``teardown`` var added
with a value of True. This will allow the playbook to cleanup after
itself during teardown, if the playbook supports this feature.
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Zack Cerza [Thu, 11 Jun 2015 16:44:56 +0000 (10:44 -0600)]
Add SELinux task to all jobs
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Thu, 11 Jun 2015 16:13:33 +0000 (10:13 -0600)]
Add SELinux task
A task to set SELinux mode during test execution. On teardown, also
checks the audit log for any denials.
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Thu, 11 Jun 2015 16:13:18 +0000 (10:13 -0600)]
Add SELinuxError
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Wed, 17 Jun 2015 21:22:54 +0000 (15:22 -0600)]
Merge pull request #526 from ceph/wip-unbreak-kernel-task-3
suite: don't try to check ceph packages against kernel flavor
Zack Cerza [Wed, 17 Jun 2015 20:32:18 +0000 (14:32 -0600)]
Merge pull request #522 from dmick/master
Silence urllib3 logging whether it's bundled in requests or not
Andrew Schoen [Wed, 17 Jun 2015 20:00:40 +0000 (15:00 -0500)]
Merge pull request #523 from dmick/wip-11885
scripts/lock.py: fix help for --json-query
Andrew Schoen [Wed, 17 Jun 2015 19:23:21 +0000 (14:23 -0500)]
Merge pull request #525 from ceph/wip-distro-kernel
get_latest_image_version_rpm(): ignore non-distro
Zack Cerza [Wed, 17 Jun 2015 18:51:44 +0000 (12:51 -0600)]
get_latest_image_version_rpm(): ignore non-distro
This function is only used in distro kernel codepaths. Remove a similar
block of code from need_to_install_distro() and use this function.
Signed-off-by: Zack Cerza <zack@redhat.com>
Ilya Dryomov [Wed, 17 Jun 2015 16:40:57 +0000 (19:40 +0300)]
suite: don't try to check ceph packages against kernel flavor
The whole kernel_flavor check in schedule_suite() is completely wrong.
ceph packages and kernel packages are built on different gitbuilders
and so a set of ceph flavors is distinct from a set a kernel flavors
(they happen to intersect because both have a 'basic' flavor but that's
it). Querying ceph gitbuilders with kernel flavor (which is what it
currently does - has_packages_for_distro() talks to ceph gitbuilders)
is useless and only worked because the only kernel we currently care
about and use in qa is 'basic' kernel. Remove the for i in set(...)
construct and only check install task (i.e. ceph) flavor.
Also, crucially, do not make an empty dict a kernel task config in
!kernel_hash (i.e. "do not install any kernel") case. This makes
kernel task install a default version of the kernel (branch master) on
all remotes.
Both of the above are partial reverts of commit
9968c366b17f ("Also
check install task's flavor when scheduling").
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Zack Cerza [Wed, 17 Jun 2015 15:33:25 +0000 (09:33 -0600)]
Merge pull request #524 from ceph/wip-unbreak-kernel-task-2
suite: append flavor key only if kernel version is specified
Ilya Dryomov [Wed, 17 Jun 2015 11:29:40 +0000 (14:29 +0300)]
suite: append flavor key only if kernel version is specified
There are three cases: a) don't install a kernel, b) install a distro
kernel or c) install a specified version. Appending 'flavor: basic' to
kernel task config in the former two cases is wrong. In case a)
appending flavor is not only bogus but also leads to bug: a { 'kernel':
{ 'flavor': 'basic' } } config confuses kernel task and it installs
a default version of the kernel (branch master) on all remotes when the
user's intent was to not install any kernel. As for case b), distro
kernels are built by distros and don't have flavors.
Fix this by appending 'flavor: basic' to kernel task config only in
case c).
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Dan Mick [Wed, 17 Jun 2015 02:24:00 +0000 (19:24 -0700)]
scripts/lock.py: fix help for --json-query
Fixes: #11885
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Dan Mick [Fri, 12 Jun 2015 21:26:36 +0000 (14:26 -0700)]
Silence urllib3 logging whether it's bundled in requests or not
Also, do it only in teuthology/__init__.py
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Andrew Schoen [Tue, 16 Jun 2015 16:26:42 +0000 (11:26 -0500)]
Merge pull request #521 from ceph/wip-distro-kernel
More distro kernel fixes
Zack Cerza [Tue, 16 Jun 2015 15:48:24 +0000 (09:48 -0600)]
Call update_grub_rpm() with correct version
It was being called with 'distro', which won't work
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 16 Jun 2015 15:29:44 +0000 (09:29 -0600)]
Add some more logging for debugging
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 16 Jun 2015 15:25:26 +0000 (09:25 -0600)]
need_to_install_distro(): return newest version
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Mon, 15 Jun 2015 22:56:08 +0000 (16:56 -0600)]
Don't attempt to iterate over a bool
Signed-off-by: Zack Cerza <zack@redhat.com>
Andrew Schoen [Mon, 15 Jun 2015 21:33:44 +0000 (16:33 -0500)]
Merge pull request #520 from ceph/wip-distro-kernel
Fix distro kernel installation on RPM systems
Zack Cerza [Fri, 12 Jun 2015 20:28:10 +0000 (14:28 -0600)]
Make install_kernel() take an optional version arg
... and have install_and_reboot() use it for distro kernels
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 20:04:53 +0000 (14:04 -0600)]
Don't falsely claim the newest kernel is running
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 19:49:37 +0000 (13:49 -0600)]
Be more intelligent comparing kernel versions
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 21:41:50 +0000 (15:41 -0600)]
Merge pull request #480 from ceph/wip-rhins
Changes for rh installer to work
Vasu Kulkarni [Tue, 9 Jun 2015 20:05:46 +0000 (16:05 -0400)]
- RH install task and review fixes
Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 19:24:12 +0000 (13:24 -0600)]
Remove old kernels before installing anything
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 19:09:36 +0000 (13:09 -0600)]
need_to_install_distro(): take a remote
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Fri, 12 Jun 2015 14:35:05 +0000 (08:35 -0600)]
Merge pull request #509 from dachary/wip-11830-baseurl
expose the install._get_baseurl template in .teuthology.yaml
Zack Cerza [Fri, 12 Jun 2015 14:34:27 +0000 (08:34 -0600)]
Merge pull request #517 from dmick/wip-json-query-and
lock.py: json-query was matching any; make it match all
Dan Mick [Fri, 12 Jun 2015 05:43:00 +0000 (22:43 -0700)]
lock.py: json-query was matching any; make it match all
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Dan Mick [Thu, 11 Jun 2015 20:00:18 +0000 (13:00 -0700)]
Merge pull request #516 from ceph/wip-schedule-rate-limit
Add github_branch_exists()
Reviewed-by: Dan Mick <dmick@redhat.com>
Zack Cerza [Thu, 11 Jun 2015 18:39:54 +0000 (12:39 -0600)]
Add github_branch_exists()
Use it instead of get_branch_info() to avoid GitHub's API rate limiting.
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 9 Jun 2015 20:48:15 +0000 (14:48 -0600)]
Merge pull request #515 from ceph/wip-fix-bootstrap
teuthology: stop pip and setuptools from fighting over deps that exis…
Zack Cerza [Tue, 9 Jun 2015 19:55:18 +0000 (13:55 -0600)]
Move python-rados out of install and into nuke
Not all ceph branches contain python-rados; the original motivation for
mentioning it in the install task's package list was so that nuke would
remove it. There is another way, though, that doesn't affect the install
task's behavior at all (this is the way).
Signed-off-by: Zack Cerza <zack@redhat.com>
Andrew Schoen [Tue, 9 Jun 2015 15:37:14 +0000 (10:37 -0500)]
Merge pull request #514 from ceph/wip-nuke-stale
teuthology-nuke improvements
Gregory Meno [Mon, 8 Jun 2015 23:15:01 +0000 (23:15 +0000)]
teuthology: stop pip and setuptools from fighting over deps that exist in the system site packages
Signed-off-by: Gregory Meno <gmeno@redhat.com>
Zack Cerza [Tue, 2 Jun 2015 22:19:53 +0000 (16:19 -0600)]
In _remove_deb(), check for .UR as well as .HR
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 2 Jun 2015 22:10:06 +0000 (16:10 -0600)]
Add python-rados to .deb package list
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 2 Jun 2015 21:48:33 +0000 (15:48 -0600)]
nuke_one(): remove confusing pluralization
Signed-off-by: Zack Cerza <zack@redhat.com>
Zack Cerza [Tue, 2 Jun 2015 20:37:11 +0000 (14:37 -0600)]
Merge pull request #511 from dmick/master
lock.py: allow selection of machines to list by os-type/os-version
Andrew Schoen [Tue, 2 Jun 2015 20:30:29 +0000 (15:30 -0500)]
Merge pull request #513 from ceph/wip-11808
Keep better count of locked nodes
Zack Cerza [Thu, 28 May 2015 18:25:51 +0000 (12:25 -0600)]
Keep better count of locked nodes
http://tracker.ceph.com/issues/11808
Signed-off-by: Zack Cerza <zack@redhat.com>
Dan Mick [Mon, 1 Jun 2015 23:02:20 +0000 (16:02 -0700)]
lock.py: allow selection of machines to list by os-type/os-version
Also, clean up the status selection a tiny bit with winnow()
Signed-off-by: Dan Mick <dan.mick@redhat.com>