<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/extras, branch v4.1dev</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>distributed-tests: Framework for running tests on a worker cluster</title>
<updated>2018-01-18T19:37:48+00:00</updated>
<author>
<name>krad</name>
<email>krad@fb.com</email>
</author>
<published>2017-12-05T21:53:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=badf662b1521ed6158f42a6ac11024ae80d99ecc'/>
<id>badf662b1521ed6158f42a6ac11024ae80d99ecc</id>
<content type='text'>
Summary: This framework helps distribute running of unit tests on a cluster of machines.

Test Plan: Run tests on fb cluster

Reviewers: sshreyas, jdarcy

Change-Id: If309f504d9aa959cc8b01c85bff3b5503a890ff1
updates #374
Signed-off-by: krad &lt;krad@fb.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary: This framework helps distribute running of unit tests on a cluster of machines.

Test Plan: Run tests on fb cluster

Reviewers: sshreyas, jdarcy

Change-Id: If309f504d9aa959cc8b01c85bff3b5503a890ff1
updates #374
Signed-off-by: krad &lt;krad@fb.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Enable geo-rep test cases</title>
<updated>2018-01-05T07:08:10+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2017-08-11T08:55:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=60a992e69a7cf5a588f5139709d325125d6f04fb'/>
<id>60a992e69a7cf5a588f5139709d325125d6f04fb</id>
<content type='text'>
This patch re-enables the geo-rep test cases.
Along with it does following optimizations.

1. Use EXPECT_WITHIN instead of sleep
2. Clean up geo-rep ssh key after test
3. Changes to gverify.sh and S56glusterd-geo-rep-create-post.sh
   to use the given ssh identity file for geo-rep create
4. Make gluster-command-dir configurable and introduce
   slave-gluster-command-dir which points the parent directory
   of gluster binaries in master and slave respectively.

Change-Id: Ia7696278d9dd3ba04224dcd7c3564088ca970b04
BUG: 1480491
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch re-enables the geo-rep test cases.
Along with it does following optimizations.

1. Use EXPECT_WITHIN instead of sleep
2. Clean up geo-rep ssh key after test
3. Changes to gverify.sh and S56glusterd-geo-rep-create-post.sh
   to use the given ssh identity file for geo-rep create
4. Make gluster-command-dir configurable and introduce
   slave-gluster-command-dir which points the parent directory
   of gluster binaries in master and slave respectively.

Change-Id: Ia7696278d9dd3ba04224dcd7c3564088ca970b04
BUG: 1480491
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras/devel-tools: Fix print-backtrace script</title>
<updated>2017-11-26T23:05:14+00:00</updated>
<author>
<name>Prashant D</name>
<email>pdhange@redhat.com</email>
</author>
<published>2017-11-08T11:09:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=a3f4b71c1f54eac885b5625b2387027be91e5a2a'/>
<id>a3f4b71c1f54eac885b5625b2387027be91e5a2a</id>
<content type='text'>
Problem:
If cpio version is less 2.11 then cpio command failing with
unrecognised option --directory.

Solution:
Check the cpio version and run rpm2cpio/cpio with or without
-D or --directory option.

Fixes : #359
Change-Id: Ibd440207231807dab1b58291ab661857094f1a4a
BUG: 1510874
Signed-off-by: Prashant D &lt;pdhange@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
If cpio version is less 2.11 then cpio command failing with
unrecognised option --directory.

Solution:
Check the cpio version and run rpm2cpio/cpio with or without
-D or --directory option.

