Upgrade to libstoragemgmt 1.4.0

- Add Python3 support.
 - New sub rpm package python3-libstoragemgmt.
 - Add support of lmiwbem(this rpm use pywbem instead).
 - Allow plugin test to be run concurrently.
 - Bug fixes:
    * Fix megaraid plugin for dell PERC.
    * Fix local disk rotation speed query on NVMe disk.
    * Fix lsmcli incorrect try-expect on local disk query.
    * Fix all the gcc compile warnings.
    * Fix the obsolete usage of AC_OUTPUT in configure.ac.
 - Library adds:
    * Query serial of local disk:
        lsm_local_disk_serial_num_get()/lsm.LocalDisk.serial_num_get()
    * Query LED status of local disk:
        lsm_local_disk_led_status_get()/lsm.LocalDisk.led_status_get()
    * Query link speed of local disk:
        lsm_local_disk_link_speed_get()/lsm.LocalDisk.link_speed_get()
This commit is contained in:
Gris Ge 2017-02-23 22:24:41 +08:00
parent 3903fe5393
commit f4910af690
6 changed files with 351 additions and 67 deletions

1
.gitignore vendored
View File

@ -20,3 +20,4 @@
/libstoragemgmt-1.3.1.tar.gz
/libstoragemgmt-1.3.2.tar.gz
/libstoragemgmt-1.3.5.tar.gz
/libstoragemgmt-1.4.0.tar.gz

View File

