summaryrefslogtreecommitdiff
path: root/cinder/privsep
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-12-19 18:49:25 +0000
committerGerrit Code Review <review@openstack.org>2018-12-19 18:49:25 +0000
commitd69b04755381e08a4f6f70401b09510d2aab7931 (patch)
tree15454928a2b353538c2d7eac6fa2d670c6175e58 /cinder/privsep
parent47350119ecedeb81a11dcf78aa265eb9ac7dceec (diff)
parentb4a7d50671dc45a73165a200d5145ede04593821 (diff)
downloadcinder-d69b04755381e08a4f6f70401b09510d2aab7931.tar.gz
Merge "Move tgt targets to privsep"
Diffstat (limited to 'cinder/privsep')
-rw-r--r--cinder/privsep/targets/__init__.py0
-rw-r--r--cinder/privsep/targets/tgt.py60
2 files changed, 60 insertions, 0 deletions
diff --git a/cinder/privsep/targets/__init__.py b/cinder/privsep/targets/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/cinder/privsep/targets/__init__.py
diff --git a/cinder/privsep/targets/tgt.py b/cinder/privsep/targets/tgt.py
new file mode 100644
index 000000000..92d38ba46
--- /dev/null
+++ b/cinder/privsep/targets/tgt.py
@@ -0,0 +1,60 @@
+# Copyright 2018 Red Hat, Inc
+# Copyright 2017 Rackspace Australia
+# Copyright 2018 Michael Still and Aptira
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+"""
+Helpers for iscsi related routines.
+"""
+
+from oslo_concurrency import processutils
+
+import cinder.privsep
+
+
+@cinder.privsep.sys_admin_pctxt.entrypoint
+def tgtadmin_show():
+ return processutils.execute('tgt-admin', '--show')
+
+
+@cinder.privsep.sys_admin_pctxt.entrypoint
+def tgtadmin_update(name, force=False):
+ cmd = ['tgt-admin']
+ cmd.extend(['--update', name])
+ if force:
+ cmd.extend(['-f'])
+ return processutils.execute(*cmd)
+
+
+@cinder.privsep.sys_admin_pctxt.entrypoint
+def tgtadmin_delete(iqn, force=False):
+ cmd = ['tgt-admin']
+ cmd.extend(['--delete', iqn])
+ if force:
+ cmd.extend(['-f'])
+ processutils.execute(*cmd)
+
+
+@cinder.privsep.sys_admin_pctxt.entrypoint
+def tgtadm_show():
+ cmd = ('tgtadm', '--lld', 'iscsi', '--op', 'show', '--mode', 'target')
+ return processutils.execute(*cmd)
+
+
+@cinder.privsep.sys_admin_pctxt.entrypoint
+def tgtadm_create(tid, path):
+ cmd = ('tgtadm', '--lld', 'iscsi', '--op', 'new', '--mode',
+ 'logicalunit', '--tid', tid, '--lun', '1', '-b',
+ path)
+ return processutils.execute(*cmd)