import socket
from paramiko import SSHException
-from ceph_manager import CephManager, write_conf
+from tasks.ceph_manager import CephManager, write_conf
from tarfile import ReadError
from tasks.cephfs.filesystem import Filesystem
from teuthology import misc as teuthology
from teuthology import contextutil
from teuthology import exceptions
from teuthology.orchestra import run
-import ceph_client as cclient
+import tasks.ceph_client as cclient
from teuthology.orchestra.daemon import DaemonGroup
CEPH_ROLE_TYPES = ['mon', 'mgr', 'osd', 'mds', 'rgw']
-from StringIO import StringIO
import json
import logging
from gevent import Greenlet
'sudo', os.path.join(self._prefix, 'rados'), '-p', self.metadata_pool_name, 'get', object_id, temp_bin_path
])
- stdout = StringIO()
- self.client_remote.run(args=[
+ dump_json = self.client_remote.sh([
'sudo', os.path.join(self._prefix, 'ceph-dencoder'), 'type', object_type, 'import', temp_bin_path, 'decode', 'dump_json'
- ], stdout=stdout)
- dump_json = stdout.getvalue().strip()
+ ]).strip()
try:
dump = json.loads(dump_json)
except (TypeError, ValueError):
os.path.join(self._prefix, "rados"), "-p", pool, "getxattr", obj_name, xattr_name
]
try:
- proc = remote.run(
- args=args,
- stdout=StringIO())
+ data = remote.sh(args)
except CommandFailedError as e:
log.error(e.__str__())
raise ObjectNotFound(obj_name)
- data = proc.stdout.getvalue()
-
- p = remote.run(
- args=[os.path.join(self._prefix, "ceph-dencoder"), "type", type, "import", "-", "decode", "dump_json"],
- stdout=StringIO(),
+ dump = remote.sh(
+ [os.path.join(self._prefix, "ceph-dencoder"),
+ "type", type,
+ "import", "-",
+ "decode", "dump_json"],
stdin=data
)
- return json.loads(p.stdout.getvalue().strip())
+ return json.loads(dump.strip())
def _write_data_xattr(self, ino_no, xattr_name, data, pool=None):
"""
os.path.join(self._prefix, "rados"), "-p", pool, "setxattr",
obj_name, xattr_name, data
]
- remote.run(
- args=args,
- stdout=StringIO())
+ remote.sh(args)
def read_backtrace(self, ino_no, pool=None):
"""
if stdin_file is not None:
args = ["bash", "-c", "cat " + stdin_file + " | " + " ".join(args)]
- p = remote.run(
- args=args,
- stdin=stdin_data,
- stdout=StringIO())
- return p.stdout.getvalue().strip()
+ output = remote.sh(args, stdin=stdin_data)
+ return output.strip()
def list_dirfrag(self, dir_ino):
"""
base_args.extend(["--rank", "%s" % str(rank)])
t1 = datetime.datetime.now()
- r = self.tool_remote.run(
- args=base_args + args,
- stdout=StringIO()).stdout.getvalue().strip()
+ r = self.tool_remote.sh(base_args + args).strip()
duration = datetime.datetime.now() - t1
log.info("Ran {0} in time {1}, result:\n{2}".format(
base_args + args, duration, r