ChangeLog

0.10 - 2018-11-22

Bug fixes:

  • RNDGPA-336: Get version leaks file handles
  • RNDGPA-338: Directly attached NSDs are missing from the Nsds collection
  • RNDGPA-339: ValueError for afmNeedsResync and afmNeedsRecovery on AFM filesets
  • RNDGPA-341: AttrDict doesn’t support keys containing digits

Feature enhancements:

  • RNDGPA-333: Support for GPFS 5.0.2
  • RNDGPA-340: Handling for local cache nsds

0.9 - 2018-08-28

Bug fixes:

  • RNDGPA-283: Incorrect default allocInodes in Fileset.create
  • RNDGPA-284: DependentFileset incorrectly accepts an inodeSpace paramter (now removed)
  • RNDGPA-295: APDupes: error for some combinations of target paths
  • RNDGPA-298: Error writing policies with target pool named “<x>_pool”
  • RNDGPA-323: File follows directory symlinks for some attributes
  • RNDGPA-324: Fileset parentId isn’t updated on link/unlink
  • RNDGPA-325: XAttr membership testing doesn’t behaviour as expected
  • RNDGPA-327: Snapshot.created accuracy

Feature Enhancement:

  • Support for GPFS 5.0.1
  • Add snapDir property to IndependentFileset
  • APStats: support for specifying policy options
  • RNDGPA-152 + RNDGPA-222: Improve logging of errors during policy execution
  • RNDGPA-182: Support for snmp_collector and perfmon node designations
  • RNDGPA-259: Report snapdir-related setting
  • RNDGPA-261: Support for config settings on Nodeclass
  • RNDGPA-265: Support for size limit and threshold class in list processing rules
  • RNDGPA-277: Support for mmlspool, including faster pools size lookup (in place of mmdf, where possible)
  • RNDGPA-285: Support for light-weight events added since GPFS 4.2.3
  • RNDGPA-296: APDupes: support for specifying policy options
  • RNDGPA-301: Support for per-file evict on CacheFileset
  • RNDGPA-304: Ability to delete snapshots on designated nodes
  • RNDGPA-307: Support for filesystem attributes added since GPFS 4.2.1
  • RNDGPA-311: Support for restripe options added since GPFS 4.2.1
  • RNDGPA-318: Support for new configs added since GPFS 4.2.1

Refactoring:

  • RNDGPA-279: Optimised filesystems lookup
  • RNDGPA-313: Use GPFSCLib for speed-ups (where available; may need to run as root to see the speed-ups)
  • RNDGPA-316: SnapDiff: get used inodes from quota (where possible; used to optimise iscanBuckets)
  • RNDGPA-320: Fast lookup of file ‘policy’ properties without policy scan

Incompatible changes:

  • RNDGPA-290: APStats: complete rewrite for better speed and memory use. Some commandline options have changed.
  • RNDGPA-291: APStats: add fileset and kb_allocated fields. May require changes to logstash config.

0.8.7 - 2018-03-19

Bug fixes:

  • Compatibility fixes for ArcaPix CLib API
  • RNDGPA-276: Snapdiff requires quota management enabled
  • RNDGPA-280: policy list parse error
  • RNDGPA-282: xattr key containing dot

Feature Enhancement:

  • RNDGPA-163: DMAPI XAttr support

0.8.6 - 2017-11-29

Feature enhancements:

  • Optimised C code for snapdiff (all platforms)
  • Support for GPFS v5
  • Support for concurrent install with other ArcaPix API’s

Incompatible changes:

  • RNDGPA-249: filesystem.suppressAtime now returns string instead of boolean

0.8.5 - 2017-11-01 (x86 only)

Bug fixes:

  • RNDGPA-234: Fixed UID/GID lookup for SSSD with APStats
  • RNDGPA-235: Free disks aren’t picked up by Nsds collection
  • RNDGPA-239: Error for parentId of deleted fileset
  • RNDGPA-240: Missing policy work files

Feature enhancements:

  • RNDGPA-229: Support for snapshot size info
  • RNDAPSYNC-68: Replace namedtuples with standard tuples for faster snapdiff
  • RNDAPSYNC-71: Optimised policy defaults for snapdiff
  • Cached snapdiff for faster diff when used with snapshot rotation
  • Optimised C code for snapdiff (x86)

0.8.4 - 2017-07-07

Bug fixes:

  • RNDGPA-221: Fixed an issue whereby PolicyDriver incorrectly dropping privileges caused permission issues

Feature enhancements:

  • RNDGPA-217: Enumeration of Cluster() etc. can now occur when the node is in state ‘down’
  • RNDGPA-218: Improved performance when loading large numbers of NSDs

0.8.3 - 2017-03-23

Bug fixes:

  • Error when using snapdiff exclude with filesets
  • apsync-50: Directory names ending with spaces are missed by snapdiff
  • trac-206: XAttr error for filenames containing spaces
  • trac-208: Policy summary parsing when comma is used as decimal separator

Feature enhancements:

  • trac-150: manpage for snapdiff prog
  • trac-206: Improved support thoughout API for filenames containing spaces
  • trac-210: Support for –exclude flag in snapdiff prog

0.8.2 - 2017-03-06

Bug fixes:

  • trac-184: Prevent non-independent filesets in SnapDiff
  • trac-188: Improve SnapDiff memory usage
  • trac-193: Cluster manager FQDN issues
  • trac-195: Nodeclasses with missing allMembers field
  • trac-201: Quota error for blockUsage property
  • Callback IP resolution issue
  • Nodeclass system member classes issue

