ChangeLog

0.4.0 - 2019-08-05

Feature enhancements:

  • RNDNXSREST-288: Submit async jobs as the token user

Bug fixes:

  • RNDNXSREST-253: Don’t automatically delete snapshots on space delete
  • RNDNXSREST-275: Errors from duplicated samba shares
  • RNDNXSREST-282: Error creating template from restricted
  • RNDNXSREST-289: Perform path exists checks as request user
  • RNDNXSREST-293: Rollback fileset unlink on delete or update fail

Feature enhancements:

  • RNDNXSREST-283: Ability to configure default space inodes

0.3.0 - 2019-05-30

Bug fixes:

  • RNDNXSREST-151: Don’t allow recursive template copy
  • RNDNXSREST-211: CIFS exposer comment update not committed to file
  • RNDNXSREST-212: sudoers file to specify what commands need to run as root
  • RNDNXSREST-224: User-friendly error messages for database constraint errors
  • RNDNXSREST-227: Handle CIFS ‘browseable’ synonym
  • RNDNXSREST-230: Error when sorting on polymorphic fields
  • RNDNXSREST-252: Error when PATCHing unchanged values
  • RNDNXSADUI-424: Don’t expand dotted ‘extras’ keys
  • RNDNXSREST-250: Correctly handle multiple includes lines in samba config files
  • RNDNXSREST-255: Ability to query GPFS snapshots by filesystem
  • erroneous nfs shares name validation error

Feature enhancement:

  • RNDNXSREST-26: Support for unique error codes
  • RNDNXSREST-82: Support for populating non-nexus filesets
  • RNDNXSREST-185: Improved pre-insert validations
  • RNDNXSREST-205: Ability to configure HTCondor deferral window
  • RNDNXSREST-213: Add X-Total-Count header to /jobs response
  • RNDNXSREST-217: Support for Exposer.spaces and Template.spaces back-references
  • RNDNXSREST-218: Support for query by embedded field
  • RNDNXSREST-219: Support for query by related object
  • RNDNXSREST-221: Support for sorting by embedded field
  • RNDNXSREST-223: Document supported ‘extras’
  • RNDNXSREST-260: Audit logging of database changes
  • RNDNXSREST-266: Support for create-only and create-update roles

Refactoring:

  • RNDNXSREST-41: Bring internal Eve-SQLAlchemy up to date with the official repo
  • Remove multi-table inheritance. Existing databases will need to be rebuilt.

0.2.3 - 2019-02-28

Bug fixes:

  • RNDNXSREST-233: Make sure templates are removed from spaces after uninstall
  • RNDNXSREST-234: More logging from template tools

0.2.2 - 2018-12-12

Bug fixes:

  • RNDNXSREST-152: Don’t create filesets in the template store
  • RNDNXSREST-197: Missing auth role support for jobs endpoints
  • RNDNXSREST-198: Can’t delete templated space if server can’t view it
  • RNDNXSREST-199: Template delete error when logging is set to INFO

0.2.1 - 2018-12-03

Bug fixes:

  • RNDNXSREST-189: Template create fails for certain ACLs
  • RNDNXSREST-190: Don’t allow deleting installed templates

Feature Enhancements:

  • RNDNXSREST-12: Support for role-based authorisation

0.2.0 - 2018-10-18

Bug fixes:

  • RNDNXSREST-136: Ignore None values is Samba share create

0.1.0 - 2018-10-09

Bug fixes:

  • Delete fileset snapshots before deleting a space
  • RNDNXSREST-25: Fix prompts in C+J responses
  • RNDNXSREST-50: Permission error during template delete
  • RNDNXSREST-54: Skip reconcile for INPROGRESS objects
  • RNDNXSREST-68: Remove existing reconcile jobs on server start up
  • RNDNXSREST-70: Prevent restarting of ‘active’ jobs
  • RNDNXSREST-84: Create profile rule for default placement pool
  • RNDNXSREST-85: Clarify logging for spaces with no fileset comment
  • RNDNXSREST-97: Remove ERRORED reconcile jobs on server restart
  • RNDNXSREST-105: Skip reconcile for objects not in state ACTIVE
  • RNDNXSREST-106: Samba parser incorrectly splits colons in field names
  • RNDNXSREST-110: Remove null resouce links
  • RNDNXSREST-119: Make Share Delete Idempotent
  • RNDNXSREST-120: Delete nfs share fails for paths with multiple client entries
  • RNDNXSREST-123: Reconcile doesn’t properly check for status changes
  • RNDNXSREST-128: Ability to unset SMB share options
  • RNDAPSCHED-10: Recurring jobs should have DEFERRED status
  • RNDAPSCHED-25: Stop deferred jobs immediately claiming a slot in HTCondor
  • RNDNXSADUI-249: Some polymorphic classes return incorrect ‘resource’ links
  • RNDNXSADUI-268: Make sure generated NFS Exposer names are unique
  • RNDNXSADUI-269: Stop reconcile deleting objects that haven’t been built yet
  • RNDNXSADUI-284: SMB share comments are being written to file
  • RNDNXSADUI-286: NFS anonuid not set correctly
  • RNDNXSADUI-298: NFS updates couldn’t handle duplicate params
  • RNDNXSADUI-310: Skip populate for invalid NFS shares
  • RNDNXSADUI-313: Couldn’t delete templates that errored during build
  • RNDNXSADUI-315: De-associate templates from spaces on template deletetion