@ -0,0 +1,45 @@
From 2a2d9a8200f987b42966ab4e96b7769b8f9a159f Mon Sep 17 00:00:00 2001
From: Gris Ge <fge@redhat.com>
Date: Wed, 22 Feb 2017 16:18:20 +0800
Subject: [PATCH] udev: Fix gcc warning on non-x86 platform.
Issue:
Got failure on s390x:
scan-scsi-target.c:90:2: error: comparison is always true due to limited
range of data type [-Werror=type-limits]
Root cause:
The error is on these lines:
char c;
...
while ((c = getopt_long(argc, argv, "rh", longopts, NULL)) != -1) {
On non-x86 platform, char is unsigned. Which makes the (c != -1)
always true.
Fix:
Take return of getopt_long() as int.
Signed-off-by: Gris Ge <fge@redhat.com>
---
tools/udev/scan-scsi-target.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/udev/scan-scsi-target.c b/tools/udev/scan-scsi-target.c
index bb83c65..00126b9 100644
--- a/tools/udev/scan-scsi-target.c
+++ b/tools/udev/scan-scsi-target.c
@@ -54,7 +54,7 @@ static void __attribute__ ((__noreturn__)) invalid(char **argv, char *devpath)
int main(int argc, char **argv)
{
- char c;
+ int c;
char *devpath;
char *sysfs_path;
--
1.8.3.1

View File

@ -0,0 +1,31 @@
From c446179b11608a25989dea1209fe3341fe17b76d Mon Sep 17 00:00:00 2001
From: Gris Ge <fge@redhat.com>
Date: Thu, 23 Feb 2017 21:41:46 +0800
Subject: [PATCH] C library: Bug fix for incorrect use of sizeof.
* Should use strlen() instead of sizeof() for calculate string length.
Signed-off-by: Gris Ge <fge@redhat.com>
---
c_binding/libses.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/c_binding/libses.c b/c_binding/libses.c
index a5ebb2d..3c1e8d9 100644
--- a/c_binding/libses.c
+++ b/c_binding/libses.c
@@ -341,9 +341,9 @@ static int _ses_sg_paths_get(char *err_msg, char ***sg_paths,
(strncmp(sg_name, "sg", strlen("sg")) != 0))
continue;
sysfs_sg_type_path = (char *)
- malloc(sizeof(char) * (sizeof(_SYSFS_SG_ROOT_PATH) +
+ malloc(sizeof(char) * (strlen(_SYSFS_SG_ROOT_PATH) +
strlen("/") +
- sizeof(sg_name) +
+ strlen(sg_name) +
strlen("/device/type") +
1 /* trailing \0 */));
_alloc_null_check(err_msg, sysfs_sg_type_path, rc, out);
--
1.8.3.1

View File

@ -0,0 +1,83 @@
From fa8e9e94c6d06ac135d4363293b00b1a42ebf5c4 Mon Sep 17 00:00:00 2001
From: Gris Ge <fge@redhat.com>
Date: Thu, 23 Feb 2017 22:06:26 +0800
Subject: [PATCH] Simc plugin: Fix gcc warning on fallthrough switch.
Issue:
GCC(gcc-7.0.1-0.9.fc26.x86_64) is warning on fallthrough switch.
Fix:
Use if and else if check instead.
Misc:
Don't want to mess with GCC and CLANG on this trivial issue by
using GCC extention: `__attribute__((fallthrough))`.
Signed-off-by: Gris Ge <fge@redhat.com>
---
plugin/simc/ops_v1_2.c | 38 ++++++++++++++++++--------------------
1 file changed, 18 insertions(+), 20 deletions(-)
diff --git a/plugin/simc/ops_v1_2.c b/plugin/simc/ops_v1_2.c
index 3703161..3bdc2ba 100644
--- a/plugin/simc/ops_v1_2.c
+++ b/plugin/simc/ops_v1_2.c
@@ -63,36 +63,34 @@ int volume_raid_info(lsm_plugin_ptr c, lsm_volume *volume,
_good(_str_to_int(err_msg, lsm_hash_string_get(sim_p, "member_type"),
(int *) &member_type), rc, out);
- switch(member_type) {
- case LSM_POOL_MEMBER_TYPE_POOL:
+ if (member_type == LSM_POOL_MEMBER_TYPE_POOL) {
_good(_str_to_uint64(err_msg, lsm_hash_string_get(sim_p,
"parent_pool_id"),
&sim_p_id), rc, out);
_good(_db_sim_pool_of_sim_id(err_msg, db, sim_p_id, &sim_p), rc, out);
- case LSM_POOL_MEMBER_TYPE_DISK:
- _good(_str_to_int(err_msg, lsm_hash_string_get(sim_p, "raid_type"),
- (int *) raid_type), rc, out);
- _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p, "strip_size"),
- strip_size), rc, out);
- *min_io_size = *strip_size;
- _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p, "disk_count"),
- disk_count), rc, out);
- _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p,
- "data_disk_count"),
- &data_disk_count), rc, out);
- if ((*raid_type == LSM_VOLUME_RAID_TYPE_RAID1) ||
- (*raid_type == LSM_VOLUME_RAID_TYPE_JBOD))
- *opt_io_size = _BLOCK_SIZE;
- else
- *opt_io_size = *strip_size * data_disk_count;
- break;
- default:
+ } else if (member_type != LSM_POOL_MEMBER_TYPE_DISK) {
rc = LSM_ERR_PLUGIN_BUG;
_lsm_err_msg_set(err_msg, "BUG: Got unknown pool member type %d",
member_type);
goto out;
}
+ _good(_str_to_int(err_msg, lsm_hash_string_get(sim_p, "raid_type"),
+ (int *) raid_type), rc, out);
+ _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p, "strip_size"),
+ strip_size), rc, out);
+ *min_io_size = *strip_size;
+ _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p, "disk_count"),
+ disk_count), rc, out);
+ _good(_str_to_uint32(err_msg, lsm_hash_string_get(sim_p,
+ "data_disk_count"),
+ &data_disk_count), rc, out);
+ if ((*raid_type == LSM_VOLUME_RAID_TYPE_RAID1) ||
+ (*raid_type == LSM_VOLUME_RAID_TYPE_JBOD))
+ *opt_io_size = _BLOCK_SIZE;
+ else
+ *opt_io_size = *strip_size * data_disk_count;
+
out:
_db_sql_trans_rollback(db);
if (sim_vol != NULL)
--
1.8.3.1

View File

