Commit Graph

2431 Commits

Author SHA1 Message Date
Zack Cerza
58cbb236e4 Add Remote.host_key
Turns out we can easily grab the ssh key from paramiko once a connection
is established.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-11 15:12:52 -06:00
Zack Cerza
83e93422a8 Set Remote.hostname by asking the host itself
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-11 15:12:52 -06:00
Zack Cerza
d0630f7651 Add Remote.arch
Returns the result of 'uname -p'

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-11 15:12:52 -06:00
Zack Cerza
9593534155 Add caching lsb_release parser
In far too many places do we remotely exec lsb_release in some form,
then parse the output. In shifting to a more stable interface between
teuthology and its tasks, this seemed important to me.

Remote objects now have a 'distro' property that, when first accessed,
calls 'lsb_release -a' remotely and parses the results.

I've included tests and documentation.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-11 15:12:51 -06:00
Warren Usui
50e13e0403 Check os-type and os-version for vps
Fixes: 8712
Signed-off-by: Warren Usui warren.usui@inktank.com
2014-09-10 11:00:09 -07:00
Alfredo Deza
c5664033ca Merge pull request #327 from dachary/wip-exec-documentation
documentation: updates to the exec tasks
2014-09-10 08:44:58 -04:00
Loic Dachary
90736bbe6c documentation: updates to the exec tasks
* Quoting is important
* Behavior on error

Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-09-10 12:19:50 +02:00
Zack Cerza
dc6020b213 In Remote.run(), attempt to reconnect if necessary
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-09 17:56:44 -06:00
Zack Cerza
3df89f18b3 Move more exceptions
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-09 17:56:44 -06:00
Sage Weil
af6bd0b194 valgrind: suppress tcmalloc crap for centos 6.5
Fixes: #9336
Signed-off-by: Sage Weil <sage@redhat.com>
2014-09-09 16:28:12 -07:00
Zack Cerza
01d35c1b64 Remove unnecessary filter in do_update_keys()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-08 14:53:07 -06:00
Zack Cerza
23add3a09f Don't explode if get_status fails
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-09-08 13:15:04 -06:00
Zack Cerza
590121c3ef Merge pull request #325 from ceph/wip-valgrind
valgrind: use --time-stamp=yes
2014-09-02 08:45:01 -06:00
Sage Weil
cb06df6719 valgrind: adjust suppressions for wheezy
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-30 09:22:42 -07:00
Sage Weil
2d60c2b1c3 valgrind: use --time-stamp=yes
This doesn't help on the precise version, but maybe it will on
future versions... because if so, it would be really helpful
it matching valgrind errors to daemon logs!

In any case, though, I verified it is at worse harmless.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-29 18:58:16 -07:00
Zack Cerza
9497728da1 Merge pull request #324 from ceph/wip-hadoop-nuke
nuke: kill hadoop processes
2014-08-29 11:19:09 -06:00
John Spray
6eea314df8 nuke: kill hadoop processes
Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-29 17:40:48 +01:00
Zack Cerza
66c8af3cde Merge pull request #308 from ceph/wip-6146-wusui
Add ability to update with ceph-deploy
2014-08-28 08:40:59 -06:00
Zack Cerza
e2f575122d Merge pull request #314 from ceph/wip-8923
Speed up teuthology-kill.
2014-08-27 15:43:10 -06:00
Sandon Van Ness
e92c2a7492 Add more info in comments.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-08-27 14:41:01 -07:00
Zack Cerza
901649f16c Merge pull request #319 from ceph/wip-8231
remote: Add ability to push a file to a remote machine
2014-08-27 15:25:12 -06:00
Zack Cerza
ce01464d09 Merge pull request #299 from ceph/wip-7810
Wip 7810
2014-08-27 15:21:39 -06:00
John Spray
daeca276ab orchestra: more docstring
Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-27 22:19:52 +01:00
John Spray
c23a0cffe1 orchestra: fine tune docstrings.
Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-27 21:17:43 +01:00
Zack Cerza
2564ef7028 Don't explode on ConnectionError in list_locks()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-27 14:01:16 -06:00
David Zafman
2e4f25c995 remote: Add ability to push a file to a remote machine
Add put_file() and _sftp_put_file() without sudo support

