<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gluster-block.git/cli, branch v0.2</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/'/>
<entry>
<title>login: one command for logging-in to all gateways of a target</title>
<updated>2017-05-04T14:16:22+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-04-17T12:11:02+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=a31ee2d59d59c74e2a1b91dc40cd12b7c918a45c'/>
<id>a31ee2d59d59c74e2a1b91dc40cd12b7c918a45c</id>
<content type='text'>
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 &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>create: support 'auth enable' option</title>
<updated>2017-05-02T10:08:30+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-04-11T11:11:33+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=5d48aba7b65dfad09bfc639e3434f03227b8bd50'/>
<id>5d48aba7b65dfad09bfc639e3434f03227b8bd50</id>
<content type='text'>
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 &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>modify: add support for one way authentication</title>
<updated>2017-05-02T09:38:51+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-04-10T07:02:47+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=1ed7bd14303fca5c3dd36a30a88d4d2d053f4334'/>
<id>1ed7bd14303fca5c3dd36a30a88d4d2d053f4334</id>
<content type='text'>
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 &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gluster-block: support json response</title>
<updated>2017-04-28T06:13:02+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-03-22T07:13:20+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=7e29a1a2496a922457bdeb02332e9b78c97b4d81'/>
<id>7e29a1a2496a922457bdeb02332e9b78c97b4d81</id>
<content type='text'>
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 &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: print clue if gluster-block daemon is not operational</title>
<updated>2017-04-26T07:21:50+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-04-26T07:13:35+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=bd772be0685479c2fe27e15a3289384a56cf4c31'/>
<id>bd772be0685479c2fe27e15a3289384a56cf4c31</id>
<content type='text'>
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 &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: use rpcgen to generate all XDR code</title>
<updated>2017-03-17T14:11:09+00:00</updated>
<author>
<name>Niels de Vos</name>
<email>ndevos@redhat.com</email>
</author>
<published>2017-03-13T13:01:24+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=5d3d0bc59c1115117e6e624d12227d53a474b2ec'/>
<id>5d3d0bc59c1115117e6e624d12227d53a474b2ec</id>
<content type='text'>
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 &lt;ndevos@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;ndevos@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gluster-blockd: parse create and delete outputs</title>
<updated>2017-02-27T12:52:40+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-02-23T15:13:07+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=2445dd3403b3b6e2e903f6d476ed4076e9a51e29'/>
<id>2445dd3403b3b6e2e903f6d476ed4076e9a51e29</id>
<content type='text'>
The new parsed output of create and delete command will look like:

$ gluster-block create sample/sample-block ha 2 ${HOST1} ${HOST2} 1GiB
IQN: iqn.2016-12.org.gluster-block:aafea465-9167-4880-b37c-2c36db8562ea
PORTAL(S): ${HOST1}:3260 ${HOST2}:3260
RESULT: SUCCESS

$ gluster-block delete sample/sample-block
SUCCESSFUL ON:  ${HOST1} ${HOST2}
RESULT: SUCCESS

Change-Id: Id98e643c62a898a1f7298b6cfeb6ddfa10397b7f
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The new parsed output of create and delete command will look like:

$ gluster-block create sample/sample-block ha 2 ${HOST1} ${HOST2} 1GiB
IQN: iqn.2016-12.org.gluster-block:aafea465-9167-4880-b37c-2c36db8562ea
PORTAL(S): ${HOST1}:3260 ${HOST2}:3260
RESULT: SUCCESS

$ gluster-block delete sample/sample-block
SUCCESSFUL ON:  ${HOST1} ${HOST2}
RESULT: SUCCESS

Change-Id: Id98e643c62a898a1f7298b6cfeb6ddfa10397b7f
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: add traditional options</title>
<updated>2017-02-27T09:50:22+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-02-27T08:19:17+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=bb50c512e51901410762b99d857d53435a73c9c4'/>
<id>bb50c512e51901410762b99d857d53435a73c9c4</id>
<content type='text'>
Though we do not use '--' style for arguments, this patch add supports
for traditional options "--version, --help and --usage".

Change-Id: Ie8bcf05dd46cb045c46ff9aa4f3079f87f848730
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Though we do not use '--' style for arguments, this patch add supports
for traditional options "--version, --help and --usage".

Change-Id: Ie8bcf05dd46cb045c46ff9aa4f3079f87f848730
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: change in synopsis for gluster-block commands</title>
<updated>2017-02-24T09:28:50+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-02-22T09:19:55+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=9f1c8a5ba49e7cad67b7ebf6e3e119eeb32a7ff0'/>
<id>9f1c8a5ba49e7cad67b7ebf6e3e119eeb32a7ff0</id>
<content type='text'>
from now we will have fixed formats for commands.

The new outfit will look like:

$ gluster-block help
gluster-block (3ba7ec5)
usage:
  gluster-block &lt;command&gt; &lt;volname[/blockname]&gt; [&lt;args&gt;]

commands:
  create  &lt;volname/blockname&gt; [ha &lt;count&gt;] &lt;host1[,host2,...]&gt; &lt;size&gt;
        create block device.

  list    &lt;volname&gt;
        list available block devices.

  info    &lt;volname/blockname&gt;
        details about block device.

  delete  &lt;volname/blockname&gt;
        delete block device.

  help
        show this message and exit.

  version
        show version info and exit.

Example usage:
$ gluster-block create volume/blockname 192.168.0.1 1GiB
$ gluster-block create volume/blockname ha 2 192.168.0.1,192.168.0.2 1GiB

$ gluster-block list volume

$ gluster-block info volume/blockname

$ gluster-block delete volume/blockname

Change-Id: Idc6b55c26432ed1ac3f002c2a2b3dbb81b180ec2
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from now we will have fixed formats for commands.

The new outfit will look like:

$ gluster-block help
gluster-block (3ba7ec5)
usage:
  gluster-block &lt;command&gt; &lt;volname[/blockname]&gt; [&lt;args&gt;]

commands:
  create  &lt;volname/blockname&gt; [ha &lt;count&gt;] &lt;host1[,host2,...]&gt; &lt;size&gt;
        create block device.

  list    &lt;volname&gt;
        list available block devices.

  info    &lt;volname/blockname&gt;
        details about block device.

  delete  &lt;volname/blockname&gt;
        delete block device.

  help
        show this message and exit.

  version
        show version info and exit.

Example usage:
$ gluster-block create volume/blockname 192.168.0.1 1GiB
$ gluster-block create volume/blockname ha 2 192.168.0.1,192.168.0.2 1GiB

$ gluster-block list volume

$ gluster-block info volume/blockname

$ gluster-block delete volume/blockname

Change-Id: Idc6b55c26432ed1ac3f002c2a2b3dbb81b180ec2
Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>gluster-block: improve log messages</title>
<updated>2017-02-20T11:00:14+00:00</updated>
<author>
<name>Prasanna Kumar Kalever</name>
<email>prasanna.kalever@redhat.com</email>
</author>
<published>2017-02-19T17:11:31+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/gluster-block.git/commit/?id=cc1294a86736a18955b76f4face415a6a070c445'/>
<id>cc1294a86736a18955b76f4face415a6a070c445</id>
<content type='text'>
improve strings
add missing log messages wherever helpful

Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
improve strings
add missing log messages wherever helpful

Signed-off-by: Prasanna Kumar Kalever &lt;prasanna.kalever@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