Fixes : #359
Change-Id: Ibd440207231807dab1b58291ab661857094f1a4a
BUG: 1510874
Signed-off-by: Prashant D &lt;pdhange@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>who-wrote-glusterfs: add an alias for potatogim@potatogim.net</title>
<updated>2017-11-16T15:43:08+00:00</updated>
<author>
<name>Ji-Hyeon Gim</name>
<email>potatogim@gluesys.com</email>
</author>
<published>2017-11-15T09:17:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=3cda1da32e84240a7e9597cf0cc76b3cb1497882'/>
<id>3cda1da32e84240a7e9597cf0cc76b3cb1497882</id>
<content type='text'>
Change-Id: Ieb3d1910f0284bd951089c197abc569ae95e5bcd
Signed-off-by: Ji-Hyeon Gim &lt;potatogim@gluesys.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ieb3d1910f0284bd951089c197abc569ae95e5bcd
Signed-off-by: Ji-Hyeon Gim &lt;potatogim@gluesys.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>who-wrote-glusterfs: add gluesys.com to domain-map</title>
<updated>2017-11-15T15:48:56+00:00</updated>
<author>
<name>Ji-Hyeon Gim</name>
<email>potatogim@gluesys.com</email>
</author>
<published>2017-11-15T09:13:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=a0b3d6534b5c4e84742ee9962a49a02009c637cd'/>
<id>a0b3d6534b5c4e84742ee9962a49a02009c637cd</id>
<content type='text'>
Change-Id: Idfc62026ca50aaf8767f093b4daefd7119564a1f
Signed-off-by: Ji-Hyeon Gim &lt;potatogim@gluesys.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Idfc62026ca50aaf8767f093b4daefd7119564a1f
Signed-off-by: Ji-Hyeon Gim &lt;potatogim@gluesys.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras: scripts to control CPU/MEMORY for any gluster daemon during runtime</title>
<updated>2017-11-13T11:07:06+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2017-09-27T06:07:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=2c066c4c365e77421d1009851144efae0b028628'/>
<id>2c066c4c365e77421d1009851144efae0b028628</id>
<content type='text'>
Problem: Sometime gluster daemons like glustershd can consume a lot of cpu and/
or memory if there is a large amount of data/ entries to be healed.

Solution: Until we have some form of throttling/ QoS mechanisms built into
gluster, we can use control groups for regulating cpu and memory of any gluster
daemon using control-cpu-load.sh and control-mem.sh scripts respectively.

Test:    To test the control-cpu-load.sh script follow below procedure:
         1) Setup distribute replica environment
         2) Selfheal daemon off
         3) Down one node from replica nodes
         4) Create millions of files from mount point
         5) Start down node
         6) Check cpu usage for shd process in top command
         7) Run script after provide shd pid with CPU quota value
         8) Check again cpu usage for shd process in top command

Note: control-mem.sh script can cap the memory usage of the process to the set
limit, beyond which the process gets blocked. It resumes either when the memory
usage comes down or if the limit is increased.

BUG: 1496335
Change-Id: Id73c36b73ca600fa9f7905d84053d1e8633c996f
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Sometime gluster daemons like glustershd can consume a lot of cpu and/
or memory if there is a large amount of data/ entries to be healed.

Solution: Until we have some form of throttling/ QoS mechanisms built into
gluster, we can use control groups for regulating cpu and memory of any gluster
daemon using control-cpu-load.sh and control-mem.sh scripts respectively.

Test:    To test the control-cpu-load.sh script follow below procedure:
         1) Setup distribute replica environment
         2) Selfheal daemon off
         3) Down one node from replica nodes
         4) Create millions of files from mount point
         5) Start down node
         6) Check cpu usage for shd process in top command
         7) Run script after provide shd pid with CPU quota value
         8) Check again cpu usage for shd process in top command

Note: control-mem.sh script can cap the memory usage of the process to the set
limit, beyond which the process gets blocked. It resumes either when the memory
usage comes down or if the limit is increased.

BUG: 1496335
Change-Id: Id73c36b73ca600fa9f7905d84053d1e8633c996f
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras/hooks: Honour all input arguments to scripts</title>
<updated>2017-10-31T12:24:05+00:00</updated>
<author>
<name>Anoop C S</name>
<email>anoopcs@redhat.com</email>
</author>
<published>2017-10-25T06:51:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=08000e3ab7effa2f09ba3f0334285c7ef7d2daab'/>
<id>08000e3ab7effa2f09ba3f0334285c7ef7d2daab</id>
<content type='text'>
Some of the hook scripts were not honouring the arguments with which
they are invoked during various volume operations. So make sure that
we consider everything while parsing the command line arguments to
avoid following warnings:

. . .
ame: unrecognized option '--first=no'
ame: unrecognized option '--version=1'
ame: unrecognized option '--volume-op=start'
. . .