Signed-off-by: David Zafman <dzafman@redhat.com>
2014-08-27 12:44:13 -07:00
Zack Cerza
4fa89f6fd4 Merge pull request #317 from dachary/wip-nuke-on-error
convert nuke-on-error to boolean
2014-08-27 12:13:35 -06:00
Zack Cerza
0fae95f48f Merge pull request #321 from ceph/wip-install
install libcephfs-java
2014-08-27 12:10:55 -06:00
Zack Cerza
8a87a422ca Only pass lists to ssh_keyscan()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-27 12:05:19 -06:00
Zack Cerza
7ad4e91a25 More hostname normalization
This time, for ssh_keyscan()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-27 11:32:39 -06:00
Zack Cerza
95a08b566c For clones, look for error regardless of exit code
This fixes a bug on older git versions, where it would happily cloen a
repo and give you the wrong branch if the one you requested did not
exist.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-27 11:25:30 -06:00
Zack Cerza
4d44c82353 Normalize input hostnames in various functions
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-27 09:31:52 -06:00
Sage Weil
c8493e582b task/install: install libcephfs-java (deb)
Accidentally removed in 0c75c6b1f7

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-26 17:18:26 -07:00
Sage Weil
ca7e75c6c6 task/install: move package list to top of file
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-26 17:10:26 -07:00
Dan Mick
093a1b6937 lock.py: sort --brief output by status['name']
Signed-off-by: Dan Mick <dan.mick@inktank.com>
2014-08-26 14:25:02 -07:00
Zack Cerza
883c97de4f Fix a linter error
Wasn't much of a bug, but still.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 11:47:48 -06:00
Zack Cerza
8bce6c5f3e Fix module reference
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 11:43:45 -06:00
Zack Cerza
eafe91994e Hostname handling for updatekeys
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 11:19:32 -06:00
Zack Cerza
b1a9ac1771 Less dangerous hostname mangling
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 10:35:46 -06:00
Zack Cerza
1637d3b45f Fix --unlock
Note to self: clean up user/ctx.owner confusion

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 10:32:36 -06:00
Zack Cerza
4efb490892 Return old-style hostnames from lock_many()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 10:23:03 -06:00
Zack Cerza
02ca2f0571 Don't "import misc as teuthology"
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-26 10:21:24 -06:00
Zack Cerza
85f5945509 More hostname handling fixes
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 15:08:11 -06:00
Zack Cerza
3d4dc732bb Revert "Canonicalize hostnames"
This reverts commit 29e8deefae.
2014-08-25 14:40:40 -06:00
Zack Cerza
ad278fdc71 Remove the 'user@' prefix before checking status
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 14:07:29 -06:00
Zack Cerza
d3c420a017 Allow passing user=None to remove the 'user@'
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 14:04:32 -06:00
Zack Cerza
01cf78567d Fix canonicalize_hostname()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 13:50:52 -06:00
Zack Cerza
1bf293ef5d Remove unused import
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 13:50:52 -06:00
Zack Cerza
877812650c Canonicalize hostnames in yet another place
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 13:31:25 -06:00
Zack Cerza
29e8deefae Canonicalize hostnames
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 13:02:04 -06:00
Zack Cerza
9ac40cc72a Use new vm_host attribute
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:39 -06:00
Zack Cerza
92157d2b78 Don't dump all vm_host details when listing
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:39 -06:00
Zack Cerza
213bdc8b86 Reflect updated field names
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:39 -06:00
Zack Cerza
f5a6ed3b7a Update provision module to use new lock server
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
b8cb0890a2 Use Remote.shortname instead of regex
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
4eda1d3273 Add unlock_many() and use it when possible
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
e6e393239b Update internal task to use new lockserver
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
b9d7a9dec0 Make far less requests when simply locking
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
40c1ee0442 Optimize some list_locks() calls
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
e0aca2e6d7 Properly query for multiple machine types
...in list_locks()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
fb96923304 Use consistent URI for lock server
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
24efd83dfc Remove old lock server
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
c406985268 Change default lock server to paddles
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
aef78f4b3d Use /nodes/ as the lock server endpoint
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:38 -06:00
Zack Cerza
96b0a1c026 Update to use new ssh-keyscan API
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
b170345bda Rewrite ssh public key updating
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
1c04c7aff3 Use new ssh_keyscan() function
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
5e5c32ef79 No need to be passing ctx to update_lock()
... or update_keys() or scan_for_locks()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
8048dc348c Add new ssh_keyscan() method
This is just a cleaner implementation that will replace the existing
one(s).

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
1d1697213f Re-order functions in module
This is for readability.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
0f772222a4 keyscan_check(): don't require ctx to be passed
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
bdc9e6e8c9 Update lock_many(), update_lock(), and main()
Also remove lockstatus.send_request()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
f5f1115881 Fix PEP-8 issues
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
53a2c2f2d5 Refactoring
Create a new teuthology.provision module and move virtual machine
functions there. Move hostname manipulation functions to
teuthology.misc.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
af2a03a8a5 Update do_summary()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:37 -06:00
Zack Cerza
533a5c5d8c Rewrite list_locks()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:36 -06:00
Zack Cerza
121fd02671 Make (de)canonicalize_hostname() work without user
Add tests proving they still work *with* usernames as well.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:36 -06:00
Zack Cerza
fe4bf33262 Add unit tests for (de)canonicalize_hostname()
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:36 -06:00
Zack Cerza
04b319d847 Update/rewrite several functions to use paddles
Functions updated: lock.lock_one(), lock.unlock_one(),
lock.destroy_if_vm(), lockstatus.get_status()

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-25 11:14:36 -06:00
Loic Dachary
8de60d3ef2 convert nuke-on-error to boolean
Signed-off-by: Loic Dachary <loic-201408@dachary.org>
2014-08-25 18:14:04 +02:00
Sage Weil
692e5a1db9 ceph.conf: mon reweight min pgs per osd = 4
So teh cephtool reweight-by-pg test will pass with mini clusters.

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-22 15:14:58 -07:00
John Spray
9238c01b2f daemon: add DaemonGroup.resolve_role_list
Used for tasks that want to take a flexible list
of roles from their user config, including a
null (everything) default and * wildcards.

Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-22 00:51:37 +01:00
John Spray
3c57b4c494 nuke: clear test firewall rules
Signed-off-by: John Spray <john.spray@redhat.com>
2014-08-22 00:51:37 +01:00
Zack Cerza
8dbb1d5fb9 Add --suite-path
Slightly less ugly than setting PYTHONPATH

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-21 16:11:19 -06:00
Warren Usui
171cb69f13 Fix return from schedule_suite.
Schedule_suite returns the number of jobs scheduled (accounting for
filters).  Information displayed also indicates how many jobs were
run and how many were filtered out.

