Skip to content

Releases: libopenstorage/stork

Release Stork v2.3.2

07 Jan 07:49

Choose a tag to compare

Improvements

  • Added purgeDeletedResources option to the Migration spec, allowing resources that have been deleted on the source cluster to be purged from the destination cluster. This is disabled by default (#522)
  • Portworx: Added support for in-place cloudsnap restores. Supported with Portworx Enterprise v2.3.2 onwards (#505)

Bug Fixes

  • A failure during snapshot object creation can no longer lead to a stuck GroupVolumeSnapshot (#494)
  • Updated base container and packages to fix vulnerabilities detected by CVEs (#503)
  • Fixes for storkctl (#504):
    • Added the missing backupName param when creating ApplicationRestore objects
    • Added the replacePolicy param when creating ApplicationClone and ApplicationRestore objects
    • Fixed an alias clash for the VolumeSnapshotRestore and ApplicationRestore objects

Docker Hub Image: openstorage/stork:2.3.2

Release Stork v2.3.1

10 Oct 00:11

Choose a tag to compare

Improvements

  • Optimized some operations for migration and migrationschedule to reduce Kubernetes API calls (#483)
  • Added checks when collecting the following resources for migration and backup (#488)
    • Secrets: Ignore auto-created secrets with well-known prefix names
    • ServiceAccounts: Ignore auto-created service accounts unless they have non-default image pull secrets configured
    • Ingress: Only collect namespace-scoped objects
    • Role/RoleBinding: Ignore auto-created objects starting with "system:"

Bug Fixes

  • Auto-created resources no longer risk getting stuck when being applied during migration (#488)

Docker Hub Image: openstorage/stork:2.3.1

Release Stork v2.3.0

02 Oct 01:26

Choose a tag to compare

New Features

  • Added the VolumeSnapshotRestore CRD, which performs snapshot restores in-place
    • This CRD can restore both regular volume snapshots and group volume snapshots
    • You can find instructions here (#353)
  • Added support for backing-up and restoring applications (#372)
    • Backup and restore operations trigger for the volume first, followed by the Kubernetes resources
    • A BackupLocation CRD specifies the location of the backup
    • An ApplicationRestore object must refer to an ApplicationBackup that it wants to restore from
    • You can configure an ApplicationBackupSchedule object to perform periodic backups (#379)
    • Backups sync from a BackupLocation if not already present on the cluster and if the sync option is set to true in the BackupLocation
    • You can find instructions here
  • Added support to clone applications between namespaces (#373)
    • You can only create ApplicationClone objects in the admin namespace
    • ClusterRole is not copied since it is a cluster scoped object
    • ClusterRoleBinding is merged to have the same binding for both namespaces
    • You can find instructions here
  • Added new storkctl commands for the new CRDs

Improvements

  • Added events for pods in case of scheduling failure from the extender (#338)
  • Added adminClusterPair field in the Migration spec. You can use this to specify a cluster pair from the admin namespace which can be used to migrate cluster scoped resources (#361)
  • Added validation for name and namespace in the clusterpair generated with storkctl generate clusterpair (#422)
  • The migration-admin-namespace parameter for stork has been deprecated. Please use admin-namespace instead. This can be used to specify the admin namespace for Migration as well as the namespace where ApplicationClones can be created (#485)
  • The ImagePullSecrets field in the default ServiceAccount will now be migrated (#460)
  • Portworx
    • Added support for all operations for PVCs created with CSI driver (#366)
    • Add idempotency to local snapshot calls to handle crashes while a snapshot is being taken (#380)

Bug Fixes

  • Fixed an issue in the health monitor by ignoring duplicate node IPs which would cause pods to be deleted from nodes where storage was online (#448)
  • The kube apiserver sometimes returns Unauthorized when running on the cloud if there are temporary auth errors. Migration now retries on Unauthorized errors (#478)
  • Default RBAC objects are now skipped during migration. This fixes issues where migration would attempt to delete and re-create cluster-admin clusterrole on the destination (#478)
  • Fixed an issue that occurred during migration when an application didn't have annotations. This issue caused failures when trying to add the replica count as an annotation (#467)

Docker Hub Image: openstorage/stork:2.3.0

Release Stork v2.2.5

30 Aug 17:14

Choose a tag to compare

Improvements:

  • Users can now set the annotation stork.libopenstorage.org/preferLocalNodeOnly to true on their pods if they want pods to be scheduled only on nodes where data is located (#414)
  • Added support to migrate the following additional resources:

Bug Fixes

  • Ignore errors when updating DeploymentConfig using storkctl activate/deactivate migrations if the type isn't registered (#395)
  • Fixed issue with failing scheduled snapshots if the snapshot schedule name was longer than 64 characters (#415)
  • Fixed an issue where Portworx driver would attempt to make API calls to a non-existing portworx service port (#407)

Docker Hub Image: openstorage/stork:2.2.5

Release Stork v2.2.4

30 May 08:20

Choose a tag to compare

Enhancements

  • Added a new status SyncStatusUnknown for ClusterDomains (#396)
  • Migrations will be marked as Failed if the local cluster domain is inactive (#397)
  • Updated migration behavior for PVs (#397)
    • Setting reclaim policy to Retain if volumes aren't being migrated
    • Updating PV if it already exists instead of deleting and creating

Bug Fixes

  • Portworx: Changed the GetClusterDomains API to not return an error when it fails to fetch the volume list (#396)

Docker Hub Image: openstorage/stork:2.2.4

Release Stork v2.2.3

28 May 16:19

Choose a tag to compare

Improvements

  • Optimized migrations for clusterrole and clusterrolebindings (#381)
    • For clusterrolebindings using the object that we are iterating over
    • For clusterrole, getting a list of clusterrolebindings initially and using that to check if migration
      is required
  • Skipping migration of deployer and builder service accounts which are automatically created
    on OCP (#381)
  • Added some default schedule policies (#385)
    • default-migration-policy: Triggers after every minute
    • default-interval-policy: Triggers after every hour. Retains last 10
    • default-daily-policy: Triggers every day at 12:00am. Retains last 7
    • default-weekly-policy: Triggers every Sunday@12:00am. Retains last 4
    • default-monthly-policy: Triggers every 15th day of the month at 12:00am. Retains last 12.
  • storkctl now prints N/A in the migration status when volumes or resources are not being migrated (#387)
  • Updated the default admin namespace to kube-system (#386)
  • Added wait option (-w / --watch) to storkcktl command to activate clusterdomain (#384)
  • Added wait option (-w / --watch) to storkcktl command to create migrations (#391)
  • Added SyncStatus to the ClusterDomainsStatus CRD indicating whether a cluster domain is in sync with other cluster domains. The status will also be displayed when checking the status with storkctl (#389)
  • Added suspend and resume subcommands to storkctl for schedule objects (#390)
  • Migration schedules will now be suspended if the local domain is inactive (#382)
  • Updated storkctl to print local cluster domain (#382)

Bug Fixes

  • Fixed comparing cluster domains to see if an update is required in the status (#368)
  • Fixed schedules not getting triggered if the current time is exactly at next trigger time (#371)
  • Added missing activation for DeploymentConfig in storkctl activate migrations subcommand (#375)

Docker hub image: openstorage/stork:2.2.3

Release Stork v2.2.2

15 May 17:18

Choose a tag to compare

Improvements

  • Added support to migrate the following additional OCP resources (#355)
    • DeploymentConfig
    • ImageStream
    • Route

Container Image Updates

  • Updated google cloud sdk to 243.0.0 (#351)
  • Switched to python3 from python2.7 (#351)
  • Upgraded some python libraries (#351)

Bug Fixes

  • Portworx: Fixed memory leak when grpc endpoint was incorrect (#367)

Docker hub image: openstorage/stork:2.2.2

Release Stork v2.2.1

23 Apr 22:07

Choose a tag to compare

Updates

  • Removed google cloud sdk test directories from the container (#349)

Docker hub image: openstorage/stork:2.2.1

Release Stork v2.2.0

18 Apr 23:05

Choose a tag to compare

New Features

  • Added CRD to configure SchedulePolicies (#250)
    • Cluster scoped objects that can be used in Schedule objects
    • Added storkctl subcommands for schedulepolicy
  • Added support for scheduling Migrations (#252)
    • A new CRD (MigrationSchedule) has been defined which can be used to run Migrations according to the specified SchedulePolicy
    • Added storkctl subcommands for migrationshotschedule
  • Added support for scheduling VolumeSnapshots (#289)
    • A new CRD (VolumeSnapshotSchedule) has been defined which can be used to run VolumeSnapshots according to the specified SchedulePolicy
    • Added storkctl subcommands for volumesnapshotschedule
    • Snapshot schedules can be created automatically on PVC creation by specifying options in the storageclass
    • Examples in #289
  • Added support to check and update ClusterDomains (#294)
    • Two new cluster scoped CRDs have been defined
    • ClusterDomainsStatus reports the currently active and inactive domains from the storage driver.
    • ClusterDomainUpdate can be used to update the active and inactive domains
    • Added storkctl subcommands for clusterdomainsstatus and clusterdomainupdate
    • Examples in #294

Improvements

  • Added support to run Pre/Post Exec rules during Migration (#238)
    • They can be specified using preExec and postExec fields in the Migration spec
  • Added support to specify label selectors during Migration (#272)
    • key: value pairs can be specified using the selectors field to select specific resources to migrate
    • Helpful when you want to migrate only certain apps from a namespace
  • Added support to migrate the following additional resources (#313)
    • DaemonSets
    • ServiceAccounts (except default)
    • ClusterRoles (if used in the namespace)
    • ClusterRoleBindings (if used in the namespace)
  • Added option to skip pairing of storage when creating ClusterPair (#249)
    • If no storage options are provided only the schedule will be paired
    • This is useful when you have one storage fabric between multiple Kubernetes clusters and only want to migrate resources
  • The restore namespace for VolumeGroupSnapshots can now be updated after it was created (#263)
    • This propagates the annotation to all the children snapshots
  • Portworx:
    • Added support for authentication for APIs (#324)
    • Added Mode for ClusterPair. Valid options are Default and DisasterRecovery (#327)

Bug Fixes

  • Portworx
    • Fixed handling for canceled migrations (#316)
    • Removed compatibility version check for decommissioned nodes (#327)

Docker hub image: openstorage/stork:2.2.0

Release Stork v2.1.2

03 Apr 01:52

Choose a tag to compare

Improvements

  • Portworx: Ability to read service and namespace from environment variables (#307)
    • Service name can be passed in with PX_SERVICE (defaults to portworx-service)
    • Namespace can be passed in with PX_NAMESPACE (defaults to kube-system)