| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
setuptools should not perform OS-specific actions such as installing systemd units.
OS-specific actions should be handled by the package manager.
|
|
|
|
| |
Signed-off-by: Maurizio Lombardi <mlombard@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
-------
Overall creation time of a block using targetcli is raising linearly as the
block count increase.
This is because of the recurring issue involving refresh(reload) at
multiple objects/places, as the LIO's configfs is deeply nested.
Earlier discussion of the problem statement with stats and graphs about delays:
http://bit.ly/targetcli-create-delay
Solution:
--------
Introduce a daemon component for targetcli[d] which will retain state of
Configshell object in memory, so that any new requests can directly use it,
instead of loading the storageObjects/targetObjects again.
Details about "how to use it ?":
-------------------------------
$ systemctl start targetclid
$ systemctl status targetclid
● targetclid.service - Targetcli daemon
Loaded: loaded (/usr/lib/systemd/system/targetclid.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2019-04-10 12:19:51 IST; 2h 17min ago
Main PID: 3950 (targetclid)
Tasks: 3 (limit: 4915)
CGroup: /system.slice/targetclid.service
└─3950 /usr/bin/python /usr/bin/targetclid
Apr 10 12:19:51 localhost.localdomain systemd[1]: Started Targetcli daemon.
$ targetcli help
Usage: /usr/bin/targetcli [--version|--help|CMD|--tcp]
--version Print version
--help Print this information
CMD Run targetcli shell command and exit
<nothing> Enter configuration shell
--tcp CMD Pass targetcli command to targetclid
--tcp <nothing> Enter multi-line command mode for targetclid
See man page for more information.
One line command usage:
----------------------
$ targetcli --tcp CMD
Eg:
$ targetcli --tcp pwd
/
Multiple line commands usage:
----------------------------
$ targetcli --tcp
CMD1
CMD2
.
.
CMDN
exit
Eg:
$ targetcli --tcp
^Tab
/ backstores/ iscsi/ loopback/ vhost/ xen-pvscsi/ cd
clearconfig exit get help ls pwd refresh
restoreconfig saveconfig set status
pwd
get global logfile
get global auto_save_on_exit
/ saveconfig
exit
output follows:
/
logfile=/var/log/gluster-block/gluster-block-configshell.log
auto_save_on_exit=false
Configuration saved to /etc/target/saveconfig.json
Stats with and without changes:
------------------------------
Running simple 'pwd' command after creating 1000 blocks on a node:
Without this change:
$ time targetcli pwd
/
real 0m8.963s
user 0m7.775s
sys 0m1.103s
with daemonize changes:
$ time targetcli --tcp "pwd"
/
real 0m0.126s
user 0m0.099s
sys 0m0.024s
Thanks to Maurizio for hangingout with me for all the discussions involved.
Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
|
|
|
|
| |
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
|
|
|
|
|
|
|
|
|
|
| |
* Replace dict.iteritems() with six.iteritems(dict)
* Use six.moves.range() to get xrange() on Python 2 and range() on
Python 3
* Add classifiers to setup.py
* Sort imports
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
|
|
|
|
| |
Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
|
|
|
|
| |
Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
|
|
|
|
|
|
| |
Version is also used in scripts/targetcli.
This reverts commit fedfcb6332ecd3b5d37db6212ffbf4d3ae1735b5.
|
|
|
|
| |
Signed-off-by: Andy Grover <agrover@redhat.com>
|
|
|
|
|
|
| |
Also update the package name, version, URL and maintainer.
Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
|
|
|
|
|
|
|
|
|
|
| |
This patch converts rtslib code copyright from AGPL to the
permissive Apache License 2.0.
It also update copyright owner to Datera, Inc.
Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
Signed-off-by: Andy Grover <agrover@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Removed useless obsolete targets (setup.py based)
* Merged version templating in Makefile (removed bin/gen_changelog*).
* Added 'release' make target that generates a dist/*.tar.gz official
versionned release tarball from which one can just use setup.py,
dpkg-buildpackage or rpmbuild (no Makefile in it).
* Removed obsolete bin/lint as well.
* Now the 'rpm' and 'deb' Makefile targets use the generated release build.
* Makefile commands now use no echo mode.
* Added timestamps for virtual targets.
* Removed obsolete (empty) doc packages generation. The shell is
self-documenting.
* Cleaned up setup.py alignements.
|
| |
|
|
Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
|