diff options
author | Qiaowei Ren <qiaowei.ren@intel.com> | 2018-03-01 14:38:11 +0800 |
---|---|---|
committer | Qiaowei Ren <qiaowei.ren@intel.com> | 2018-03-01 14:38:11 +0800 |
commit | 7da45d65be36d36b880cc55c5036e96c24b53f00 (patch) | |
tree | d4f944eb4f8f8de50a9a7584ffa408dc3a3185b2 /src/ceph/qa/tasks/tgt.py | |
parent | 691462d09d0987b47e112d6ee8740375df3c51b2 (diff) |
remove ceph code
This patch removes initial ceph code, due to license issue.
Change-Id: I092d44f601cdf34aed92300fe13214925563081c
Signed-off-by: Qiaowei Ren <qiaowei.ren@intel.com>
Diffstat (limited to 'src/ceph/qa/tasks/tgt.py')
-rw-r--r-- | src/ceph/qa/tasks/tgt.py | 177 |
1 files changed, 0 insertions, 177 deletions
diff --git a/src/ceph/qa/tasks/tgt.py b/src/ceph/qa/tasks/tgt.py deleted file mode 100644 index c2b322e..0000000 --- a/src/ceph/qa/tasks/tgt.py +++ /dev/null @@ -1,177 +0,0 @@ -""" -Task to handle tgt - -Assumptions made: - The ceph-extras tgt package may need to get installed. - The open-iscsi package needs to get installed. -""" -import logging -import contextlib - -from teuthology import misc as teuthology -from teuthology import contextutil - -log = logging.getLogger(__name__) - - -@contextlib.contextmanager -def start_tgt_remotes(ctx, start_tgtd): - """ - This subtask starts up a tgtd on the clients specified - """ - remotes = ctx.cluster.only(teuthology.is_type('client')).remotes - tgtd_list = [] - for rem, roles in remotes.iteritems(): - for _id in roles: - if _id in start_tgtd: - if not rem in tgtd_list: - tgtd_list.append(rem) - size = ctx.config.get('image_size', 10240) - rem.run( - args=[ - 'rbd', - 'create', - 'iscsi-image', - '--size', - str(size), - ]) - rem.run( - args=[ - 'sudo', - 'tgtadm', - '--lld', - 'iscsi', - '--mode', - 'target', - '--op', - 'new', - '--tid', - '1', - '--targetname', - 'rbd', - ]) - rem.run( - args=[ - 'sudo', - 'tgtadm', - '--lld', - 'iscsi', - '--mode', - 'logicalunit', - '--op', - 'new', - '--tid', - '1', - '--lun', - '1', - '--backing-store', - 'iscsi-image', - '--bstype', - 'rbd', - ]) - rem.run( - args=[ - 'sudo', - 'tgtadm', - '--lld', - 'iscsi', - '--op', - 'bind', - '--mode', - 'target', - '--tid', - '1', - '-I', - 'ALL', - ]) - try: - yield - - finally: - for rem in tgtd_list: - rem.run( - args=[ - 'sudo', - 'tgtadm', - '--lld', - 'iscsi', - '--mode', - 'target', - '--op', - 'delete', - '--force', - '--tid', - '1', - ]) - rem.run( - args=[ - 'rbd', - 'snap', - 'purge', - 'iscsi-image', - ]) - rem.run( - args=[ - 'sudo', - 'rbd', - 'rm', - 'iscsi-image', - ]) - - -@contextlib.contextmanager -def task(ctx, config): - """ - Start up tgt. - - To start on on all clients:: - - tasks: - - ceph: - - tgt: - - To start on certain clients:: - - tasks: - - ceph: - - tgt: [client.0, client.3] - - or - - tasks: - - ceph: - - tgt: - client.0: - client.3: - - An image blocksize size can also be specified:: - - tasks: - - ceph: - - tgt: - image_size = 20480 - - The general flow of things here is: - 1. Find clients on which tgt is supposed to run (start_tgtd) - 2. Remotely start up tgt daemon - On cleanup: - 3. Stop tgt daemon - - The iscsi administration is handled by the iscsi task. - """ - if config: - config = {key : val for key, val in config.items() - if key.startswith('client')} - # config at this point should only contain keys starting with 'client' - start_tgtd = [] - remotes = ctx.cluster.only(teuthology.is_type('client')).remotes - log.info(remotes) - if not config: - start_tgtd = ['client.{id}'.format(id=id_) - for id_ in teuthology.all_roles_of_type(ctx.cluster, 'client')] - else: - start_tgtd = config - log.info(start_tgtd) - with contextutil.nested( - lambda: start_tgt_remotes(ctx=ctx, start_tgtd=start_tgtd),): - yield |