Release Stork v2.6.4
New Features
- Added storkctl command to create bidirectional cluster-pair on source and destination cluster. (#787)
storkctl create clusterpair testpair -n kube-system --src-kube-file <src-kubeconfig> --dest-kube-file <dest-kubeconfig> --src-ip <src_ip> --destip <dest_ip> --src-token <src_token> --dest-token <dest_token>
ClusterPair testpair created successfully on source cluster
ClusterPair testpair created successfully on destination cluster
- Added NamespacedSchedulePolicy which can be used in all the Schedule objects. All the schedules will try to find a policy in the namespace first. If it doesn't exist it'll try to use the cluster scoped policy (#832 )
- Added support for doing custom resource selection per namespace when backing up multiple namespaces as a part of single ApplicationBackup. (#848)
- Added support for backup and migration of MongoDB Community CRs. (#856)
Improvements
- Do not fail application backups when the storage provider returns a busy error code, instead backoff and retry the operation after sometime. (#847 )
- Added support for backing up NetworkPolicy and PodDisruptionBudget objects (#841 )
- While applying the ServiceAccount resources as a part of ApplicationResource or Migrations merge the annotations from the source and destination. (#844) (#858)
- Use annotation
stork.libopenstorage.org/skipSchedulerScoring
on the PVCs whose replicas should not be considered while scoring nodes in stork scheduler. (#846) - ApplicationClone now set
ports
field of service to nil/empty before cloning to destination namespace. (#870) - Create a ConfigMap with details about the current working stork version. (#855)
- Add an option
skipServiceUpdate
to skip updating service objects during ApplicationBackups. (#844)
Bug Fixes
-
Issue: During migrations, if the size of a PVC on the source cluster got changed it did not get reflected on the corresponding PVC on the target cluster.
User Impact: Target PVCs showed incorrect size even if the backing volume had the updated size.
Resolution: In every migration cycle, the PVC on the target cluster will get updated. (#835) -
Issue: When using static IPs in Kubernetes service objects, after migration stork would clear out the IP field from the service object.
User Impact: On ApplicationBackup/Restore of service objects that use static IPs, on restore the service objects would loose the IP.
Resolution: ApplicationBackup CR now has a new boolean fieldskipServiceUpdate
that can be used to instruct stork to skip any Kubernetes service object processing. If set totrue
, stork will migrate the service resource as-is to the target cluster. (#844 ) -
Issue: ApplicationClones were failing if the target namespace already exists.
User Impact: ApplicationClones would fail when the target namespaces where the applications need to be cloned already exists. (#834)
Resolution: Ignore the AlreadyExists error when checking target namespaces instead of marking the ApplicationClone failed. (#834 ) -
Issue: Stork webhook controller would not work since the associated certificate did not have a valid SAN set.
User Impact: With stork webhook enabled, stork would not automatically set theschedulerName
on pods using stork supported storage driver PVCs.
Resolution: Stork now creates a valid cert and it will also update the certs that were already created. Kubernetes API server will recognize the stork webhook controller's cert as valid and forward the webhook requests.(#859 ) -
Issue:
storkctl activate
command would panic with the following errorcannot deep copy int32
User Impact: storkctl activate would fail to failover the applications on a target cluster.
Resolution:storkctl activate
command now uses the right replica field value while activating migrations. (#862)