[Gluster-devel] Glusterd2 project updates (https://github.com/gluster/glusterd2)

Aravinda avishwan at redhat.com
Mon Oct 1 06:23:52 UTC 2018


Glusterd2 is a new project for managing Gluster volumes and peers. This
project provides native REST APIs for better integration with other
projects/applications. We are aiming to make glusterd2 as default
management for providing Gluster storage in container world.

Project page: https://github.com/gluster/glusterd2

## Highlights of enhancements/bug fixes happend in last two weeks

- Disperse data and redundancy count was not available in Volinfo of a
  disperse volume. Without this data applications like
  gluster-prometheus was unable to export the right metric for sub
  volume size. Disperse data count and redundancy count added to API
  response (https://github.com/gluster/glusterd2/pull/1253)
- CLI feature to delete all snapshots is merged also improved
  capturing snapshot create time when a Gluster volume snapshot is
  created.
      - snapshot/delete: Implement snapshot delete
        all(https://github.com/gluster/glusterd2/pull/1241)
      - rename snapTime field to createAt in snapshot
        response(https://github.com/gluster/glusterd2/pull/1239)
- Improved pmap package to provide consistent port information while
  spawning the brick processes.
      - Refactor and improve pmap
        package(https://github.com/gluster/glusterd2/pull/1247)
- Removed the unnecessory log messages which were logged on every
  glusterd2 start which are related to unexported methods of sunrpc
  methods. These logs are removed now since these logs were not adding
  any value.(https://github.com/gluster/glusterd2/pull/1251)
- Improved the e2e tests by fixing couple of bug fixes and
  enhancements
      - Fix issue while doing `gofmt`
        tests(https://github.com/gluster/glusterd2/pull/1248)
      - fix issue in
        e2e(https://github.com/gluster/glusterd2/pull/1243)
      - e2e: Create separate localstatedirs for each
        test(https://github.com/gluster/glusterd2/pull/1233)
      - Fix TestWriteStatedump
        test(https://github.com/gluster/glusterd2/pull/1240)
- Volume name was optional during Volume create, which is not
  necessory when using with CSI driver() or as standalone. Volume name
  is made non-optional for better usability. Mandatory Volume name also
  helps to ignore duplicate(accidental/network failure) Volume create
  API requests(Discussed here
  
https://github.com/gluster/glusterd2/issues/919#issuecomment-401022413)
      - Make Volume name mandatory in Volume create
        request(https://github.com/gluster/glusterd2/pull/1245)
- With Glusterd2, Volumes can be created by manually specifying each
  brick or specifying size without bricks information. Many operations
  are dependent on how the bricks are provisioned, for example if
  bricks are auto provisioned then bricks needs to be mounted on node
  reboot or glusterd2 restart. Auto provision flag is added to achive
  the same(https://github.com/gluster/glusterd2/pull/1036)
- Glusterd2 can be customized by setting a few environment
  variables(for example `GD2_NOEMBED=true`). These env variables were
  not available for Glusterd2 when started using systemd. Now systemd
  unit file is enhanced to understand the configurations set via env
  variables.(https://github.com/gluster/glusterd2/pull/1230)
- Other improvement to avoid annoyance to developers by adding the IDE
  specific files to
  `.gitignore`(https://github.com/gluster/glusterd2/pull/1238)


## Upcoming features planned in next two weeks:

- Template support for Volgen. Gluster volume mounts and brick
  processes loads the xlators and respective options based on the
  provided Volfile. As of now list of Xlators and its options can be
  modified by changing the Glusterd2 code and recompiling. With this
  enhancement, list of Xlators to be loaded in generated volfile can
  be controlled by adding/removing from a template file. This feature
  provides flexibility to support different usecases without modifying
  the Glusterd2 code.(https://github.com/gluster/glusterd2/pull/1229)
- Making bricks provisioner as plugin: Currently LVM provisioner is
  used to auto provision the bricks when volume create is requested by
  specifying size without providing the bricks details. With this
  enhancement new provisioners can be added easily without affecting
  the existing ones.(https://github.com/gluster/glusterd2/pull/1256)
- Newly added bricks were not placed properly when distributed
  replicate volume was expanded. PR is sent to fix the issue
- Replace brick - Support for replace brick operation as documented
  here
  
https://github.com/gluster/glusterd2/issues/472#issuecomment-408389266
- Add Volume capacity information in Volume info - Since Volume
  capacity is static information which will not change after volume
  create unless volume is expanded. Enhancement is planned to save the
  capacity information in volinfo when auto provision volume is
  created. (https://github.com/gluster/glusterd2/pull/1193)
- Couple of PRs related to Snapshot feature are under
  review.(https://github.com/gluster/glusterd2/pull/1228,
  https://github.com/gluster/glusterd2/pull/1053)
- Tracing support for Volume and Snapshot operations
  (https://github.com/gluster/glusterd2/pull/1255 and
  https://github.com/gluster/glusterd2/pull/1149)
- Support for Volume profile - This helps users to understand and
  debug the Gluster Volume. In Glusterd, this feature is supported
  using `gluster volume profile*`
  command.(https://github.com/gluster/glusterd2/pull/962)

-- 
regards
Aravinda



More information about the Gluster-devel mailing list