@ -1,15 +1,19 @@
%bcond_with test
%global py3_build_dir %{_builddir}/%{name}-%{version}-%{release}-python3
Name: libstoragemgmt
Version: 1.3.5
Release: 2%{?dist}
Version: 1.4.0
Release: 1%{?dist}
Summary: Storage array management library
Group: System Environment/Libraries
License: LGPLv2+
URL: https://github.com/libstorage/libstoragemgmt
Source0: https://github.com/libstorage/libstoragemgmt/releases/download/%{version}/%{name}-%{version}.tar.gz
Patch0: 0001-udev-Fix-gcc-warning-on-non-x86-platform.patch
Patch1: 0002-C-library-Bug-fix-for-incorrect-use-of-sizeof.patch
Patch2: 0003-Simc-plugin-Fix-gcc-warning-on-fallthrough-switch.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: %{name}-python
Requires: python3-%{name}
BuildRequires: autoconf automake libtool yajl-devel libxml2-devel check-devel perl
BuildRequires: openssl-devel
BuildRequires: glib2-devel
@ -17,9 +21,12 @@ BuildRequires: systemd
BuildRequires: bash-completion
BuildRequires: libconfig-devel
BuildRequires: systemd-devel
BuildRequires: python-six
BuildRequires: python-devel
BuildRequires: procps
BuildRequires: sqlite-devel
BuildRequires: python3-six
BuildRequires: python3-devel
Requires: initscripts
Requires(post): systemd
@ -47,7 +54,7 @@ The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package python
Summary: Python client libraries and plug-in support for %{name}
Summary: Python2 client libraries and plug-in support for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
Requires: %{name}-python-clibs
@ -58,25 +65,47 @@ The %{name}-python package contains python client libraries as
well as python framework support and open source plug-ins written in python.
%package python-clibs
Summary: Python C extension module for %{name}
Summary: Python2 C extension module for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
%description python-clibs
The %{name}-python-clibs package contains python client C extension
The %{name}-python-clibs package contains python2 client C extension
libraries.
%package -n python3-%{name}
Summary: Python 3 client libraries and plug-in support for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
Requires: python3-%{name}-clibs
%description -n python3-%{name}
The python3-%{name} package contains python 3 client libraries as
well as python framework support and open source plug-ins written in python 3.
%package -n python3-%{name}-clibs
Summary: Python 3 C extension module for %{name}
Group: System Environment/Libraries
Requires: %{name} = %{version}-%{release}
%description -n python3-%{name}-clibs
The python3-%{name}-clibs package contains python 3 client C extension
libraries.
%package smis-plugin
Summary: Files for SMI-S generic array support for %{name}
Group: System Environment/Libraries
BuildRequires: pywbem
Requires: pywbem
BuildRequires: python3-pywbem
Requires: python3-pywbem
BuildArch: noarch
Provides: %{name}-ibm-v7k-plugin = 2:%{version}-%{release}
Obsoletes: %{name}-ibm-v7k-plugin <= 2:0.1.0-3
Requires: %{name}-python = %{version}
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
%description smis-plugin
@ -89,10 +118,10 @@ Summary: Files for NetApp array support for %{name}
Group: System Environment/Libraries
BuildRequires: m2crypto
Requires: m2crypto
Requires: %{name}-python = %{version}
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: %{name}-python = %{version}-%{release}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
Requires: python3-%{name} = %{version}-%{release}
BuildArch: noarch
%description netapp-plugin
@ -103,9 +132,9 @@ support.
%package targetd-plugin
Summary: Files for targetd array support for %{name}
Group: System Environment/Libraries
Requires: %{name}-python = %{version}
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
BuildArch: noarch
%description targetd-plugin
@ -116,9 +145,9 @@ support.
%package nstor-plugin
Summary: Files for NexentaStor array support for %{name}
Group: System Environment/Libraries
Requires: %{name}-python = %{version}
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
BuildArch: noarch
%description nstor-plugin
@ -136,9 +165,9 @@ uevents generated by the kernel.
%package megaraid-plugin
Summary: Files for LSI MegaRAID support for %{name}
Group: System Environment/Libraries
Requires: %{name}-python = %{version}
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: python3-%{name} = %{version}
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
BuildArch: noarch
%description megaraid-plugin
@ -148,10 +177,11 @@ MegaRAID storage management via storcli.
%package hpsa-plugin
Summary: Files for HP SmartArray support for %{name}
Group: System Environment/Libraries
Requires: %{name}-python = %{version}
Requires: python-pyudev
Requires(post): %{name}-python = %{version}
Requires(postun): %{name}-python = %{version}
Requires: python3-%{name} = %{version}
Requires: python3-pyudev
BuildRequires: python3-pyudev
Requires(post): python3-%{name} = %{version}
Requires(postun): python3-%{name} = %{version}
BuildArch: noarch
%description hpsa-plugin
@ -160,15 +190,42 @@ SmartArray storage management via hpssacli.
%prep
%setup -q
%patch0 -p1 -b non_x86_fix
%patch1 -p1 -b bug_fix_strlen
%patch2 -p1 -b fix_switch_fallthrough
%build
# Copy the whole directory to Python3 build
rm -fr %{py3_build_dir}
cp -a . %{py3_build_dir}
%configure --disable-static
pushd %{py3_build_dir}
%configure --with-python3 --disable-static
popd
V=1 make %{?_smp_mflags}
pushd %{py3_build_dir}
V=1 make %{?_smp_mflags}
popd
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
# If python3 enabled, all plugins and CLI tools will be use python3 as
# 'Fedora Packaging Guidelines for Python' suggested.
# https://fedoraproject.org/wiki/Packaging:Python#Executables_in_.2Fusr.2Fbin
# Quote:
# If the executables provide the same functionality independent of whether
# they are run on top of Python 2 or Python 3, then only the Python 3 version
# of the executable should be packaged.
rm -rf %{buildroot}/%{python_sitelib}/lsm/plugin
rm -rf %{buildroot}/%{_bindir}/lsmcli
pushd %{py3_build_dir}
make install DESTDIR=%{buildroot}
popd
find %{buildroot} -name '*.la' -exec rm -f {} ';'
install -d -m755 %{buildroot}/%{_unitdir}
@ -197,6 +254,14 @@ then
cat test-suite.log || true
exit 1
fi
pushd %{py3_build_dir}
if ! make check
then
cat test-suite.log || true
exit 1
fi
popd
%endif
%pre
@ -338,63 +403,98 @@ fi
%{python_sitelib}/lsm/_pluginrunner.*
%{python_sitelib}/lsm/_transport.*
%{python_sitelib}/lsm/version.*
%dir %{python_sitelib}/lsm/plugin
%{python_sitelib}/lsm/plugin/__init__.*
%dir %{python_sitelib}/lsm/plugin/sim
%{python_sitelib}/lsm/plugin/sim/__init__.*
%{python_sitelib}/lsm/plugin/sim/simulator.*
%{python_sitelib}/lsm/plugin/sim/simarray.*
%dir %{python_sitelib}/lsm/lsmcli
%{python_sitelib}/lsm/lsmcli/__init__.*
%{python_sitelib}/lsm/lsmcli/data_display.*
%{python_sitelib}/lsm/lsmcli/cmdline.*
%{_bindir}/sim_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/sim.conf
%{_mandir}/man1/sim_lsmplugin.1*
# Compiled C files for python library
%files python-clibs
%{python_sitelib}/lsm/_clib.*
%files -n python3-%{name}
%dir %{python3_sitelib}/lsm
%{python3_sitelib}/lsm/__init__.*
%dir %{python3_sitelib}/lsm/external
%{python3_sitelib}/lsm/external/*
%{python3_sitelib}/lsm/_client.*
%{python3_sitelib}/lsm/_common.*
%{python3_sitelib}/lsm/_local_disk.*
%{python3_sitelib}/lsm/_data.*
%{python3_sitelib}/lsm/_iplugin.*
%{python3_sitelib}/lsm/_pluginrunner.*
%{python3_sitelib}/lsm/_transport.*
%{python3_sitelib}/lsm/__pycache__/*
%{python3_sitelib}/lsm/version.*
%dir %{python3_sitelib}/lsm/plugin
%{python3_sitelib}/lsm/plugin/__init__.*
%{python3_sitelib}/lsm/plugin/__pycache__/*
%dir %{python3_sitelib}/lsm/plugin/sim
%{python3_sitelib}/lsm/plugin/sim/__pycache__/*
%{python3_sitelib}/lsm/plugin/sim/__init__.*
%{python3_sitelib}/lsm/plugin/sim/simulator.*
%{python3_sitelib}/lsm/plugin/sim/simarray.*
%dir %{python3_sitelib}/lsm/lsmcli
%{python3_sitelib}/lsm/lsmcli/__init__.*
%{python3_sitelib}/lsm/lsmcli/__pycache__/*
%{python3_sitelib}/lsm/lsmcli/data_display.*
%{python3_sitelib}/lsm/lsmcli/cmdline.*
%{_bindir}/sim_lsmplugin
%{_sysconfdir}/lsm/pluginconf.d/sim.conf
%{_mandir}/man1/sim_lsmplugin.1*
%files -n python3-%{name}-clibs
%{python3_sitelib}/lsm/_clib.*
%files smis-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/smispy
%{python_sitelib}/lsm/plugin/smispy/__init__.*
%{python_sitelib}/lsm/plugin/smispy/smis.*
%{python_sitelib}/lsm/plugin/smispy/dmtf.*
%{python_sitelib}/lsm/plugin/smispy/utils.*
%{python_sitelib}/lsm/plugin/smispy/smis_common.*
%{python_sitelib}/lsm/plugin/smispy/smis_cap.*
%{python_sitelib}/lsm/plugin/smispy/smis_sys.*
%{python_sitelib}/lsm/plugin/smispy/smis_pool.*
%{python_sitelib}/lsm/plugin/smispy/smis_disk.*
%{python_sitelib}/lsm/plugin/smispy/smis_vol.*
%{python_sitelib}/lsm/plugin/smispy/smis_ag.*
%dir %{python3_sitelib}/lsm/plugin/smispy
%dir %{python3_sitelib}/lsm/plugin/smispy/__pycache__
%{python3_sitelib}/lsm/plugin/smispy/__pycache__/*
%{python3_sitelib}/lsm/plugin/smispy/__init__.*
%{python3_sitelib}/lsm/plugin/smispy/smis.*
%{python3_sitelib}/lsm/plugin/smispy/dmtf.*
%{python3_sitelib}/lsm/plugin/smispy/utils.*
%{python3_sitelib}/lsm/plugin/smispy/WBEM.*
%{python3_sitelib}/lsm/plugin/smispy/lmiwbem_wrap.*
%{python3_sitelib}/lsm/plugin/smispy/smis_common.*
%{python3_sitelib}/lsm/plugin/smispy/smis_cap.*
%{python3_sitelib}/lsm/plugin/smispy/smis_sys.*
%{python3_sitelib}/lsm/plugin/smispy/smis_pool.*
%{python3_sitelib}/lsm/plugin/smispy/smis_disk.*
%{python3_sitelib}/lsm/plugin/smispy/smis_vol.*
%{python3_sitelib}/lsm/plugin/smispy/smis_ag.*
%{_bindir}/smispy_lsmplugin
%{_mandir}/man1/smispy_lsmplugin.1*
%files netapp-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/ontap
%{python_sitelib}/lsm/plugin/ontap/__init__.*
%{python_sitelib}/lsm/plugin/ontap/na.*
%{python_sitelib}/lsm/plugin/ontap/ontap.*
%dir %{python3_sitelib}/lsm/plugin/ontap
%dir %{python3_sitelib}/lsm/plugin/ontap/__pycache__
%{python3_sitelib}/lsm/plugin/ontap/__pycache__/*
%{python3_sitelib}/lsm/plugin/ontap/__init__.*
%{python3_sitelib}/lsm/plugin/ontap/na.*
%{python3_sitelib}/lsm/plugin/ontap/ontap.*
%{_bindir}/ontap_lsmplugin
%{_mandir}/man1/ontap_lsmplugin.1*
%files targetd-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/targetd
%{python_sitelib}/lsm/plugin/targetd/__init__.*
%{python_sitelib}/lsm/plugin/targetd/targetd.*
%dir %{python3_sitelib}/lsm/plugin/targetd
%dir %{python3_sitelib}/lsm/plugin/targetd/__pycache__
%{python3_sitelib}/lsm/plugin/targetd/__pycache__/*
%{python3_sitelib}/lsm/plugin/targetd/__init__.*
%{python3_sitelib}/lsm/plugin/targetd/targetd.*
%{_bindir}/targetd_lsmplugin
%{_mandir}/man1/targetd_lsmplugin.1*
%files nstor-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/nstor
%{python_sitelib}/lsm/plugin/nstor/__init__.*
%{python_sitelib}/lsm/plugin/nstor/nstor.*
%dir %{python3_sitelib}/lsm/plugin/nstor
%dir %{python3_sitelib}/lsm/plugin/nstor/__pycache__
%{python3_sitelib}/lsm/plugin/nstor/__pycache__/*
%{python3_sitelib}/lsm/plugin/nstor/__init__.*
%{python3_sitelib}/lsm/plugin/nstor/nstor.*
%{_bindir}/nstor_lsmplugin
%{_mandir}/man1/nstor_lsmplugin.1*
@ -405,25 +505,49 @@ fi
%files megaraid-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/megaraid
%{python_sitelib}/lsm/plugin/megaraid/__init__.*
%{python_sitelib}/lsm/plugin/megaraid/megaraid.*
%{python_sitelib}/lsm/plugin/megaraid/utils.*
%dir %{python3_sitelib}/lsm/plugin/megaraid
%dir %{python3_sitelib}/lsm/plugin/megaraid/__pycache__
%{python3_sitelib}/lsm/plugin/megaraid/__pycache__/*
%{python3_sitelib}/lsm/plugin/megaraid/__init__.*
%{python3_sitelib}/lsm/plugin/megaraid/megaraid.*
%{python3_sitelib}/lsm/plugin/megaraid/utils.*
%{_bindir}/megaraid_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/megaraid.conf
%{_mandir}/man1/megaraid_lsmplugin.1*
%files hpsa-plugin
%defattr(-,root,root,-)
%dir %{python_sitelib}/lsm/plugin/hpsa
%{python_sitelib}/lsm/plugin/hpsa/__init__.*
%{python_sitelib}/lsm/plugin/hpsa/hpsa.*
%{python_sitelib}/lsm/plugin/hpsa/utils.*
%dir %{python3_sitelib}/lsm/plugin/hpsa
%dir %{python3_sitelib}/lsm/plugin/hpsa/__pycache__
%{python3_sitelib}/lsm/plugin/hpsa/__pycache__/*
%{python3_sitelib}/lsm/plugin/hpsa/__init__.*
%{python3_sitelib}/lsm/plugin/hpsa/hpsa.*
%{python3_sitelib}/lsm/plugin/hpsa/utils.*
%{_bindir}/hpsa_lsmplugin
%config(noreplace) %{_sysconfdir}/lsm/pluginconf.d/hpsa.conf
%{_mandir}/man1/hpsa_lsmplugin.1*
%changelog
* Tue Feb 21 2017 Gris Ge <fge@redhat.com> 1.4.0-1
- Add Python3 support.
- New sub rpm package python3-libstoragemgmt.
- Add support of lmiwbem(this rpm use pywbem instead).
- Allow plugin test to be run concurrently.
- Bug fixes:
* Fix megaraid plugin for dell PERC.
* Fix local disk rotation speed query on NVMe disk.
* Fix lsmcli incorrect try-expect on local disk query.
* Fix all the gcc compile warnings.
* Fix the obsolete usage of AC_OUTPUT in configure.ac.
- Library adds:
* Query serial of local disk:
lsm_local_disk_serial_num_get()/lsm.LocalDisk.serial_num_get()
* Query LED status of local disk:
lsm_local_disk_led_status_get()/lsm.LocalDisk.led_status_get()
* Query link speed of local disk:
lsm_local_disk_link_speed_get()/lsm.LocalDisk.link_speed_get()
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

View File

@ -1 +1 @@
c146153746addf17b2b271eb24fc2bd5 libstoragemgmt-1.3.5.tar.gz
SHA512 (libstoragemgmt-1.4.0.tar.gz) = be799145dd03439f77bc5f11a6d667e93645be4648722428037fb11b23149d351cc3239d7b895011d395f0e39c6a0d507d6925b3e6c21804658d35e30afce752