Accepting request 546175 from devel:languages:python
- Update to version 2.1.fb64 *Improve ALUA and TCMU support, as well as moving the default directory for APTPL files from /var/target to /etc/target for better FHS compliance. *Remove patch Switch-target-driver-DB-root-dir-to-etc-target.patch from the spec file because upstream already has this change. OBS-URL: https://build.opensuse.org/request/show/546175 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-rtslib-fb?expand=0&rev=12
This commit is contained in:
commit
fa66370980
@ -1,98 +0,0 @@
|
|||||||
From f823033e5c6beced0590a00064e1e7a55e76a995 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Lee Duncan <lduncan@suse.com>
|
|
||||||
Date: Tue, 13 Jun 2017 09:45:30 -0700
|
|
||||||
Subject: [PATCH] Switch target driver DB root dir to /etc/target
|
|
||||||
|
|
||||||
This switches the kernel target driver directory from
|
|
||||||
the default of /var/target to /etc/target, if the
|
|
||||||
"dbroot" sysfs attribute is present. If not, the default
|
|
||||||
of /var/target is maintained. This has to be done
|
|
||||||
by rtslib/root.py since this module loads the
|
|
||||||
target_core_mod module, where the dbroot value
|
|
||||||
must be updated before any target_core_* drivers
|
|
||||||
register with target_core_mod.
|
|
||||||
---
|
|
||||||
rtslib/root.py | 24 ++++++++++++++++++++++++
|
|
||||||
rtslib/tcm.py | 3 ++-
|
|
||||||
2 files changed, 26 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/rtslib/root.py b/rtslib/root.py
|
|
||||||
index 99a25b778cd1..ee7b1039bd06 100644
|
|
||||||
--- a/rtslib/root.py
|
|
||||||
+++ b/rtslib/root.py
|
|
||||||
@@ -28,6 +28,7 @@ from .fabric import FabricModule
|
|
||||||
from .tcm import so_mapping, bs_cache, StorageObject
|
|
||||||
from .utils import RTSLibError, RTSLibALUANotSupported, modprobe, mount_configfs
|
|
||||||
from .utils import dict_remove, set_attributes
|
|
||||||
+from .utils import fread, fwrite
|
|
||||||
from .alua import ALUATargetPortGroup
|
|
||||||
|
|
||||||
default_save_file = "/etc/target/saveconfig.json"
|
|
||||||
@@ -57,6 +58,12 @@ class RTSRoot(CFSNode):
|
|
||||||
'''
|
|
||||||
|
|
||||||
# RTSRoot private stuff
|
|
||||||
+
|
|
||||||
+ # this should match the kernel target driver default db dir
|
|
||||||
+ _default_dbroot = "/var/target"
|
|
||||||
+ # this is where the target DB is to be located (instead of the default)
|
|
||||||
+ _preferred_dbroot = "/etc/target"
|
|
||||||
+
|
|
||||||
def __init__(self):
|
|
||||||
'''
|
|
||||||
Instantiate an RTSRoot object. Basically checks for configfs setup and
|
|
||||||
@@ -75,6 +82,8 @@ class RTSRoot(CFSNode):
|
|
||||||
modprobe('target_core_mod')
|
|
||||||
self._create_in_cfs_ine('any')
|
|
||||||
|
|
||||||
+ self._set_dbroot_if_needed()
|
|
||||||
+
|
|
||||||
def _list_targets(self):
|
|
||||||
self._check_self()
|
|
||||||
for fabric_module in self.fabric_modules:
|
|
||||||
@@ -148,6 +157,19 @@ class RTSRoot(CFSNode):
|
|
||||||
def __str__(self):
|
|
||||||
return "rtslib"
|
|
||||||
|
|
||||||
+ def _set_dbroot_if_needed(self):
|
|
||||||
+ dbroot_path = self.path + "/dbroot"
|
|
||||||
+ if not os.path.exists(dbroot_path):
|
|
||||||
+ self._dbroot = self._default_dbroot
|
|
||||||
+ return
|
|
||||||
+ self._dbroot = fread(dbroot_path)
|
|
||||||
+ if self._dbroot != self._preferred_dbroot:
|
|
||||||
+ fwrite(dbroot_path, self._preferred_dbroot+"\n")
|
|
||||||
+ self._dbroot = fread(dbroot_path)
|
|
||||||
+
|
|
||||||
+ def _get_dbroot(self):
|
|
||||||
+ return self._dbroot
|
|
||||||
+
|
|
||||||
# RTSRoot public stuff
|
|
||||||
|
|
||||||
def dump(self):
|
|
||||||
@@ -320,6 +342,8 @@ class RTSRoot(CFSNode):
|
|
||||||
doc="Get the list of all FabricModule objects.")
|
|
||||||
alua_tpgs = property(_list_alua_tpgs,
|
|
||||||
doc="Get the list of all ALUA TPG objects.")
|
|
||||||
+ dbroot = property(_get_dbroot,
|
|
||||||
+ doc="Get the target database root")
|
|
||||||
|
|
||||||
def _test():
|
|
||||||
'''Run the doctests.'''
|
|
||||||
diff --git a/rtslib/tcm.py b/rtslib/tcm.py
|
|
||||||
index 82ef34e0634e..73bfbe3b8359 100644
|
|
||||||
--- a/rtslib/tcm.py
|
|
||||||
+++ b/rtslib/tcm.py
|
|
||||||
@@ -78,7 +78,8 @@ class StorageObject(CFSNode):
|
|
||||||
need to read it in and squirt it back into configfs when we configure
|
|
||||||
the storage object. BLEH.
|
|
||||||
"""
|
|
||||||
- aptpl_dir = "/var/target/pr"
|
|
||||||
+ from .root import RTSRoot
|
|
||||||
+ aptpl_dir = "%s/pr" % RTSRoot().dbroot
|
|
||||||
|
|
||||||
try:
|
|
||||||
lines = fread("%s/aptpl_%s" % (aptpl_dir, self.wwn)).split()
|
|
||||||
--
|
|
||||||
2.12.3
|
|
||||||
|
|
@ -1,3 +1,13 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Aug 17 08:03:10 UTC 2017 - lszhu@suse.com
|
||||||
|
|
||||||
|
- Update to version 2.1.fb64
|
||||||
|
*Improve ALUA and TCMU support, as well as moving the default
|
||||||
|
directory for APTPL files from /var/target to /etc/target
|
||||||
|
for better FHS compliance.
|
||||||
|
*Remove patch Switch-target-driver-DB-root-dir-to-etc-target.patch
|
||||||
|
from the spec file because upstream already has this change.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Jun 8 21:37:20 UTC 2017 - lduncan@suse.com
|
Thu Jun 8 21:37:20 UTC 2017 - lduncan@suse.com
|
||||||
|
|
||||||
|
@ -17,18 +17,17 @@
|
|||||||
|
|
||||||
|
|
||||||
%define oname rtslib-fb
|
%define oname rtslib-fb
|
||||||
%define realver 2.1.fb63
|
%define realver 2.1.fb64
|
||||||
%define dbdir /etc/target
|
%define dbdir /etc/target
|
||||||
|
|
||||||
Name: python-%{oname}
|
Name: python-%{oname}
|
||||||
Version: 2.1.63
|
Version: 2.1.64
|
||||||
Release: 0%{?dist}
|
Release: 0%{?dist}
|
||||||
Url: http://github.com/open-iscsi/rtslib-fb.git
|
Url: http://github.com/open-iscsi/rtslib-fb.git
|
||||||
Summary: API for Linux kernel SCSI target (aka LIO)
|
Summary: API for Linux kernel SCSI target (aka LIO)
|
||||||
License: Apache-2.0
|
License: Apache-2.0
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
Source: %{oname}-%{realver}.tar.xz
|
Source: %{oname}-%{realver}.tar.gz
|
||||||
Patch1: Switch-target-driver-DB-root-dir-to-etc-target.patch
|
|
||||||
Conflicts: python-rtslib
|
Conflicts: python-rtslib
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-devel
|
BuildRequires: python-devel
|
||||||
@ -56,7 +55,6 @@ the Apache 2.0 license. Contributions are welcome
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{oname}-%{realver}
|
%setup -q -n %{oname}-%{realver}
|
||||||
%patch1 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%__python setup.py build
|
%__python setup.py build
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:72a2c9d7671bba08194c7ea40145cc827e9c30b0523dca985fd42016f490d589
|
|
||||||
size 39436
|
|
3
rtslib-fb-2.1.fb64.tar.gz
Normal file
3
rtslib-fb-2.1.fb64.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:9dd1ce5a6d0797529a19eb08725ac0b92a9fc4b7f82e5a8929e61d48993bd426
|
||||||
|
size 46387
|
Loading…
x
Reference in New Issue
Block a user