summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* runner: check for all non-zero exit status valuesVijay Bellur2017-06-221-2/+2
| | | | | Change-Id: I4fc56e3fdcbccfde3a70a98f2697744444797e06 Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* cli: fix missing newline charactersPrasanna Kumar Kalever2017-06-221-3/+3
| | | | | Change-Id: I06f20a355453d81955d4308ecad68358fa1f99cc Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* README: update initiator dependency listPrasanna Kumar Kalever2017-06-221-1/+1
| | | | | | | | added 'device-mapper-multipath' package in the initiator install dependency list, which provides 'mpathconf' Change-Id: I8ff5ed1e10cb3cac93511afa2eec51c9401bd32f Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* block: add support to prealloc = full | no optionPrasanna Kumar Kalever2017-06-227-36/+140
| | | | | | | | | currently we allocate sparse files for block backends in the gluster volume, with 'prealloc = full' option introduced by this patch we should be able to fully preallocate the backend block file. Change-Id: Ibf32df5f978f732a3fd248693170463da6d08268 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* logger: fix (null) prints while trying to log volnamePrasanna Kumar Kalever2017-06-141-0/+1
| | | | | Change-Id: I266e081dc318c1ccf29751059992beeadb9d8665 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* runner: check for WIFEXITED before WEXITSTATUSPrasanna Kumar Kalever2017-06-141-33/+53
| | | | | | | | check if the child terminated normally before checking for exit status of the child. Change-Id: I00357f636f4ee55c10052b4e6071cb08493d32e2 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* Terminate gracefully when svc_register failsPranith Kumar K2017-06-141-14/+18
| | | | | | | | | In cases when svc_register fails, gluster-blockd will print the reason and terminate gracefully. Fixes: #26 Change-Id: Ia243771d99fbaa674f317e7c8e64174f4d8d6234 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* info: show size in human readable formatPrasanna Kumar Kalever2017-06-135-15/+50
| | | | | | | | | | | | | | | | | | Also s/BLOCK CONFIG NODE(S)/EXPORTED NODE(S)/ in the info output $ gluster-block info sample/block NAME: block VOLUME: sample GBID: 6bd70984-be2c-43ac-9e9d-bad04010e42f SIZE: 1.0 GiB HA: 1 PASSWORD: EXPORTED NODE(S): 192.168.0.105 Change-Id: I473b854b939c96b99be8e0b172ac6957b8bc6006 Fixes: #23 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com> Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* NEWS: updatev0.2.1Prasanna Kumar Kalever2017-06-071-12/+24
| | | | | Change-Id: Ic6fcb5cc6585fb66099d56175aa80da9275356ae Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* sysconfig: add log-level option detailsPrasanna Kumar Kalever2017-06-072-1/+6
| | | | | | | | set default log-level environment variable in daemon systemd unit, also added required comment lines in the sysconfig file. Change-Id: I9f61842ba95ae278367692eba8e62cc54c1b5cd3 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* systemd: add gluster-blockd.sysconfig templatePrasanna Kumar Kalever2017-06-075-2/+32
| | | | | | | | one can edit various input options to gluster-blockd daemon via /etc/sysconfig/gluster-blockd Change-Id: I720130d6b6599a79d193c5cbfff18921ffb07156 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* daemon: narrow down the failure reason due to dependency servicePrasanna Kumar Kalever2017-06-062-55/+94
| | | | | | | | | | | | | With this change, we can further narrow down the reason for command failure on remote node. We get to know if: * targetcli is installed * tcmu-runner is running * user:glfs is listed Change-Id: Ib39ec525f951ca510008327b59ab99d8f7645ced Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* docs: add manual for gluster-blockdPrasanna Kumar Kalever2017-06-063-4/+97
| | | | | Change-Id: Ic8a7d584274f48dcef5ea2356cf317352a3d48ef Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* docs: update ReadMe with gluster-blockd optionsPrasanna Kumar Kalever2017-06-061-2/+29
| | | | | Change-Id: I7c78ab124705d77c8dc5edbf7ca7829dbf0f07b2 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* Fix heap-buffer-overflowPranith Kumar K2017-06-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the asan trace: ==26769==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x602000007b60 at pc 0x7ffff6e9429b bp 0x7ffff1afd800 sp 0x7ffff1afcfa8 WRITE of size 2 at 0x602000007b60 thread T1 #0 0x7ffff6e9429a (/lib64/libasan.so.3+0x5f29a) #1 0x406b64 in removeDuplicateSubstr /root/gluster-block/rpc/block_svc_routines.c:147 #2 0x41ad4c in blockCreateCliFormatResponse /root/gluster-block/rpc/block_svc_routines.c:1570 #3 0x41ff91 in block_create_cli_1_svc /root/gluster-block/rpc/block_svc_routines.c:1826 #4 0x405e63 in gluster_block_cli_1 /root/gluster-block/rpc/rpcl/block_svc.c:132 #5 0x7ffff57d62a0 in svc_getreq_common (/lib64/libc.so.6+0x13a2a0) #6 0x7ffff57d63e6 in svc_getreq_poll (/lib64/libc.so.6+0x13a3e6) #7 0x7ffff57d9d00 in svc_run (/lib64/libc.so.6+0x13dd00) #8 0x403c61 in glusterBlockCliThreadProc /root/gluster-block/daemon/gluster-blockd.c:130 #9 0x7ffff6c1e6c9 in start_thread (/lib64/libpthread.so.0+0x76c9) #10 0x7ffff57a3f6e in clone (/lib64/libc.so.6+0x107f6e) 0x602000007b60 is located 0 bytes to the right of 16-byte region [0x602000007b50,0x602000007b60) allocated by thread T1 here: #0 0x7ffff6efc020 in calloc (/lib64/libasan.so.3+0xc7020) #1 0x42d2c3 in gbAllocN /root/gluster-block/utils/utils.c:194 #2 0x406ae9 in removeDuplicateSubstr /root/gluster-block/rpc/block_svc_routines.c:138 #3 0x41ad4c in blockCreateCliFormatResponse /root/gluster-block/rpc/block_svc_routines.c:1570 #4 0x41ff91 in block_create_cli_1_svc /root/gluster-block/rpc/block_svc_routines.c:1826 #5 0x405e63 in gluster_block_cli_1 /root/gluster-block/rpc/rpcl/block_svc.c:132 #6 0x7ffff57d62a0 in svc_getreq_common (/lib64/libc.so.6+0x13a2a0) #7 0x7ffff5a60a5f (/lib64/libc.so.6+0x3c4a5f) Thread T1 created by T0 here: #0 0x7ffff6e66488 in __interceptor_pthread_create (/lib64/libasan.so.3+0x31488) #1 0x40545f in main /root/gluster-block/daemon/gluster-blockd.c:325 #2 0x7ffff56bc400 in __libc_start_main (/lib64/libc.so.6+0x20400) Change-Id: Id16fa0c00223f7272c3c977efb268ba5d72bd04b Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* Prevent crashes when errMsg is not setPranith Kumar K2017-06-061-29/+53
| | | | | | | | | | | | When reply->out is NULL, gluster-blockd is crashing in serializing the response. Unfortunately the function where we can handle this error is auto-generated, so I added catch-all errors with a generic-message if errMsg is not set. Also improved errMsg in somecases where it is not setting by collecting the error messages from all the config-nodes. Change-Id: I706d8af9e8e6140d21c0d1268ae57dd5f364aa54 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* Fix compiler warningsPranith Kumar K2017-06-062-2/+1
| | | | | Change-Id: I9dd396737a6719fe3828ec3e9c26bfd8aa1da238 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* README: refer to upstream documentation instead of downstream...Michael Adam2017-06-061-2/+3
| | | | | Change-Id: I8c8cf5f179d0cacb2dc9ffbdc6ed6c5bbcc04abb Signed-off-by: Michael Adam <obnox@redhat.com>
* README: reformat and rearrange the start of the example section slightlyMichael Adam2017-06-061-5/+14
| | | | | Change-Id: Ib3e865c171558a1aa81223b7d63c362159cbb53c Signed-off-by: Michael Adam <obnox@redhat.com>
* README: remove extra ==== characters.Michael Adam2017-06-061-2/+1
| | | | | Change-Id: I3641174aaff35406cd74eb088267d76091eb0b03 Signed-off-by: Michael Adam <obnox@redhat.com>
* log: print human readable timestampPrasanna Kumar Kalever2017-06-052-2/+36
| | | | | | | | | | | | | Before: ------- Epoch number, eg: [1496312036] Now: ---- Human readable, eg: [2017-06-01 18:37:46.834377] Change-Id: Ibcb3de512086f6fa36ad7169f0d9189636361331 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* logger: filter log messages based on severity levelPrasanna Kumar Kalever2017-06-053-39/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds '--log-level' options supported log levels: { "NONE", "ERROR", "WARNING", "INFO", "DEBUG", "TRACE" } TRACE being max logging $ gluster-blockd --help [...] --log-level <LOGLEVEL> Logging severity. Valid options are, TRACE, DEBUG, INFO, WARNING, ERROR and NONE [default: INFO] [...] Change-Id: I5a387eea3e7e7be10a0b56102a61eb81b4ebf2fa Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* logger: improve logging at server sidePrasanna Kumar Kalever2017-06-052-14/+57
| | | | | Change-Id: I7a2f8804b7d33c58101bbfb58dcff15370239311 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* daemon: make glfs lru cache capacity configurablePrasanna Kumar Kalever2017-06-058-34/+143
| | | | | | | | | | | | | | | | | | $ gluster-blockd --help gluster-blockd (0.2) usage: gluster-blockd [--glfs-lru-count <count>] commands: --glfs-lru-count <count> glfs objects cache capacity [max: 512] (default: 5) --help show this message and exit. --version show version info and exit. Change-Id: I00a9277690a1c5ace51e223e9e4ed9ce61ae2428 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* cache: implement LRU cache to hold glfs objectsPrasanna Kumar Kalever2017-06-059-15/+411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: ------- 1. Currently, each cli command take ~5 secs for execution. The Maximum latency is due to initializing a glfs object (glfs_init() and friends). 2. OOM kills due to glfs_fini() leaks (~10MB per object) Solution: -------- Caching bipasses glfs_init() calls from the very next command, as in the first command it goes via the glfs_init route, since there will be cache miss. Hence with caching cli command on a local machine should take ~1 sec. ATM, the cache query looks at the volume name only, as the host name will be localhost in our case and transport will be tcp 24007 always. The default cache capacity is 5 i.e there can be a max of five glfs entries in the cache, anything more will lead to release of least recently used object. This way, if there are <= 5 volume in use for block, there will be no glfs_fini() calls, hence no leaks, no OOM's. The next patch will help in making cache capacity configurable. Change-Id: Ia891451cb92cf09959c1aff85976d78302ec7014 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com> [ndevos: correct compiling+linking against libgfapi.so]
* Only when RPC is sent move status to CONFIGFAILPranith Kumar K2017-06-051-7/+19
| | | | | | | | | | | | | | | | | | Problem: When the config node is given as an address that has no route, connection to the node fails with EHOSTUNREACH(No route to Host). Since the code doesn't treat it as special errno, the config ends up updating its status as CONFIGFAIL and as part of cleanup it attempts to delete it, but fails again because the host is not reachable. So the block file lingers on in that state forever. Fix: Irrespective of errno, unless we don't send an rpc we know that we don't need to move the status to CONFIGFAIL, so get that info and act accordingly irrespective of the errno. Change-Id: Ie3fb9413f089a4875b5612c60ed3d65bc5b5bba1 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* cli: Give error message when gluster-blockd doesn't respondPranith Kumar K2017-06-051-55/+28
| | | | | | | Also refactored the code around to reduce number of allocations. Change-Id: If5431f1504b6716ac4baec3a859189f6f21c80a4 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
* info: show node as configured if status is GB_CLEANUP_INPROGRESSPrasanna Kumar Kalever2017-06-021-0/+1
| | | | | | | | | | status GB_CLEANUP_INPROGRESS means someone attemped a delete, but node was not in contact/reach. So the configuration on that node is untouched. Hence such nodes need to be shown in configured list or so called 'BLOCK CONFIG NODE(S):' as part of info command. Change-Id: I56f26fdb3fe6e0ac57fae08c58256d8ccb4dc10d Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* gluster-blockd: handle SIGPIPEPrasanna Kumar Kalever2017-05-241-0/+3
| | | | | Change-Id: I2e0dd64ea1b07d09fa28151a46b703af1d05eed9 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* systemd: add Open-iSCSI servicePrasanna Kumar Kalever2017-05-221-2/+2
| | | | | Change-Id: Icc5d7141338ac81862ecbf1fd20cb28b004fa537 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* glfs: fix 'status' buffer size in 'NodeInfo'Prasanna Kumar Kalever2017-05-221-2/+2
| | | | | | | | | | | | ==22873==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6120000224cf at pc 0x7f073b9829b7 bp 0x7f07367fc400 sp 0x7f07367fbba8 WRITE of size 17 at 0x6120000224cf thread T1 #0 0x7f073b9829b6 in strcpy (/lib64/libasan.so.3+0x919b6) #1 0x424416 in blockStuffMetaInfo /root/gluster-block/rpc/glfs-operations.c:305 #2 0x424bc6 in blockGetMetaInfo /root/gluster-block/rpc/glfs-operations.c:363 Change-Id: Id9da4279d358462dcf1c043b37aeb55dfc38ceb2 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* Minor improvements to CLI messagesVijay Bellur2017-05-211-6/+6
| | | | Signed-off-by: Vijay Bellur <vbellur@redhat.com>
* README: add recommended multipath configurationPrasanna Kumar Kalever2017-05-201-2/+22
| | | | | Change-Id: Ia571462b4d94b3cb3855aa699c1b4303283134ef Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* gluster-block: update journal data synchronouslyPrasanna Kumar Kalever2017-05-192-56/+58
| | | | | | | Also use O_SYNC while creating/truncating block file. Change-Id: Ic0bcc3f2905c438ca5b5d3e95955bbd5d95d3ef4 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* gluster-blockd: use SO_REUSEADDR on bindVijay Bellur2017-05-191-0/+7
| | | | | | | | | | | | | | Currently immediate restarts of gluster-blockd failsi with: [1495181620] ERROR: bind on port 24006 failed (Address already in use) Since the closed socket connection is still in TIME_WAIT on 24006 This patch sets socket option SO_REUSEADDR, which allows gluster-blockd to bind even if socket is in a TIME_WAIT state. Change-Id: I4e6b3c5d3930e6fca222b11c34b35f883d9be730 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* NEWS: updatev0.2Prasanna Kumar Kalever2017-05-051-5/+13
| | | | | Change-Id: Iac1f2a33bf86cd52ea6e2378cb31a84d40469af9 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* docs: update readme and man pagePrasanna Kumar Kalever2017-05-052-10/+45
| | | | | Change-Id: If5f63d7cb711d18739782ebd83495f223f9db0da Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* cli: increase the clnt_call() total time out.Prasanna Kumar Kalever2017-05-052-22/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The connect() in daemon takes too long to return for invalid IP addresses, the delay is much higher that the CLI RPC Timeout, hence the CLI returns before the daemon returns. Hence SIGPIPE is issued. The issue can be fixed by increasing the CLI RPC clnt_call() TIMEOUT. This should actually be handled like: struct timeval tv; CLIENT *cl; cl=clnt_create("somehost", SOMEPROG, SOMEVERS, "tcp"); if (cl=NULL) { exit(1); } tv.tv_sec=60; /* change timeout to 1 minute */ tv.tv_usec=0; clnt_control(cl, CLSET_TIMEOUT, &tv); But currently there is a bug in sun RPC which ignores TIMEOUT set using cln_control. See [1] Hence using regex to override default TIMEOUT generated in rpc code. [1] https://lists.gnu.org/archive/html/bug-glibc/2000-10/msg00095.html Change-Id: I75eceea6b9f362f8bf8c2fcb687155635efc65d7 Fixes: #15 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* login: one command for logging-in to all gateways of a targetPrasanna Kumar Kalever2017-05-044-198/+393
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently from the initiator side we need to login to mpath no. of nodes individually for establishing connect with all multipathed block devices from the client side, thus we need to execute mpath no. of login commands (i.e. login to each server) This can be minimized to single login command per target by configuring all gateways for a particular target in all gateways. Currently, $ gluster-block create VOL/BLOCK ha 3 HOSTx,HOSTy,HOSTz 10GiB Creates only one TPG i.e tpg1 (Read as Target Portal Group with Tag 1) on each node/server, with one portal listening on respective IP. All the gateways/nodes emulate same backend as target LUN with same WWN (for multipath representation) So at client side. we need to execute 3 commands to login all gateways $ iscsiadm -m discovery -t st -p HOSTy -l $ iscsiadm -m discovery -t st -p HOSTz -l $ iscsiadm -m discovery -t st -p HOSTx -l In the above case, user may login in any fashion, which is out of our control. Since we have failover multipath configuration, at a given time only one gateway can TX RX the data. so predicting active path/connection is not possible. With this patch, $ gluster-block create VOL/BLOCK ha 3 HOSTx,HOSTy,HOSTz 10GiB Creates 3 TPG's, tpg1(portal HOSTx), tpg2(portal HOSTy) and tpg3(portal HOSTz) on all the three gateways/nodes (IN same order). Basically, each gateway is define to every other gateway - but the other (other than local) gateway entries are in a disabled state. When the client starts the login sequence it issues the RPTG to the one nodes, but now that node can respond with portal IP's for all of the gateways. e.g. GW1 GW2 GW3 - tpg1/enabled - tpg1/disabled - tpg1/disabled - tpg2/disabled - tpg2/enabled - tpg2/disabled - tpg3/disabled - tpg3/disabled - tpg3/enabled Advantage, * Only one login command is needed, unlike 3 login's before, $ iscsiadm -m discovery -t st -p ANYONEHOST -l * Always tpg1 will be tried for making an active path/connection, hence we can predict that the first host in the list {HOSTx,HOSTy,HOSTz} will be tried for active connection. Hence we can be able to better manage load on each nodes, by selectively supplying Hosts in the list. Change-Id: I70f73b1d46812cb1bd8dc80f771ec20b0f0415bf Fixes: #9 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* create: support 'auth enable' optionPrasanna Kumar Kalever2017-05-024-14/+93
| | | | | | | | | | | | | | | | | | | | | | This patch add support to enable auth while create. The schematics of authentication setting for/while create, looks like $ gluster-block create block-test/sample-block ha 1 auth enable \ 192.168.0.105 1GiB --json-pretty { "IQN":"iqn.2016-12.org.gluster-block:dc6cca79-f9b7-44f5-acaf-ac81c9cc7c2e", "USERNAME":"dc6cca79-f9b7-44f5-acaf-ac81c9cc7c2e", "PASSWORD":"ae48635a-6902-454c-949a-f2ad0e056086", "PORTAL(S)":[ "192.168.0.105:3260" ], "RESULT":"SUCCESS" } Change-Id: Ib8f5ddd904cb879e0ee05f6a7c3c381c6615a0e4 Fixes: #5 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* modify: add support for one way authenticationPrasanna Kumar Kalever2017-05-029-193/+903
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduce or rather implement modify command for enabling authentication for block devices. The schematics of authentication setting, looks like $ gluster-block modify block-test/sample-block auth enable --json-pretty { "SUCCESSFUL ON":[ "192.168.0.105" ], "IQN":"iqn.2016-12.org.gluster-block:8917def2-e90d-4406-8c9c-6d06b6851bbe", "USERNAME":"8917def2-e90d-4406-8c9c-6d06b6851bbe", "PASSWORD":"a3e75362-a446-45af-98d0-a1ed7e10d7f0", "RESULT":"SUCCESS" } As an effect it brings changes in 'info' command response, note PASSWORD $ gluster-block info block-test/sample-block --json-pretty { "NAME":"sample-block", "VOLUME":"block-test", "GBID":"8917def2-e90d-4406-8c9c-6d06b6851bbe", "SIZE":1073741824, "HA":1, "PASSWORD":"a3e75362-a446-45af-98d0-a1ed7e10d7f0", "BLOCK CONFIG NODE(S)":[ "192.168.0.105" ] } The schematics of auth disabling, looks like $ gluster-block modify block-test/sample-block auth disable --json-pretty { "SUCCESSFUL ON":[ "192.168.0.105" ], "IQN":"iqn.2016-12.org.gluster-block:add99c38-3c14-42d7-bf23-7d02f388e1e7", "RESULT":"SUCCESS" } Change-Id: I06d095b50401c131ac89cc142497f21d2205164a Fixes: #5 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* block: show reason for cmd failue on non-existent/not started volumePranith Kumar K2017-04-281-0/+11
| | | | | | | | | show the right reason for block operations failure on any non-existent/not started volume. Change-Id: I6340c80aa1a6125038c3e2a2399833562bd5fe8c Fixes: #10 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* gluster-block: support json responsePrasanna Kumar Kalever2017-04-2814-312/+732
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is how cli response looks like, on supplying '--json*' flag to cmd-args: $ gluster-block create block-test/sample-block1 ha 1 localhost.localdomain 1GiB --json (or) $ gluster-block create block-test/sample-block2 ha 1 localhost.localdomain 1GiB --json-spaced { "IQN": "iqn.2016-12.org.gluster-block:681af106-85f1-4a02-a122-57c80903458c", \ "PORTAL(S)": [ "localhost.localdomain:3260" ], "RESULT": "SUCCESS" } $ gluster-block create block-test/sample-block3 ha 1 localhost.localdomain 1GiB --json-plain {"IQN":"iqn.2016-12.org.gluster-block:0fdf6647-57f2-477f-8dd4-54a3de06e410",\ "PORTAL(S)":["localhost.localdomain:3260"],"RESULT":"SUCCESS"} $ gluster-block create block-test/sample-block4 ha 1 localhost.localdomain 1GiB --json-pretty { "IQN":"iqn.2016-12.org.gluster-block:e92ca4a0-5325-4c4b-a407-9e75790e4c7f", "PORTAL(S)":[ "localhost.localdomain:3260" ], "RESULT":"SUCCESS" } Change-Id: Ie51039e3dee0b3357d2347b4087e0fbe299aa29e Fixes: #3 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* cli: print clue if gluster-block daemon is not operationalPrasanna Kumar Kalever2017-04-261-0/+7
| | | | | | | | | | | Currently, if gluster-block daemon is not running, we just exit cli commands with non-zero return value, not leaving any clue to user. This patch will print some clue if daemon is not operational. Change-Id: Id54db267894a92b3818b72f7fe654ecd87a3cf1b Fixes: #14 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* logging: redirect configshell logs to GB_LOGDIRPrasanna Kumar Kalever2017-04-132-15/+20
| | | | | | | | | | | | | | | | | | | | currently, GLOBAL CONFIG GROUP =================== [...] logfile=hello ------------- Logfile to use. [...] i.e. configshell logs are collected at 'hello' file. This patch will redirect configshell logs to 'GB_LOGDIR/gluster-block-configshell.log' Change-Id: I487c6197578c24412fbec72cb8c354725614de59 Fixes: #13 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* build: use rpcgen to generate all XDR codeNiels de Vos2017-03-1715-512/+117
| | | | | | | | | | | | | | | | | | | | | Remove all generated files and have them generated when needed. This build a libgbrpcxdr.la archive with the .o files that gets linked into the libgbrpc.la archive. 'rpcgen' generates .c code that triggers warnings for various compilers. This is not something that can easily be fixed, so add rpc-pragmas.h (like GlusterFS does) to prevent these warnings. There are some functions used by gluster-blockd.c that are not part of the header and were manually added to block.h. Because block.h get regenerated now, these functions have been added to a new file block_svc.h. Note that generated and compiled files land in $(top_builddir). This directory does not need to be the same as $(top_srcdir). Change-Id: I0e764d159d6d785699537eed4e24b16883218038 Fixes: #2 Signed-off-by: Niels de Vos <ndevos@redhat.com>
* NEWS: updatev0.1.1Prasanna Kumar Kalever2017-03-161-1/+8
| | | | | Change-Id: Idad0d853c166fecb73e2f04ce2ebe083de96c76b Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* gluster-block: create portal only with ip addressPrasanna Kumar Kalever2017-03-134-10/+10
| | | | | | | | | portal create with FQDN or hostname seems to be not working i.e. iscsiadm fails to discover the nodes or the otherway targetcli is unable to export the LUN right. Change-Id: Ibe0e2aa1b365d6c74a7974b2faf502d2c2ac38ad Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* spec: conditionally enable with_systemd flagPrasanna Kumar Kalever2017-03-061-0/+14
| | | | | Change-Id: I614b19873bd54786f780d767cf84b93f21d6afc7 Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
* build: fix package version stringPrasanna Kumar Kalever2017-03-031-1/+1
| | | | | | | | | | | | | | | before: ------ PACKAGE VERSION: v0.1 note 'v' character in the string now: ----- PACKAGE VERSION: 0.1 Change-Id: I381feba2b3ba1761f025b24afbcc543d7c96a2ed Reported-by: Niels de Vos <ndevos@redhat.com> Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>