Fixes: 9183
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-08-20 13:19:13 -07:00
Zack Cerza
684e4a6fc4 Merge pull request #309 from ceph/wip-8954-wusui
Add filter and filter-out options to suites.
2014-08-19 12:54:12 -06:00
Sage Weil
fe32e2210d valgrind: make trusty tcmalloc supporession more general
To capture this:

  <kind>SyscallParam</kind>
  <what>Syscall param msync(start) points to unaddressable byte(s)</what>
  <stack>
    <frame>
      <ip>0x5081B3D</ip>
      <obj>/lib/x86_64-linux-gnu/libpthread-2.19.so</obj>
      <dir>/build/buildd/eglibc-2.19/nptl/../sysdeps/unix</dir>
      <file>syscall-template.S</file>
      <line>81</line>
    </frame>
    <frame>
      <ip>0x76BA123</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1</obj>
    </frame>
    <frame>
      <ip>0x76BCEF6</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1</obj>
    </frame>
    <frame>
      <ip>0x76BE151</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1</obj>
    </frame>
    <frame>
      <ip>0x76BE4E8</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1</obj>
    </frame>
    <frame>
      <ip>0x76BAA30</ip>
      <obj>/usr/lib/x86_64-linux-gnu/libunwind.so.8.0.1</obj>
      <fn>_ULx86_64_step</fn>
    </frame>
    <frame>
      <ip>0x5C42052</ip>
      <obj>/usr/lib/libtcmalloc.so.4.1.2</obj>
      <fn>GetStackTrace(void**, int, int)</fn>
    </frame>
    <frame>
      <ip>0x5C349F4</ip>
      <obj>/usr/lib/libtcmalloc.so.4.1.2</obj>
      <fn>tcmalloc::PageHeap::GrowHeap(unsigned long)</fn>
    </frame>
    <frame>
      <ip>0x5C34D02</ip>
      <obj>/usr/lib/libtcmalloc.so.4.1.2</obj>
      <fn>tcmalloc::PageHeap::New(unsigned long)</fn>
    </frame>
    <frame>
      <ip>0x5C25D0C</ip>
      <obj>/usr/lib/libtcmalloc.so.4.1.2</obj>
    </frame>
    <frame>
      <ip>0x5C46378</ip>
      <obj>/usr/lib/libtcmalloc.so.4.1.2</obj>
      <fn>operator new[](unsigned long)</fn>
    </frame>

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-19 11:16:22 -07:00
Zack Cerza
0526c6bc6b Use suite_path, if set, for one-off jobs as well
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-19 11:54:13 -06:00
Warren Usui
8346ac4363 Add filter and filter-off suite options.
Filter only runs suite jobs that contain the text passed as part of
their description or in the names of the composite set of yaml files.
Filter-off only runs suite jobs that do not contain the text passed
as either their description or in the names of the composite set of
yaml files.
Fixes: 8954
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-08-18 20:55:01 -07:00
Zack Cerza
9cfa67edec Merge pull request #313 from ceph/wip-rhel
install: use rhel builder for rhel
2014-08-18 13:49:54 -06:00
Sandon Van Ness
d9f3c9f690 Skip nuke and just destroy VPS if nuke is --unlock
If the machine is being unlocked after than we definitely want to
just destroy it. This way nukes will always suceed with --unlock
even if the guest is down or in a borked state.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-08-18 11:51:26 -07:00
Sandon Van Ness
7fe1fcb6fe Speed up teuthology-kill.
Read less information when its not needed for killing runs.

Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-08-18 11:25:24 -07:00
Sandon Van Ness
64b9477270 Print progress of reaidng job info when killing.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
2014-08-18 11:24:46 -07:00
Sage Weil
21dd85acc4 install: use rhel builder for rhel
Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-16 15:01:34 -07:00
Warren Usui
d6acedc200 Add ability to upgrade with ceph-deploy
Fixes: 6146
Signed-off-by: Warren Usui <warren.usui@inktank.com>
2014-08-15 10:24:54 -07:00
Sage Weil
c014ff949f valgrind: suppress eglibc leak of TLS
<error>
  <unique>0xf9</unique>
  <tid>1</tid>
  <kind>Leak_PossiblyLost</kind>
  <xwhat>
    <text>320 bytes in 1 blocks are possibly lost in loss record 248 of 289</text>
    <leakedbytes>320</leakedbytes>
    <leakedblocks>1</leakedblocks>
  </xwhat>
  <stack>
    <frame>
      <ip>0x4C29DB4</ip>
      <obj>/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so</obj>
      <fn>calloc</fn>
    </frame>
    <frame>
      <ip>0x4012074</ip>
      <obj>/lib/x86_64-linux-gnu/ld-2.15.so</obj>
      <fn>_dl_allocate_tls</fn>
      <dir>/build/buildd/eglibc-2.15/elf</dir>
      <file>dl-tls.c</file>
      <line>297</line>
    </frame>
    <frame>
      <ip>0x5289ABC</ip>
      <obj>/lib/x86_64-linux-gnu/libpthread-2.15.so</obj>
      <fn>pthread_create@@GLIBC_2.2.5</fn>
      <dir>/build/buildd/eglibc-2.15/nptl</dir>
      <file>allocatestack.c</file>
      <line>571</line>
    </frame>
    <frame>
      <ip>0xA6A89A</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>Thread::try_create(unsigned long)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.83-444-ge74ad5f/src/common</dir>
      <file>Thread.cc</file>
      <line>112</line>
    </frame>
    <frame>
      <ip>0xA6A94E</ip>
      <obj>/usr/bin/ceph-osd</obj>
      <fn>Thread::create(unsigned long)</fn>
      <dir>/srv/autobuild-ceph/gitbuilder.git/build/out~/ceph-0.83-444-ge74ad5f/src/common</dir>
      <file>Thread.cc</file>
      <line>122</line>
    </frame>

...

ubuntu@teuthology:/a/teuthology-2014-08-13_23:04:01-fs-next-testing-basic-multi/423897

Signed-off-by: Sage Weil <sage@redhat.com>
2014-08-15 06:28:19 -07:00
Zack Cerza
7418cc1bfd Perform some sanity checks on --name
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-14 10:20:40 -06:00
Zack Cerza
1d605c22d9 Don't fetch the suite if we can already find it
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-13 13:39:00 -06:00
Zack Cerza
da1e40d2fd Attach FileHandlers to the RootLogger object
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-13 13:10:15 -06:00
Zack Cerza
591b511fdc Don't remove lockfiles
Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
2014-08-12 17:28:20 -06:00