summaryrefslogtreecommitdiffstats
path: root/extras
Commit message (Collapse)AuthorAgeFilesLines
* glusterd/cli changes for distributed geo-repAvra Sengupta2013-07-262-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commands: gluster system:: execute gsec_create gluster volume geo-rep <master> <slave-url> create [push-pem] [force] gluster volume geo-rep <master> <slave-url> start [force] gluster volume geo-rep <master> <slave-url> stop [force] gluster volume geo-rep <master> <slave-url> delete gluster volume geo-rep <master> <slave-url> config gluster volume geo-rep <master> <slave-url> status The geo-replication is distributed. The session will be created, and gsyncd will be spawned on all relevant nodes, instead of only one node. geo-rep: Collecting status detail related data Added persistent store for saving information about TotalFilesSynced, TotalSyncTime, TotalBytesSynced Changes in the status information in socket: Existing(Ex): FilesSynced=2;BytesSynced=2507;Uptime=00:26:01; New(Ex): FilesSynced=2;BytesSynced=2507;Uptime=00:26:01;SyncTime=0.69978; TotalSyncTime=2.890044;TotalFilesSynced=6;TotalBytesSynced=143640; Persistent details stored in /var/lib/glusterd/geo-replication/${mastervol}/${eSlave}-detail.status Change-Id: I1db7fc13ffca2e415c05200b0109b1254067f111 BUG: 847839 Original Author: Avra Sengupta <asengupt@redhat.com> Original Author: Venky Shankar <vshankar@redhat.com> Original Author: Aravinda VK <avishwan@redhat.com> Original Author: Amar Tumballi <amarts@redhat.com> Original Author: Csaba Henk <csaba@redhat.com> Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/5132 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* gsyncd: distribute the crawling loadAvra Sengupta2013-07-268-2/+395
| | | | | | | | | | | | | | | | | | | * also consume changelog for change detection. * Status fixes * Use new libgfchangelog done API * process (and sync) one changelog at a time Change-Id: I24891615bb762e0741b1819ddfdef8802326cb16 BUG: 847839 Original Author: Csaba Henk <csaba@redhat.com> Original Author: Aravinda VK <avishwan@redhat.com> Original Author: Venky Shankar <vshankar@redhat.com> Original Author: Amar Tumballi <amarts@redhat.com> Original Author: Avra Sengupta <asengupt@redhat.com> Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/5131 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* test-ffop: the result of (O_TRUNC|O_RDONLY) is unspecifiedNiels de Vos2013-07-101-0/+2
| | | | | | | | | | | | | | | | | | On RHEL-6 an open(.., O_TRUNC|O_RDONLY) fails. test-ffop expects this to succeed, but the behaviour is unspecified according to 'man 2 open': O_TRUNC If the file already exists and is a regular file and the open mode allows writing (i.e., is O_RDWR or O_WRONLY) it will be truncated to length 0. If the file is a FIFO or terminal device file, the O_TRUNC flag is ignored. Otherwise the effect of O_TRUNC is unspecified. Change-Id: I76b55419871fc758cbe82532f9b75476a0c14101 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/5268 Reviewed-by: Vijay Bellur <vbellur@redhat.com> Tested-by: Vijay Bellur <vbellur@redhat.com>
* extras/hook-scripts: Set of changes for new samba share method.Raghavendra Talur2013-06-284-42/+176
| | | | | | | | | | | | | | | | | | | New method of creating a share of gluster volume through samba eliminates the requirement of fuse mount and changes in fstab. glusterfs vfs plugin has to be specified as required vfs object. Path now is relative to the root of gluster volume. / signifies complete volume. Change-Id: I3d80452cd58513ef59d6a816c1ab62ebc3b76a62 BUG: 953694 Signed-off-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-on: http://review.gluster.org/5247 Reviewed-by: José Rivera <jrivera@redhat.com> Tested-by: José Rivera <jrivera@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* build: sync glusterfs.spec.in with Fedora glusterfs.specKaleb S. KEITHLEY2013-06-281-1/+2
| | | | | | | | | | | | | | * fix the hardening fix for shlibs * use %{__sed} macro * better short ChangeLog * fix hard-coded path in extras/systemd/glusterd.service in, use @prefix@ Change-Id: I267244b68a97cbcd6f6ab62fc322c78db45023bb BUG: 950083 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/5264 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* build: sync glusterfs.spec.in with Fedora glusterfs.specKaleb S. KEITHLEY2013-06-265-13/+38
| | | | | | | | | | | | | | | | | | | | | | * add glusterfs-api and glusterfs-api-devel sub-packages * add extras/systemd/glusterd.service. Use it (or extras/init.d/glusterd) instead of the Fedora versions. * restores ability to build glusterfs RPMs from the dist tarball with 'rpmbuild {-ts,-tb,-ta} glusterfs-XXX.tar.gz' * other minor cleanups mostly to sync with fedora .spec and to build from the dist tarball. Any differences will be resolved in the fedora .spec in the next release (i.e. beta4 or GA). (still considering whether to add fedora glusterfsd.{init,service} files to glusterfs or remove them from fedora.) BUG: 950083 Change-Id: Ibda3cd57b24ef5c2a27446703e718e5044ec546c Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/5230 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Bala FA <barumuga@redhat.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* extras: prevent "glusterd dead but subsys locked"Niels de Vos2013-05-251-1/+0
| | | | | | | | | | | | | | | | | | | | | Commit b5bf14a6 added support for a file under /var/lock/subsys, Hoewever, killproc does remove the $PIDFILE which cases subsequent checks on its existence to fail. When glusterd was stopped successfully, the $PIDFILE has been removed already, there is no need to try to remove is again. Upon executing '/sbin/service glusterd status', the message 'glusterd dead but subsys locked' would be returned because the file under /var/lock/subsys was not removed. Bug: 960476 Change-Id: I781fe463e3c5472e42d668155cee4f63d349a568 Reported-by: Satheesaran Sundaramoorthi <sasundar@redhat.com> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/5074 Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* rpm: automatically load the fuse module on EL5Niels de Vos2013-05-222-1/+8
| | | | | | | | | | | | | | | | | | | | | | | The fuse module needs to be loaded before /dev/fuse can be used. On RHEL6 and Fedora the module is loaded on demand. RHEL5 needs to load the module manually. This change add a script under /etc/sysconfig/modules/ that loads the fuse module on boot and packages it in the EL5 version of glusterfs-fuse. One of the features of GlusterFS is to not depend on additional fuse userspace. The conditional requires on /usr/bin/fusermount is not needed, this command is never called in the current version (even though is it referenced in the sources). Change-Id: I77028dade54771cb49cea68a517100f73763dc85 BUG: 947830 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/5070 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* object-storage: final removal of ufo codePeter Portante2013-05-101-24/+1
| | | | | | | | | | | | | | | | | | | See https://git.gluster.org/gluster-swift.git for the new location of the Gluster-Swift code. With this patch, no OpenStack Swift related RPMs are constructed. This patch also removes the unused code that references the user.ufo-test xattr key in the DHT translator. Change-Id: I2da32642cbd777737a41c5f9f6d33f059c85a2c1 BUG: 961902 (https://bugzilla.redhat.com/show_bug.cgi?id=961902) Signed-off-by: Peter Portante <peter.portante@redhat.com> Reviewed-on: http://review.gluster.org/4970 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Luis Pabon <lpabon@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* extras: /etc/init.d/glusterd should create a lockfile under /var/lock/sybsysNiels de Vos2013-05-071-0/+6
| | | | | | | | | | | | | Without a lockfile under /var/lock/subsys, the glusterd service is not stopped on shutdown or reboot. Change-Id: I9dc9b4204c5c39879c22191b2e8a2b81a4f3a58a BUG: 960476 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/4960 Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* extras: include Fedora changes in init.d/glusterdNiels de Vos2013-04-291-23/+73
| | | | | | | | | | | | | | | | | | | | | The changes in the .spec file from Fedora have largely been merged into the glusterfs.spec.in. It seems that some dependencies have been missed, most importantly some additions to the init-script that are called while (un)installing or updating RPMs. These changes come from the downstream Fedora package that carries its own glusterd.init script. In future, Fedora/EPEL should be able to drop that file and use the Gluster project version. Change-Id: Iac25854b0c559b93fa1dd452a04663bd95ea3378 BUG: 954149 URL: http://lists.nongnu.org/archive/html/gluster-devel/2013-04/msg00077.html CC: Fedora GlusterFS Packagers <glusterfs-owner@fedoraproject.org> Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/4864 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* build: sync glusterfs.spec.in with Fedora glusterfs.specKaleb S. KEITHLEY2013-04-261-2/+0
| | | | | | | | | BUG: 950083 Change-Id: I96aeb8fbe8b79bbc058ff9a45167d822abb576ed Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/4876 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Niels de Vos <ndevos@redhat.com>
* object-storage: rebase Swift to 1.8.0 (grizzly)Kaleb S. KEITHLEY2013-04-121-7/+3
| | | | | | | | | | | Two minor tweaks found while packaging 3.4.0-0.1.alpha2 for Fedora 19 BUG: 948039 Change-Id: I97175636164702cf4042bc4a18ffead76ad386cb Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/4807 Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* object-storage: rebase Swift to 1.8.0 (grizzly)Kaleb S. KEITHLEY2013-04-051-8/+9
| | | | | | | | | Change-Id: I24265c12a45eac4cec761748096118c9647440be BUG: 948039 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/4779 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* glusterfs.spec.in: sync with fedora glusterfs.specKaleb S. KEITHLEY2013-03-281-0/+7
| | | | | | | | | | | | | add --without ufo Change-Id: If1b77003ded537f9664fa6ad677d48d118516c64 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> BUG: 819130 Reviewed-on: http://review.gluster.org/4742 Tested-by: Gluster Build System <jenkins@build.gluster.com> Tested-by: Luis Pabon <lpabon@redhat.com> Reviewed-by: Luis Pabon <lpabon@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* mount: Added the xlator-option to mount.glusterfs script.Avra Sengupta2013-03-221-0/+50
| | | | | | | | | | | | | | | Now all xlator-options can be set from the mount command as well. Example : mount -t glusterfs Hostname:/Volume_Name Mount_Point -o "xlator-option=xyz=123, xlator-option=abc=999" Change-Id: If52d994986839d1c969e3e2e01b2e1a29a3140b7 BUG: 920583 Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/4660 Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Shishir Gowda <sgowda@redhat.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* glusterfs.spec.in: sync with fedora glusterfs.specKaleb S. KEITHLEY2013-03-221-18/+32
| | | | | | | | | | | | | | | | | remove hard-coded reference to swift version and dist tarballs minor improvements for rpm builds for regression tests, including adding cache on build.gluster.org to avoid random failures due to transient network or dns failures causing curl or git to fail. BUG: 819130 Change-Id: I4f1213056ae2987dd2202f9cfbb3ed4f16ffc7cf Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/4674 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Justin Clift <jclift@redhat.com> Tested-by: Justin Clift <jclift@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* LinuxRPM/Makefile: fix backquote which was triggering recursive makeAnand Avati2013-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The following Makefile snippet: --snip-- all: @echo "To build RPMS run `make glusterrpms`" --snip-- was using `backquotes` in the string, and thereby triggering a nested make on "glusterrpms" target implicitly as part of 'make all', thus defeating the intention. So use single quotes instead of backquotes. It is unexplained why this nested 'make glusterrpms' was not called on the build server during regression test. Change-Id: I8a8d1d4f565d03cfb27341e6183af5b09530eb60 BUG: 819130 Signed-off-by: Anand Avati <avati@redhat.com> Reviewed-on: http://review.gluster.org/4532 Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* glusterfs.spec.in: resync with Fedora glusterfs.specKaleb S. KEITHLEY2013-02-172-1/+66
| | | | | | | | | | | | | | | | | | | | | | Resync with Fedora's glusterfs.spec, being careful to preserve recent additions to the glusterfs.spec.in such as the package-config for -devel and the OCF sub-package To build a set of RPMs: % ./autogen.sh % ./configure --enable-fusermount % make dist % cd extras/LinuxRPM && make glusterrpms Updated rpm.t, hopefully build system has all the dependencies to build UFO BUG: 819130 Change-Id: I1b1c161337ad780cf7d3ab401fa1b10648f38cbd Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com> Reviewed-on: http://review.gluster.org/4454 Reviewed-by: Peter Portante <pportant@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* features: add a directory-protection translatorJeff Darcy2013-02-171-0/+144
| | | | | | | | | | | | | | | | | | | | | | This is useful to find all calls that remove a file from the protected directory, including renames and internal calls. Such calls will cause a stack trace to be logged. There's a filter script to add the needed translators, and then the new functionality can be invoked with one of the following commands. setfattr -n trusted.glusterfs.protect -v log $dir setfattr -n trusted.glusterfs.protect -v reject $dir setfattr -n trusted.glusterfs.protect -v anything_else $dir The first logs calls, but still allows them. The second rejects them with EPERM. The third turns off protection for that directory. Change-Id: Iee4baaf8e837106be2b4099542cb7dcaae40428c BUG: 888072 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4496 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* Respect autotools docdir variableKacper Kowalik (Xarthisius)2013-02-072-5/+2
| | | | | | | | | Change-Id: If20d0806a925b880e0ba9bbc66604cae6c51ce6b BUG: 859861 Signed-off-by: Kacper Kowalik (Xarthisius) <xarthisius.kk@gmail.com> Reviewed-on: http://review.gluster.org/3971 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* Add scripts for size-weighted rebalance.Jeff Darcy2013-02-072-0/+466
| | | | | | | | Change-Id: I04197e54fef2ff7b61fbee21ab837219354184f1 Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/3573 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* object-storage: Store the lock file in /var/run/swift.Mohammed Junaid2013-02-071-0/+24
| | | | | | | | | | | | | | | * Openstack swift uses the /var/run/swift directory to store the pid files for all the servers. * Also, added a script that would unmount the gluster client on a volume stop. Change-Id: Ib5b9a2964987ca7696d9a2570f1f7af8490b2168 BUG: 861497 Signed-off-by: Mohammed Junaid <junaid@redhat.com> Reviewed-on: http://review.gluster.org/4417 Reviewed-by: Peter Portante <pportant@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* group-virt: Change profile to include remote-dio and exclude posix-aio.Vijay Bellur2013-02-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | remote-dio enables filtering O_DIRECT in the client xlator. This has been found to be useful for improving performance when there are multiple VMs talking to an image store. Aggregated throughput results for a single thread iozone run from multiple VMs and a single host can be seen below: ------------------------------------------------- No. of VMs | remote-dio on | remote-dio off | ------------------------------------------------- 2 | 400 MB/s | 202 MB/s | 4 | 650 MB/s | 410 MB/s | -------------------------------------------------- posix-aio has not been found to improve performance consistently with VM image workload. Hence not including that in the default virt profile. Change-Id: I592f68b95a955036f1a985352d2f4950ced1deef BUG: 907301 Signed-off-by: Vijay Bellur <vbellur@redhat.com> Reviewed-on: http://review.gluster.org/4460 Reviewed-by: Anand Avati <avati@redhat.com> Tested-by: Anand Avati <avati@redhat.com>
* glusterfs : Moved option files, and statedumps from /tmpAvra Sengupta2013-01-291-1/+1
| | | | | | | | | Change-Id: Ibdede396c4d6859225937316b7a59a661bcaf9f5 BUG: 764890 Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/4422 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* extras: Don't update RETVAL with invalid value.Raghavendra Talur2013-01-181-4/+0
| | | | | | | | | | | | | | | | | | | | Problem: Start and restart functions update the value of RETVAL internally. Assigning $? to RETVAL after function return was updating RETVAL with invalid value. Fix: Removed assignment statement after start and restart functions return. Stop function was always returning 0 as return value due to one extra echo command. Removed echo line. Change-Id: Iec1a83a83463f419dd45e12daf4e5ded80568a3a BUG: 888442 Signed-off-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-on: http://review.gluster.org/4349 Reviewed-by: Anand Avati <avati@redhat.com> Tested-by: Anand Avati <avati@redhat.com>
* extras: Changed the exit status in start function to 0.Raghavendra Talur2013-01-111-1/+1
| | | | | | | | | | | | | | | | | | Problem: We were returning "1" when "glusterd start" was being called with service already running. As per http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html we should consider it to be a success case and return 0. Fix: Just changed the return status from 1 to 0. Change-Id: I8d6d2014f0c32ba53834503e721e2a71df7330a8 BUG: 845653 Signed-off-by: Raghavendra Talur <rtalur@redhat.com> Reviewed-on: http://review.gluster.org/4348 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* build: include OCF resource agents by default and package themNiels de Vos2012-12-122-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change introduces a glusterfs-resource-agents sub-package that contains the Open Cluster Framework (OCF) Resource Agents (RA). It also changes the build infrastructure to include the RA by default, making them available for anyone who is interested in using them with a OCF compatible Hight-Availability solution like Pacemaker. Build the RPMs without RA: $ make dist && rpmbuild -ta --without ocf *.gz Build the RPMs with RA (default): $ make dist && rpmbuild -ta *.gz There is no need to run ./autogen.sh from within the .spec, the whole autotools infrastructure is included in the 'make dist' tarball already. This also adds a test-case which builds the rpms with mock for the latest two EPEL releases. Change-Id: I12ef5f30f466868825352376156fb4e56b135c58 BUG: 869559 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/4130 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
* RHEL init script: ability to overwrite options from sysconfigFilip Pytloun2012-12-123-2/+19
| | | | | | | | | Change-Id: I15df0aef73e097a9ccfb00e2d4cae81d3a5a82fc BUG: 885739 Signed-off-by: Filip Pytloun <filip.pytloun@gooddata.com> Reviewed-on: http://review.gluster.org/4290 Reviewed-by: Niels de Vos <ndevos@redhat.com> Tested-by: Niels de Vos <ndevos@redhat.com>
* Added virt group file - template for 'group' setKrishnan Parthasarathi2012-12-112-1/+8
| | | | | | | | | | | | | | | | | | - This sample file contains the set of volume options that are associated with volumes that would be used to store VMs. - To enable the set of options present in this file one must do the following, - # cp extras/group-virt.example /var/lib/glusterd/groups/<group-name> # gluster volume set <volume-name> group <group-name> Change-Id: I8848d3d222ce114900db885aeef2f20c83ece28c BUG: 851237 Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com> Reviewed-on: http://review.gluster.org/4232 Reviewed-by: Anand Avati <avati@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com>
* Add OCF compliant resource agents for glusterd and volumesFlorian Haas2012-10-244-1/+472
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These resource agents plug glusterd into Open Cluster Framework (OCF) compliant cluster resource managers, like Pacemaker. The glusterd RA is fairly trivial; it simply manages the glusterd daemon like any upstart or systemd job would, except that Pacemaker can do it in a cluster-aware fashion. The volume RA is a bit more involved; It starts a volume and monitors individual brick's daemons in a cluster aware fashion, recovering bricks when their processes fail. Note that this does NOT imply people would deploy GlusterFS servers in pairs, or anything of that nature. Pacemaker has the ability to deploy cluster resources as clones, meaning glusterd and volumes would be configured as follows in a Pacemaker cluster: primitive p_glusterd ocf:glusterfs:glusterd \ op monitor interval="30" primitive p_volume_demo ocf:glusterfs:volume \ params volname="demo" \ op monitor interval="10" clone cl_glusterd p_glusterd \ meta interleave="true" clone cl_volume_demo p_volume_demo \ meta interleave="true" ordered="true" colocation c_volume_on_glusterd inf: cl_volume_demo cl_glusterd order o_glusterd_before_volume 0: cl_glusterd cl_volume_demo The cluster status then looks as follows (in a 4-node cluster; note the configuration above could be applied, unchanged, to a cluster of any number of nodes): ============ Last updated: Fri Mar 30 10:54:50 2012 Last change: Thu Mar 29 17:20:17 2012 via crmd on gluster02.h Stack: openais Current DC: gluster03.h - partition with quorum Version: 1.1.6-3.el6-a02c0f19a00c1eb2527ad38f146ebc0834814558 4 Nodes configured, 4 expected votes 8 Resources configured. ============ Online: [ gluster02.h gluster03.h gluster04.h gluster01.h ] Clone Set: cl_glusterd [p_glusterd] Started: [ gluster02.h gluster03.h gluster04.h gluster01.h ] Clone Set: cl_volume_demo [p_volume_demo] Started: [ gluster01.h gluster02.h gluster03.h gluster04.h ] This is also a way of providing automatic glusterd and brick recovery in systems where neither upstart nor systemd are available. Change-Id: Ied46657bdfd2dd72dc97cf41b0eb7adcecacd18f BUG: 869559 Signed-off-by: Florian Haas <florian@hastexo.com> Reviewed-on: http://review.gluster.org/3043 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* extras: hook scripts should not start Samba if it is not runningNiels de Vos2012-10-022-2/+2
| | | | | | | | | | | | | | | | If the smb service was turned off by the administrator, the hook scripts should not start the service on starting/stopping a volume. By calling the service script with "condrestart" instead of plain "start", the service script checks if samba actually was running. Change-Id: I93408050a65445d98d2f9bb61992e216e04e0b04 BUG: 861506 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.org/4015 Reviewed-by: Amar Tumballi <amarts@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* init.d: implement reload action for SUSE init scriptJeff Darcy2012-10-011-1/+5
| | | | | | | | | | | Change-Id: Ic17832b5bb33bc43faa1ff81c5221ec4e3f9294d BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4012 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* init.d: use proper dependencies in SUSE init scriptJeff Darcy2012-10-011-2/+2
| | | | | | | | | | | | | | "/usr", the place where the binaries usually reside, requires $remote_fs. Change-Id: I830c45b09b78b6c3b36c1475ac3f13cf6c2df588 BUG: 862082 Original-author: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jan Engelhardt <jengelh@inai.de> Signed-off-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-on: http://review.gluster.org/4011 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* Made test-ffop.c exhaustive by making it to test all types of fops.M S Vishwanath Bhat2012-10-011-7/+770
| | | | | | | | | Change-Id: I26052d0cbf72f81a6aa0c52498e99b635d1273e9 BUG: 861380 Signed-off-by: M S Vishwanath Bhat <vbhat@redhat.com> Reviewed-on: http://review.gluster.org/3931 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com>
* build: Install glusterfs-logrotate as config fileVijay Bellur2012-09-251-0/+3
| | | | | | | | | Change-Id: I8255eb4249503eac0add87444da934256faffc01 BUG: 860037 Reviewed-on: http://review.gluster.org/3973 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* All: License message changeVarun Shastry2012-09-1310-44/+47
| | | | | | | | | | | | License message changed for server-side, dual license GPLV2 and LGPLv3+. Change-Id: Ia9e53061b9d2df3b3ef3bc9778dceff77db46a09 BUG: 852318 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/3940 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* All: License message changeVarun Shastry2012-08-2810-157/+65
| | | | | | | | | | | | | | | | | | The license message is changed to Copyright (c) 2008-2012 Red Hat, Inc. <http://www.redhat.com> This file is part of GlusterFS. This file is licensed to you under your choice of the GNU Lesser General Public License, version 3 or any later version (LGPLv3 or later), or the GNU General Public License, version 2 (GPLv2), in all cases as published by the Free Software Foundation. Change-Id: I07d2b63ed5fbbbd1884f1e74f2dd56013d15b0f4 BUG: 852318 Signed-off-by: Varun Shastry <vshastry@redhat.com> Reviewed-on: http://review.gluster.org/3858 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* init.d: Fix init.d on Redhat, so it does not always return 0.Thomas Oulevey2012-08-281-1/+5
| | | | | | | | | | | | | * Installing gluster with puppet, it gives an error if service "hasstatus => true" is used. * Introduced a $RETVAL variable set to previous command return value. Change-Id: I186ec59f892f04f25c06478315ca85183cb6232a BUG: 836007 Signed-off-by: Thomas Oulevey <thomas.oulevey@cern.ch> Reviewed-on: http://review.gluster.org/3847 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
* libgfxdr.so: change licenseAmar Tumballi2012-07-201-14/+5
| | | | | | | | | Change-Id: I049441e465127195c192443ab0234548d2449e50 Signed-off-by: Amar Tumballi <amarts@redhat.com> Reviewed-on: http://review.gluster.com/3704 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Bharata B Rao <bharata.rao@gmail.com> Reviewed-by: Kaleb KEITHLEY <kkeithle@redhat.com>
* remove useless if-before-free (and free-like) functionsJim Meyering2012-07-131-8/+4
| | | | | | | | | | | | See comments in http://bugzilla.redhat.com/839925 for the code to perform this change. Signed-off-by: Jim Meyering <meyering@redhat.com> BUG: 839925 Change-Id: I10e4ecff16c3749fe17c2831c516737e08a3205a Reviewed-on: http://review.gluster.com/3661 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* extras: install clear_xattrs.shNiels de Vos2012-07-121-1/+1
| | | | | | | | | | | | The script was not installed by default, this breaks building the RPM packages since Change-Id Iba695a6d19389fbc1776da5e939d67318916aadf. Change-Id: I4fb982cb5217dc7b3ec3c7a664dd3997a2e05170 BUG: 812214 Signed-off-by: Niels de Vos <ndevos@redhat.com> Reviewed-on: http://review.gluster.com/3659 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
* cluster/stripe: implement the coalesce stripe file formatBrian Foster2012-06-071-23/+473
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The coalesce file format for cluster/stripe condenses the striped files to a contiguous layout. The elimination of holes in striped files eliminates space wasted via local filesystem preallocation heuristics and significantly improves read performance. Coalesce mode is implemented with a new 'coalesce' xlator option, which is user-configurable and disabled by default. The format of newly created files is marked with a new 'stripe-coalesce' xattr. Cluster/stripe handles/preserves the format of files regardless of the current mode of operation (i.e., a volume can simultaneously consist of coalesced and non-coalesced files). Files without the stripe-coalesce attribute are assumed to have the traditional format to provide backward compatibility. extras/stripe-merge: support traditional and coalesce stripe formats Update the stripe-merge recovery tool to handle the traditional and coalesced file formats. The format of the file is detected automatically (and verified) via the stripe-coalesce attributes. BUG: 801887 Change-Id: I682f0b4e819f496ddb68c9a01c4de4688280fdf8 Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-on: http://review.gluster.com/3282 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* init.d: stop only 'glusterd' process on '/etc/init.d/glusterd stop'Amar Tumballi2012-05-181-13/+0
| | | | | | | | | | | | | | earlier it used to stop even brick processes and gluster NFS server process, which is not a expected behavior for command '/etc/init.d/glusterd stop' Change-Id: Ibc092cdf2693b3b2ae491d32ce3f0113854149c8 Signed-off-by: Amar Tumballi <amarts@redhat.com> BUG: 796998 Reviewed-on: http://review.gluster.com/2919 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>
* libglusterfs/fd: while dumping the fd_ctx use fd->xl_countRaghavendra Bhat2012-05-171-0/+64
| | | | | | | | | | | | | | | | | | | | | While dumping the fd_ctx when statedump is issued fd->xl_count should be used to determine the number of xlators instead of using latest graph's count, since while creating the fd only those many slots would have been allocated as the number of xlators in the graph at that instant. Then the graph would have changed, thus the xl count. All the above things should happen before any operation is done on fd, otherwise fd_ctx_set will allocate the extra slots for the new xlators present in the graph. Also added the program which can be used to reproduce the bug. Change-Id: I11fe75d71ef5d37e29e2958d53752aa31098c313 BUG: 820887 Signed-off-by: Raghavendra Bhat <raghavendrabhat@gluster.com> Reviewed-on: http://review.gluster.com/3335 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* extras/hook-scripts: Fixed EXTRA_DIST to explicitly list *.sh filesKrishnan Parthasarathi2012-05-031-1/+1
| | | | | | | | | | Change-Id: I48785317b42e37a6e7768c89bdb7ca8ac41220fa BUG: 806996 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/3271 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* extras: Added hook script to help in CTDB setupKrishnan Parthasarathi2012-05-022-1/+70
| | | | | | | | | | Change-Id: Ib43cd3583e791aabc8cc25fe4eea43a620f73d01 BUG: 806996 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/3188 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* glusterfs.spec: Added hook-scripts in server rpmv3.3.0qa38Krishnan Parthasarathi2012-04-232-2/+2
| | | | | | | | | | Change-Id: Idd0ed2a72ea9ec947eaf142b889730e8d4be63c1 BUG: 806996 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/3211 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* extras: Added (hook) scripts to start/stop samba on volume start and stopKrishnan Parthasarathi2012-04-192-0/+122
| | | | | | | | | | | | | These are example/helper scripts that demonstrate how one could leverage the recently added hooks interface in glusterd. The scripts are in 'beta'. Change-Id: I7aaf999f3bdfb276ef64e115a57cbdb36c7a896e BUG: 806996 Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Reviewed-on: http://review.gluster.com/3086 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vijay@gluster.com>
* Updated the Ubuntu upstart jobs for glusterd in extras/Ubuntu.Louis Zuckerman2012-03-183-24/+28
| | | | | | | | | | | | | | | | | | | | Using upstart jobs, instead of an initscript, solves Bug 765014. See also: https://bugs.launchpad.net/ubuntu/+source/glusterfs/+bug/876648 The new upstart jobs split the work of starting glusterd & mounting glusterfs volumes into two parts: a glusterd service runner and a glusterfs volume moung blocker which waits for the service runner. This is the method preferred by Ubuntu developers to block a mounting event until a required service is available. These changes will be included in the Ubuntu glusterfs-server package starting with release 12.04, Precise Pangolin. Tested on Ubuntu 12.04 Change-Id: I9bb4e8cb05a1da0997c23f2ef7fea8737f6a2eb9 BUG: 765014 Signed-off-by: Louis Zuckerman <louiszuckerman@gmail.com> Reviewed-on: http://review.gluster.com/2727 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Amar Tumballi <amarts@redhat.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com> Reviewed-by: Anand Avati <avati@redhat.com>