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