Change-Id: I5b08e5e7f32908c8509e97098a042096b507783e
BUG: 1503983
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some of the hook scripts were not honouring the arguments with which
they are invoked during various volume operations. So make sure that
we consider everything while parsing the command line arguments to
avoid following warnings:

. . .
ame: unrecognized option '--first=no'
ame: unrecognized option '--version=1'
ame: unrecognized option '--volume-op=start'
. . .

Change-Id: I5b08e5e7f32908c8509e97098a042096b507783e
BUG: 1503983
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>snapshot/scheduler: handle the exception when SELinux is absent</title>
<updated>2017-10-31T07:54:26+00:00</updated>
<author>
<name>Rishabh Dave</name>
<email>rishabhddave@gmail.com</email>
</author>
<published>2017-10-15T13:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=f4805ca6cf67d1d8394b14f21eceb2d9592ba228'/>
<id>f4805ca6cf67d1d8394b14f21eceb2d9592ba228</id>
<content type='text'>
When SELinux is absent on an given system, snapshot_scheduler.py raises
an exception; handle it and report it in the log.

Change-Id: I21bc179e090d34f8061063e6d662521ee5046cce
BUG: 1502253
Signed-off-by: Rishabh Dave &lt;rishabhddave@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When SELinux is absent on an given system, snapshot_scheduler.py raises
an exception; handle it and report it in the log.

Change-Id: I21bc179e090d34f8061063e6d662521ee5046cce
BUG: 1502253
Signed-off-by: Rishabh Dave &lt;rishabhddave@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras/hooks: Fix getopt usage</title>
<updated>2017-10-30T15:49:02+00:00</updated>
<author>
<name>Anoop C S</name>
<email>anoopcs@redhat.com</email>
</author>
<published>2017-10-19T08:10:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=39ac511a5d6dbc141bb3e1d8b4b4b8922c71b5a4'/>
<id>39ac511a5d6dbc141bb3e1d8b4b4b8922c71b5a4</id>
<content type='text'>
`getopt` does not have an optional argument as '-name'. It should
be either '-n' or '--name'(see man getopt(1)). This wrong usage
resulted in setting the script name as 'ame' instead of $PROGNAME
in most of the hook-scripts.

Additionally the following line from DESCRIPTION given for `getopt`
shell command expects short options for almost every kind of usage
mentioned in SYNOPSIS:

. . .
If  no  '-o'  or '--options' option is found in the first part, the
first parameter of the second part is used as the short options string.
. . .

Refer http://man7.org/linux/man-pages/man1/getopt.1.html for more
clarity on its usage.

Change-Id: I95baf5fa8c99025e66b2d83656dd838d4f6048ce
BUG: 1503983
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`getopt` does not have an optional argument as '-name'. It should
be either '-n' or '--name'(see man getopt(1)). This wrong usage
resulted in setting the script name as 'ame' instead of $PROGNAME
in most of the hook-scripts.

Additionally the following line from DESCRIPTION given for `getopt`
shell command expects short options for almost every kind of usage
mentioned in SYNOPSIS:

. . .
If  no  '-o'  or '--options' option is found in the first part, the
first parameter of the second part is used as the short options string.
. . .

Refer http://man7.org/linux/man-pages/man1/getopt.1.html for more
clarity on its usage.

Change-Id: I95baf5fa8c99025e66b2d83656dd838d4f6048ce
BUG: 1503983
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>extras/hooks: Fix errors reported via shellcheck utility</title>
<updated>2017-10-18T14:27:41+00:00</updated>
<author>
<name>Anoop C S</name>
<email>anoopcs@redhat.com</email>
</author>
<published>2017-10-11T07:59:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=087703fae449b725ebd82bc3cd65763a016fb098'/>
<id>087703fae449b725ebd82bc3cd65763a016fb098</id>
<content type='text'>
Change-Id: I217c6b2a39955f1709bb3452b00d33c2dcb60faa
BUG: 1500649
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I217c6b2a39955f1709bb3452b00d33c2dcb60faa
BUG: 1500649
Signed-off-by: Anoop C S &lt;anoopcs@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