Feature Enhancements:

  • RNDNXSREST-31: Improved functionality for populating/reconciling database from cluster
  • RNDNXSREST-38: Support for uninstalling ‘empty’ templates from a space before delete
  • RNDNXSREST-40: Support for restarting jobs
  • RNDNXSREST-46: Add uwsgi script
  • RNDNXSREST-47: Improved support for NFS and SMB shares
  • RNDNXSREST-57: Support for deferred and recurring job submission
  • RNDNXSREST-62: Support for cancelling jobs
  • RNDNXSREST-113: Add PENDING status for objects with jobs waiting to run
  • RNDNXSREST-116: Make sure HTCondor jobs respect virtual environments
  • RNDNXSADUI-301: Support for cross-filesystem template install
  • RNDNXSADUI-305: Templates copy and apply GPFS acls
  • RNDFIXSTOR-358: Trigger csync2 on share update

Refactoring:

  • Rename from development codename ‘restpit’
  • Run populate/reconcile via the job engine
  • Run populate every 5 minutes
  • Standardised job states across different job engines
  • RNDNXSREST-20: Replace numberical ids with UUID-based ids
  • RNDNXSREST-36: Move configs to APConfig
  • RNDNXSREST-39: Populate sets status of new entries to ACTIVE
  • RNDNXSREST-48: Validation errors return 422 (unprocessable entity) rather than 500 (internal server)
  • RNDNXSREST-63: Improved logging
  • RNDNXSREST-69: Jobs which complete with errors get state FAILED (rather than COMPLETED)
  • RNDNXSREST-73: Ability to configure which job engine is used (via APConfig)
  • RNDNXSREST-86: Ability to configure reconcile frequency (via APConfig)
  • RNDNXSREST-88: Supress SSL warnings from logging
  • RNDNXSREST-115: Make populate helper methods private
  • RNDNXSREST-125: Make template creation atomic
  • RNDAPSCHED-9: Job logs always return mimetype text/plain
  • RNDAPSCHED-27: Support for multi-node htcondor
  • RNDNXSADUI-221: Change Space default maxInodes:allocInodes to 20000:10000
  • RNDNXSADUI-250: Don’t set default values for smb share configs if not necessary
  • RNDNXSADUI-275: Soft-delete behaviour
  • RNDNXSADUI-301: Remove hardcoded references to ‘mmfs1’ in template tasks
  • RNDNXSADUI-311: Return most recent start time for recurring jobs
  • RNDFIXSTOR-319: NFS exposers are per-client

Incompatible changes:

  • RNDNXSREST-75: Rename template-related xattrs to remove references to development codename.
    Objects which use the old xattrs should be updated manually.
  • RNDNXSREST-113: Newly introduced PENDING state is incompatible with existing databases.
    Any existing database will need to be deleted and rebuilt from scratch

0.0.3 - 2018-03-22

Bug fixes:

  • RNDFIXSTOR-372: IndependentFileset created under wrong inode space
  • RNDFIXSTOR-376: Incorrect allocInodes set for spaces

Feature Enhancements:

  • Add logging to threadedbasic job engine - job output can be checked via /jobs endpoint
  • Create default placement rules in filesystem policy (if they don’t exist)
  • RNDFIXSTOR-324: Ability to populate the database from cluster on startup
  • RNDFIXSTOR-363: Add security to /jobs endpoint (requires token like other endpoints)

Refactoring:

  • Increase default pagination limit
  • Use APCondor for HTCondor engine, instead of custom wrapper
  • Use APAuth instead of builtin auth server
  • Use xattr to indicate what templates are installed in a space (to support populate)
  • RNDNXSREST-33: Change fileset naming convention to include target pool as prefix
  • RNDFIXSTOR-307: disable ability to change space name
  • RNDFIXSTOR-373: Don’t create default template on populate

0.0.2 - 2017-03-09

Feature Enhancements:

  • Copy Eve SQLAlchemy repo to project
  • Eve SQLAlchemy: Support for polymorphic classes
  • Make auth server return json (rather than html)
  • Support for thinly provisioned spaces (maximum size)
  • Support for HTCondor-based job engine
  • RNDNXSREST-2: Support for FilesystemTemplates
  • RNDNXSREST-8 + RNDNXSREST-22: Support for /jobs endpoint to query status of jobs in the job engine
  • RNDNXSREST-9: Basic support for NFS and SMB exposers
  • RNDNXSREST-19: Collection+JSON parser and renderer - support for sending and receiving C+J payloads
  • RNDNXSREST-21: Prevent jobs from making conflicting changes to the same resource
  • RNDNXSREST-23: Swagger docs endpoint

Refactoring:

  • Name filesets (for spaces) based on space id
  • RNDNXSREST-6: Decouple auth server

0.0.1 - 2016-07-27

  • Initial implementation