Skip to content

NuoDB Control Plane 2.5.0

Compare
Choose a tag to compare
@adriansuarez adriansuarez released this 18 Apr 23:48
· 18 commits to main since this release

Changelog

New features

  • The REST API GET endpoints used to list resources can now return the payload fields of the resources by specifying the expand query parameter, and paging has been added to the list APIs which is controlled by the limit and offset/cursor query parameters.
  • The initial invocation of nuodb-cp made within a Docker container is now faster due to pre-populated JIT caches in the image build.
  • The REST API GET /openapi endpoint has been added that allows the user to obtain the OpenAPI specification of the REST API.
  • To allow newer client versions to detect that the request issued is not supported by the REST service, the UNKNOWN_REQUEST API error code has been added.
  • The POST /databases/{org}/{proj}/{db}/dbaPassword endpoint has been added to allow the user to update the DBA password for a database.
  • The --restore-from-backup argument has been added to nuodb-cp database create to allow users to restore/clone a database from a backup.
  • DBaaS operators/administrators can now pin the Helm charts version based on SLA.
  • The ability to create authentication tokens with constrained access and expiration is now generally available.
    • On helm install of the nuodb-cp-rest Helm chart, the secret key used to create authentication tokens by the REST service is automatically generated unless one already exists.
    • The user can specify an authentication token when invoking nuodb-cp subcommands by using the --token argument or the NUODB_CP_TOKEN environment variable.
  • For all DBaaS resources exposed by REST API, the PUT method now returns the resource content immediately after creation or update.

Resolved issues

  • Backups with fully-qualified names longer than 63 characters could not be restored.
  • Failed attempts to restore a backup were retried indefinitely by the DBaaS controller with a small fixed delay, generating concurrent update errors when the user attempted to manually update the database configuration.
  • Some validation errors could generate unexpected response codes based on whether the error was encountered in the mutating webhook.
  • Database quotas could have inconsistent statistics if a database is rapidly created and deleted.
  • Concurrent backup requests could result in failures that would leave one of the backups permanently in a Failed state.
  • A backup requested while the DBaaS controller was not running would not be reconciled when the controller restarted.
  • Backup resources could enter a Failed state due to transient concurrent update errors that occur internally.
  • A project or database could be reported as Modifying immediately after being created.
  • A user access check is performed on the backup resource referenced in the restoreFrom field of a database before creation. This access check could fail even if the user does have access to the backup, if the backup was specified using a relative resource path.
  • Newer versions of nuodb-cp could create requests with fields unknown to older versions of the REST service, even if they were not specified by the user. This has been resolved by omitting fields that have null values.
  • It was not possible to use nuodb-cp user update to grant a user access to additional organizations. The --allow-cross-organization flag has been added to nuodb-cp user update so that additional organizations can be added to the accessRule.allow list when editing the resource.

Other changes

  • The undocumented status.conditions field of project and database resources has been removed.

Commits

  • Allow JWT token to be used in nuodb-cp
  • Remove undocumented status conditions from REST models
  • Add payload expansion and paging to list APIs
  • Allow backups with large names to be restored
  • Allow limiting database restore attempts
  • Defer some defaulting errors until validation
  • Revert immutable storageClass Helm value for archive and journal volumes
  • Expire all quota enforcement records
  • Optimize REST server start-up and update base image
  • Expose spec for running server and add UNKNOWN_REQUEST code
  • Add REST API to update DBA password
  • Retry backup hooks on failure
  • Trigger backup reconciliation on operator restart
  • Fixing various backup issues
  • Add --restore-from-backup to nuodb-cp database create
  • Fix panic when propagating Disabled status condition
  • Add PUT response payload to /cluster/* resources
  • Normalize backup before performing access check
  • Resource state enhancements
  • Remove static securityContext
  • Suppress serialization of empty labels, properties
  • Pin Helm chart latest version
  • Make JSON serialization backwards compatible
  • Allow user to be updated to add cross organization access
  • Added a configMap for mapping SLA to Helm chart version
  • Add helm support for token authentication
  • Disregard controller update errors for VolumeSnapshots
  • Return created/updated resource content for PUT requests