Feature enhancements:

  • SnapDiff enhancements for APSync 4.0.2
  • Support for GPFS 4.2.2 and 4.2.3
  • trac-198: Inode and space reporting of Filesystem, Pool and Nsd

Incompatible changes:

  • apsync issue 37: fileset.path now returns string instead of unicode

0.8.1 - 2016-12-19

Bug fixes:

  • trac-164: Prevent repr from triggering lazyload cascade
  • trac-171: Saving empty placement policy raises confusing error
  • trac-173: ManagementPolicy destination path issue
  • trac-174: cloudpickle import error in setup.py
  • trac-175: Error in getVersion for GPFS efix versions
  • trac-179: Get node IP from mmlscluster rather than socket

0.8.0.4 - 2016-11-28

Bug fixes:

  • trac-165: Issue with fully qualified domain names not recognised by GPFS

0.8.0.2 - 2016-11-10

Bug fixes:

  • trac-154: Snapshots not listed on root fileset object
  • trac-158: Issue resolving local node hostname on some systems
  • trac-162: Issue with fully qualified domain names in nodeclasses

Feature enhancements:

  • trac-155: Support for ESCAPE clause with list processing
  • trac-160: GPFS Express returns an empty Filesets collection rather than erroring
  • trac-161: Convenience methods for looking up types of disks in a pool

0.8.0 - 2016-10-04

Bug fixes:

  • trac-122: Quotas not listed on root fileset object
  • trac-137: Quorum reporting when a node is down
  • trac-142: Error in File when path contains spaces

Feature enhancements:

  • Support for AFM Control
  • More AFM attributes on CacheFileset
  • Support for Cluster and Node Configuration
  • Support for Add / Delete Nodes
  • trac-140: Improve Rule documentation

Refactoring:

  • Lazyloading

Incompatible changes:

  • Node __init__() args updated
  • Changes to Node init signature
  • trac-146: Change type of Snapshot.id to int

0.7.0.2 - 2016-08-19

Bug fixes:

  • trac-138: Only enumerate all_local filesystems by default

0.7.0.1 - 2016-08-04

Bug fixes:

  • trac-102: Fileset maxInode and allocInode return long, rather than str
  • trac-66: Filesystem mount/unmount inconsistent between GPFS and API

Feature enhancements:

  • Support for Disks and NSDs (read-only)
  • Support for File Attributes
  • Support for Quality of Service (QoS) (GPFS 4.2+ only)
  • Support for Filesystem and Disk suspend/resume
  • Support for Filesystem, Pool, and File restriping
  • Support for system callback look-up
  • Support for snapshot directory look-up and modification
  • Adds Snapshot.location property, to find the path to where a snapshot resides
  • Adds ‘dry run’ functionality

Refactoring:

  • trac-110: List Processing and Callbacks no longer run as root for non-root users

Incompatible changes:

  • Changed Attribute names:

    • Fileset.filesetID > filesetId
    • Node.admin_interface > adminInterface
    • Node.quorum_candidate > quorumCandidate
    • Node.node_number > nodeNumber
    • Nodeclass.nodeClassType > nodeclassType
    • Nodes.tieBreakDisks > tiebreakerDisks
  • Changed return type:

    • Filesystem.mountedOn() > dict of Node
    • Nodeclass.memberNodes > dict of Node
    • Nodeclass.allMemberNodes > dict of Node
    • Nodeclass.memberClasses > dict of Nodeclass
    • Rules.macros > dict of Rule
    • Rules.comments > dict of Rule

0.6.2 - 2016-05-05

Bug fixes:

  • trac-94: list processing does not return full PATH_NAME if it contains whitespace
  • trac-95: node load fails when a node is unavailable

Refactoring:

  • List processing optimisations
  • trac-90: Replace ‘cloud’ library with ‘cloudpickle’

0.6.1 - 2016-04-13

Bug fixes:

  • Improved list processing performance

Feature enhancements:

  • Support for basic and advanced Callbacks
  • Support for basic AFM
  • Support for Manager Node manipulation
  • Added API usage example scripts

Refactoring:

  • Dependent Filesets can be created in the inode space of an Independent Fileset

0.5 - 2016-02-09

Bug fixes:

  • No noteable fixes

Feature enhancements:

  • Support for Advanced Policies including Map Reduce methods and Group Pools
  • Light Weight Events

0.4 - 2016-01-22

Bug fixes:

  • The API now loads representations of clusters with nodes in an unknown state

Feature enhancements:

  • Support for Licenses
  • Support for Nodeclasses
  • Support for Policies

Incompatible changes:

  • Removed CNFS support temporarily from node()

0.3 - 2015-11-18

Bug fixes:

  • Bug fix in snapshot creation

Feature Enhancements:

  • Support for Quotas (excluding default Quota)
  • CCR support
  • Support for all 4.x versions up to 4.2

Refactoring:

  • Moved from Node to Nodes.minQuorumNodes and Nodes.tieBreakDisks which are not per-node attributes
  • Return values now typed appropriately for all properties i.e. values which are numeric are returned as 0 rather than “0”
  • Various internal restructuring to improve resiliency.

Incompatible changes:

  • Deprecated access to specific convenience method on filesets collection filesets.valuesActive() in favour of filesets.active().values(). Added similar methods for independent and dependent filesets.

0.2 - 2015-07-01

  • Initial BETA release