Thursday, July 31, 2014

GlusterFS 3.5.2 has been released!


GlusterFS 3.5.2 has been announced some minutes ago. These are the changes that have been included in this release. Known issues are documented below too.

Release Notes for GlusterFS 3.5.2

This is mostly a bugfix release. The Release Notes for 3.5.0 and 3.5.1 contain a listing of all the new features that were added and bugs fixed.

Bugs Fixed:

  • 1096020: NFS server crashes in _socket_read_vectored_request
  • 1100050: Can't write to quota enable folder
  • 1103050: nfs: reset command does not alter the result for nfs options earlier set
  • 1105891: features/gfid-access: stat on .gfid virtual directory return EINVAL
  • 1111454: creating symlinks generates errors on stripe volume
  • 1112111: Self-heal errors with "afr crawl failed for child 0 with ret -1" while performing rolling upgrade.
  • 1112348: [AFR] I/O fails when one of the replica nodes go down
  • 1112659: Fix inode leaks in gfid-access xlator
  • 1112980: NFS subdir authentication doesn't correctly handle multi-(homed,protocol,etc) network addresses
  • 1113007: nfs-utils should be installed as dependency while installing glusterfs-server
  • 1113403: Excessive logging in quotad.log of the kind 'null client'
  • 1113749: client_t clienttable cliententries are never expanded when all entries are used
  • 1113894: AFR : self-heal of few files not happening when a AWS EC2 Instance is back online after a restart
  • 1113959: Spec %post server does not wait for the old glusterd to exit
  • 1114501: Dist-geo-rep : deletion of files on master, geo-rep fails to propagate to slaves.
  • 1115369: Allow the usage of the wildcard character '*' to the options "nfs.rpc-auth-allow" and "nfs.rpc-auth-reject"
  • 1115950: glfsheal: Improve the way in which we check the presence of replica volumes
  • 1116672: Resource cleanup doesn't happen for clients on servers after disconnect
  • 1116997: mounting a volume over NFS (TCP) with MOUNT over UDP fails
  • 1117241: backport 'gluster volume status --xml' issues
  • 1120151: Glustershd memory usage too high
  • 1124728: SMB: CIFS mount fails with the latest glusterfs rpm's

Known Issues:

  • The following configuration changes are necessary for 'qemu' and 'samba vfs plugin' integration with libgfapi to work seamlessly:
    1. gluster volume set <volname> server.allow-insecure on
    2. restarting the volume is necessary
       gluster volume stop <volname>
       gluster volume start <volname>
      
    3. Edit /etc/glusterfs/glusterd.vol to contain this line:
       option rpc-auth-allow-insecure on
      
    4. restarting glusterd is necessary
       service glusterd restart
      
      More details are also documented in the Gluster Wiki on the Libgfapi with qemu libvirt page.
  • For Block Device translator based volumes open-behind translator at the client side needs to be disabled.
      gluster volume set <volname> performance.open-behind disabled
    
  • libgfapi clients calling glfs_fini before a successfull glfs_init will cause the client to hang as reported here. The workaround is NOT to call glfs_finifor error cases encountered before a successfull glfs_init.
  • If the /var/run/gluster directory does not exist enabling quota will likely fail (Bug 1117888).

Monday, July 21, 2014

Testers needed for GlusterFS 3.5.2beta1

GlusterFS 3.5.2beta1 has just been released. This is the first beta to allow users to verify the fixes for the bugs that were reported. See the bug reports below for more details on how to test and confirm the fix (or not).

This is a bugfix only release. The Release Notes for 3.5.0 and 3.5.1 contain a listing of all the new features that were added and bugs fixed.

