######### ChangeLog ######### 0.11.0 - 2021-11-01 =================== Feature enhancements: * RNDNXSREST-566: Improved messages for common Scheduler errors Bug fixes: * RNDNXSREST-569: Make ETags stable across populate calls 0.10.0 - 2021-09-21 =================== Feature enhancement: * RNDNXSREST-558: New right for submitting ReconcileDBTask * RNDNXSREST-559: Don't write default samba masks * RNDNXSREST-563: Add examples to Open API (Swagger) docs * RNDNXSADUI-307: Support for submitting ReconcileDBTask to schedulers Bug fixes: * RNDNXSREST-557: Disable support for bi-directional BoxSync Replicas * RNDNXSREST-564: Missing sudoers permission for mmchfileset 0.9.0 - 2021-07-30 ================== Feature enhancements: * RNDBOXSYNC-118: Update path for pix2rclone command 0.8.0 - 2021-07-13 ================== Bug fixes: * RNDNXSREST-380: ETag calculation references irrelevant fields * RNDNXSREST-479: Don't write empty string values to samba config * RNDNXSREST-546: Handle missing profile gracefully Feature enhancements: * RNDNXSREST-294: Support for changing space inode limits 0.7.0 - 2021-05-14 ================== Bug fixes: * RNDNXSREST-493: Set usage to null when quotas are unset * RNDNXSREST-495: Limit which users need sudoers for mmlscluster * RNDNXSREST-497: Delete error if provider was already deleted * RNDNXSREST-506: Update doc examples to use UUIDs * RNDNXSREST-507: Fix errors in the walkthrough docs * RNDNXSREST-510: SQL error from bidirectional replica delete * RNDNXSREST-519: Don't allow deleting space with replicas * RNDNXSREST-520: Try to cleanup BoxSync DB on replica delete * RNDNXSREST-521: Don't allow multiple replicas in the same direction to the same space * RNDNXSREST-522: Handle when rclone replica initial snapshot exists * RNDNXSREST-523: Set status to PENDING after first bidirectional replica delete * RNDNXSREST-524: Don't return box provider template if BoxSync isn't enabled Feature enhancements: * RNDNXSREST-461: Add providers to object model * RNDNXSREST-461: Add support for box.com oAuth2 flow * RNDNXSREST-462: Add replicas to object model * RNDNXSREST-463: Populate providers and replicas * RNDNXSREST-465: Tasks for enacting provider changes * RNDNXSREST-465: Tasks for enacting replica changes * RNDNXSREST-490: Improve user-facing logging * RNDNXSREST-493: Set usage to null when quotas are unset 0.6.0 - 2021-03-05 ================== Updated EULA Bug fixes: * RNDNXSREST-130: Skip filesystems with no default placement policy * RNDNXSREST-406: Prevent recursive include in pixmanaged samba shares * RNDNXSREST-443: Set item status to ERRORED if job fails to submit * RNDNXSREST-449: Can't delete non-pixmanaged shares Feature enhancement: * RNDNXSREST-285: Ability to set a max size for templates * RNDNXSREST-352: Improve adminctl populate logging * RNDNXSREST-367: Support for allowing shares with invalid paths * RNDNXSREST-431: Ability to check if policy rules need to be installed * RNDNXSREST-453: Report space quota usage * RNDNXSREST-454: Support for setting size (quota) on dependent fileset spaces * RNDNXSREST-457: Support for reconciling non-ACTIVE database entries Refactoring: * RNDNXSREST-455: Update to use rights instead of roles 0.5.0 - 2020-09-25 ================== * RNDNXSREST-360: Rebrand as PixStor Management Refactoring: * RNDNXSREST-321: Rewrite samba config handling * RNDNXSREST-328: Bring Eve-SQLAlchemy up to date with official version 0.7.1 * RNDNXSREST-329: File security moved to apcore-utils * RNDNXSREST-353: move populate from REST server start-up to 'adminctl populate' Bug fixes: * RNDNXSREST-324: Server won't start if a data pool has no available disks * RNDNXSREST-381: Improve share mismatch error message * RNDNXSREST-383: 502 error on CIFS exposer creation * RNDNXSREST-385: Erroneous NFS share mismatch error Feature enhancements: * RNDNXSREST-365: Ability to auto-convert system shares to pixmanaged on modification * RNDNXSREST-386: Add locking to adminctl populate now 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.3 - 2020-02-14 ================== Bug fixes: * RNDNXSREST-254: Fix logic for when to create default placement rules * RNDNXSREST-347: Space update shouldn't relink path when path hasn't changed 0.3.2 - 2020-02-10 ================== Feature Enhancements: * RNDNXSREST-346: OpenAPI (Swagger) config for the REST API 0.3.1 - 2019-11-28 ================== Bug fixes: * RNDNXSREST-338: Numerical names cause validation errors 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