Commit Graph

8 Commits

Author SHA1 Message Date
hlub
1494c44918 Refactored GlusterFS support
Usage of GlusterFS states did not change except the state 'created' was deprecated in favor of more descriptive name 'volume_present'.
- Improved separation of functionality in the execution module from the states. Module functions now return booleans instead of varying
strings. Parsing those strings in the states was very error-prone. In glusterfs.peer() function this problem was earlier solved by returning
a dict containing both the exit value and output string of the gluster call. This could be a good idea, although without calling the gluster
calls twice, and applied to other functios too.
- Calls to gluster are now logged more verbosely, while a failing call no longer raises an immediate exception.
- Improved checking and verbosity in the state level. Cleaned code a lot, removed some bugs and other odd behaviour.
- Updated tests to match the changes. Refactored some test code to be more readable. Added assertions to test that some functions are not
called when things are already in the desired state. Preferred changing behaviour of the mocked functions while proceeding instead of listing
all of the return values first.
- Replaced glusterfs.list_peers() with more informative peer_status() and deprecated the old name. The function now returns a dict with UUIDs as its keys.
- glusterfs.info() can now be called without volume name. It always returns a dictionary. Use this function instead of status() in sates.
- Functions glusterfs.delete() and glusterfs.create() were deprecated and renamed to delete_volume() and create_volume().
2016-02-25 10:46:43 -07:00
Joe Julian
783e9b2e13 Rework tests and fix reverse peering with gluster 3.7
Reworked the test structure design for the gluster module and state so I
could create a test that mimiced the behavior difference between 3.7 and
prior versions when reverse probing by ip a server that already exists.

Added the additional data given by gluster 3.7 to the output of
glusterfs.list_peers to allow us to compare a requested peering against
a host's aliases.

Fixes #30932
2016-02-17 13:10:07 -08:00
Nick Young
730b5ef3e2 Update tests to cover new peering return val. 2016-02-09 10:58:44 +11:00
Joe Julian
01a8e7ee10 Convert glusterfs module to use xml
The gluster cli has the option to produce xml output from most every
command, and to avoid pausing for questions when being run in script
mode. Make use of that capability and avoid scraping text output that is
often subject to change between versions.

This should help future-proof this module as any changes to the xml
output should be automatically integrated.

As part of this change, I added a glusterfs.info function and added the
force keywords to volume start and volume stop.

Fixes #30051
2016-01-04 09:47:59 -08:00
Mike Place
3b0033e529 Lint #29288 2015-12-03 11:02:49 -07:00
Justin Findlay
4d6c71aa80 modules.glusterfs: fix start_volume unit test 2015-12-01 10:53:32 -07:00
Pedro Algarvio
95ef4fd9a1 Py3 compatibility 2015-01-30 22:27:15 +00:00
Jayesh Kariya
1718a96d3b adding glusterfs unit test case 2015-01-28 11:30:47 +05:30