Bugs Fixed:

  • 1096020: NFS server crashes in _socket_read_vectored_request
  • 1100050: Can't write to quota enable folder
  • 1103050: nfs: reset command does not alter the result for nfs options earlier set
  • 1105891: features/gfid-access: stat on .gfid virtual directory return EINVAL
  • 1111454: creating symlinks generates errors on stripe volume
  • 1112111: Self-heal errors with "afr crawl failed for child 0 with ret -1" while performing rolling upgrade.
  • 1112348: [AFR] I/O fails when one of the replica nodes go down
  • 1112659: Fix inode leaks in gfid-access xlator
  • 1112980: NFS subdir authentication doesn't correctly handle multi-(homed,protocol,etc) network addresses
  • 1113007: nfs-utils should be installed as dependency while installing glusterfs-server
  • 1113403: Excessive logging in quotad.log of the kind 'null client'
  • 1113749: client_t clienttable cliententries are never expanded when all entries are used
  • 1113894: AFR : self-heal of few files not happening when a AWS EC2 Instance is back online after a restart
  • 1113959: Spec %post server does not wait for the old glusterd to exit
  • 1114501: Dist-geo-rep : deletion of files on master, geo-rep fails to propagate to slaves.
  • 1115369: Allow the usage of the wildcard character '*' to the options "nfs.rpc-auth-allow" and "nfs.rpc-auth-reject"
  • 1115950: glfsheal: Improve the way in which we check the presence of replica volumes
  • 1116672: Resource cleanup doesn't happen for clients on servers after disconnect
  • 1116997: mounting a volume over NFS (TCP) with MOUNT over UDP fails
  • 1117241: backport 'gluster volume status --xml' issues
  • 1120151: Glustershd memory usage too high

Known Issues:

  • The following configuration changes are necessary for qemu and samba integration with libgfapi to work seamlessly:

    1. gluster volume set server.allow-insecure on
    2. restarting the volume is necessary

       gluster volume stop 
       gluster volume start 
      
    3. Edit /etc/glusterfs/glusterd.vol to contain this line:

       option rpc-auth-allow-insecure on
      
    4. restarting glusterd is necessary

       service glusterd restart
      

      More details are also documented in the Gluster Wiki on the Libgfapi with qemu libvirt page.

  • For Block Device translator based volumes open-behind translator at the client side needs to be disabled.

  • libgfapi clients calling glfs_fini before a successfull glfs_init will cause the client to hang as reported here. The workaround is NOT to call glfs_fini for error cases encountered before a successfull glfs_init.

  • If the /var/run/gluster directory does not exist enabling quota will likely fail (Bug 1117888).

Sunday, July 20, 2014

Change the default search engine in Epiphany, the GNOME Web application

When I'm enjoying the sun/wind/rain on the balcony, I tend to use my XO-1.75 for duties where most people would use a tablet. Reading/writing emails, browsing the internet, bug triaging or writing small fixes, release notes and all can be done fine on a small screen. My preference goes definitely towards physical keyboards, and less to their onscreen variants. Even when the keyboard is small, I like the typing on it much more than using a touchscreen for it. Of course, the space saving of not needing to display a keyboard helps too. But well, that aside...


My XO is is installed with the stock OLPC distribution, based on Fedora. Sometimes I use the Sugar desktop environment, on other days I'll switch to GNOME (Classic). With GNOME comes the Epiphany browser (recently renamed to Web). Unfortunately Epiphany uses Google as default search engine, and there is no option in the settings menu to change that. After a little DuckDuckGo'ing, I found a hint that the keyword-search-url can get set by gsettings:

$ gsettings set org.gnome.Epiphany keyword-search-url

Using the gsettings command works fine, but does not apply the option for all users on the system. I could not find a command to change the system-wide settings, which would help with automatically setting the option after a reinstall. More searching (now directly from the addressbar) suggested that I could use a special .gschema.override file. Indeed, the installation of the XO already has some of these .gschema.override files under /usr/share/glib-2.0/schemas/. Dropping the following file in the directory:

# filename: /usr/share/glib-2.0/schemas/50_use-duckduckgo.gschema.override
#
# use https://duckduckgo.com instead of Google for searches from the addressbar
#

[org.gnome.Epiphany]
keyword-search-url='https://duckduckgo.com/?q=%s'

After creating the file, it is needed to 'compile' the gschemas:

# glib-compile-schemas /usr/share/glib-2.0/schemas

Happy searching!