[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