Skip to content

Latest commit

 

History

History
331 lines (288 loc) · 17.8 KB

CHANGELOG.md

File metadata and controls

331 lines (288 loc) · 17.8 KB

Change Log

0.21.0 (2024/05/06 16:55 +00:00)

  • Prevent gRRPC's BackupStatus from canceling pending futures (#745) (@rzvoncek)
  • Fix to enable the creation of backups when a backup name is not provided (#758) (@VenkataNaladala94)
  • Add bin/medusa-wrapper to package's installed scripts (#738) (@rzvoncek)
  • Bump aiohttp from 3.9.2 to 3.9.4 (#750) (@dependabot)
  • Bump dnspython from 2.4.2 to 2.6.1 (#748) (@dependabot)
  • Restart the Medusa container when the config is updated (#731) (@rzvoncek)
  • Bump idna from 3.6 to 3.7 (#747) (@dependabot)
  • Add a retry annotation to list_blobs (#744) (@rzvoncek)

0.20.1 (2024/04/01 16:55 +00:00)

  • Fix CI to pre-install Poetry when publishing to pipy (#733) (@rzvoncek)

0.20.0 (2024/04/01 12:55 +00:00)

  • Bump wheel from 0.32.3 to 0.38.1 (#726) (@dependabot)
  • Bump cryptography from 42.0.2 to 42.0.4 (#727) (@dependabot)
  • Change is_open function's log level messages from error to debug. (#722) (@philipfischbacher)
  • Re-upload files if they are missing in storage (#716) (@rzvoncek)
  • Fix GetBackupStatus endpoint on a fresh gRPC server (#730) (@rzvoncek)
  • Update GRPC_HEALTH_PROBE_VERSION to version 0.4.25 (#724) (@AlexsandroRotundo)
  • Update dependecies to resolve security vulnerabilities (#717) (@rzvoncek)
  • Make grpc's AsynBackup truly Async (#720) (@rzvoncek)
  • Switch to Poetry for dependency and build management (#679) (@rzvoncek)

0.19.1 (2024/02/24 12:19 +00:00)

  • Disable verification of server TLS certificates for mgmt-api (#715) (@burmanm)

0.19.0 (2024/02/21 16:50 +00:00)

  • Add mtls to mgmt api connection (#714) (@burmanm)

0.18.0 (2024/02/14 16:50 +00:00)

  • Bump cryptography, pyOpenSSL and requests versions (#711) (@rzvoncek)
  • Drop Python 3.7 support (#711) (@rzvoncek)

0.17.2 (2024/01/30 26:00 +00:00)

  • [Storage] Make Azure Storage use big upload chunks by default (#708) (@rzvoncek)
  • Prevent recursive DSE snapshots (#704) (@rzvoncek)

0.17.1 (2024/01/11 16:00 +00:00)

  • Allow enabling/disabling SSL certificate verification (#701) (@rzvoncek)
  • Support AWS IAM roles as authentication method (#691) (@JBOClara)

0.17.0 (2023/12/19 18:23 +00:00)

  • Support backups of DSE with Search (#693) (@rzvoncek)
  • Expose sum of backup object count and size via gRPC methods (#686) (@rzvoncek)
  • Make gRPC Service's BackupStatus return a node backup (#681) (@rzvoncek)
  • [gRPC] Add GetBackup() endpoint (#684) (@rzvoncek)
  • [Azure Storage] Honor host/port from config (#685) (@rzvoncek)
  • Pin click-aliases dependency (#678) (@rzvoncek)
  • [S3 Storage] Use boto's connection pool so transfers are trully parallel (#675) (@rzvoncek)
  • Add gRPC config values to configure max send and max receive sizes (#674) (@burmanm)

0.16.3 (2023/10/25 08:40 +00:00)

  • [Local Storage] Prevent OOM errors by processing files by chunks (#671) (@rzvoncek)
  • Add check for free space before downloading a backup (#663 (@rzvoncek)
  • [gRPC] Fix how we read the missing nodes in the gRPC server (#662) (@rzvoncek)

0.16.2 (2023/10/02 08:40 +00:00)

  • [Storage] Paginate listing objects where needed (#658) (@rzvoncek)

0.16.1 (2023/09/20 05:40 +00:00)

  • re-enable docker push on releases (@adejanovski)

0.16.0 (2023/09/19 19:50 +00:00)

  • [S3 Storage] Obey throughput limit configuration (#647) (@rzvoncek)
  • Upgrade docker image to ubuntu 22.04 (#643) (@adejanovski)
  • [Storage] Consolidate storage implementations + drop libcloud dependency (#640) (@rzvoncek)
  • [Storage] Replace Azure CLI with python SDK (#638) (@rzvoncek)
  • [Storage] Replace gsutil with an aio library (#631) (@rzvoncek)
  • Use Boto3 for S3 communications (#630) (@adejanovski)
  • purge decommissioned nodes backups (#603) (@RachanKaur)
  • Fix reported time in seconds in metrics when backup are >24h (#608) (@Skunnyk)
  • #619 added check for bucket name validation (#619) (@RachanKaur)
  • #601 Use docker buildx for building multi arch images (#601) (@adejanovski)
  • #596 Added --expected-size in AwsCli file upload cmd command. (#596) (@RachanKaur)
  • #597 Skip 0-sized blobs when listing storage. Fixes #595. (#597) (@rzvoncek)

0.15.0 (2023/07/07 12:03 +00:00)

  • Ignore Statistics.db files as they can be rewritten at runtime and break verify (#587) (@VenkataNaladala94)
  • Read the restore mapping from an env variable in k8s restore mode (#592) (@adejanovski)
  • Upgrade cassandra-driver version (#582) (@azarnovdaniil)
  • Switch GHA runners to Ubuntu 20.04 (#578) (@adejanovski)
  • Correct clean_path execution in restore_node_sstableloader function. (#573) (@cmvelo)
  • Concurrent calls of set_upload_bandwidth cause duplication in ".aws/config" (#571) (@mohammad-aburadeh)
  • enable sourcing environment file within wrapper (#536) (@rtib)
  • upload empty files with az cli command (#535) (@WentingWu666666)
  • improve ipv6 compatibility (#562) (@tom-code)
  • [k8s] supporting k8s-style secrets stored in a folder (#552) (@ufoot)

0.14.0 (2022/12/05 05:51 +00:00)

  • Support for specifying KMS key for encrypting backups server-side on S3 (@justinmir)
  • Rack aware cluster restore (@anclrii)

0.13.4 (2022/07/21 18:50 +00:00)

  • Remove --validate-content flag on azcli uploads (@adejanovski)
  • Disable dependency checks when running in Kubernetes (@adejanovski)
  • Enable overwriting blobs on retries and remove md5 hash computation on azcli uploads (@adejanovski)

v0.13.3 (2022/07/05 15:03 +00:00)

  • fix purge confusion when nodes have the same name prefix (@adejanovski)
  • Add MEDUSA_TMP_DIR env variable for setting the tmp directory in k8s mode (@adejanovski)

0.13.2 (2022/06/23 12:40 +00:00)

  • Fix a crash when restoring materialized views (#471) (@Dutchy-)
  • Invoke sstableloader with the transport port that is specified in the cassandra config (@Dutchy-)
  • Add dependecie libraries (@andre-prata)
  • Support python 3.10 (#469) (@andyfoston)
  • Fix debian Focal builds (#475) (@andyfoston)
  • Allow overriding resolve_ip_addresses with an env variable (@adejanovski)

v0.13.1 (2022/05/13 09:25 +00:00)

  • Fix restore in K8ssandra with GHA runners (@adejanovski)

v0.13.0 (2022/05/12 09:11 +00:00)

  • Allow remote restore in Kubernetes (@adejanovski)
  • Build medusa cli in docker files (#460) (@Dutchy-)
  • remove GCS dependency group (@maxbrunet)
  • Fix medusa delete-backup fqdn (@atallahade)
  • refactor: invoke CLIs as Python modules (#453) (@maxbrunet)
  • Remove plaintext passwords in config (@ossarga)
  • storage/s3: Use botocore credentials chain (@maxbrunet)
  • Set TTL for storage connections (@ivanmp91)
  • Add a datadog statsd monitoring backend (@ajmaidak)

0.12.2 (2022/04/08 15:35 +00:00)

  • Restrict Azure dependency version to fix breakage (@adejanovski)
  • Sanitize fqdns for kubernetes deployments (@adejanovski)

0.12.1 (2022/02/23 06:33 +00:00)

  • Re introduce k8s restore file (@adejanovski)

0.12.0 (2022/02/14 08:57 +00:00)

  • Fix debian package build with python 3.9 (@Skunnyk)
  • gRPC backup and status modifications to support async mode (#386) (@jeffbanks)
  • Use cassandra native_port for cluster connection (#430) (@ajmaidak)
  • Proposal to add the Docker hub URI to the README (@a-nldisr)
  • Fix backup deletion with incomplete backups (@atallahade)
  • Update example.ini from docs (@elsmorian)

0.11.3 (2021/11/08 14:33 +00:00)

  • Remove use of exec for containerized restore operations (@adejanovski)

0.11.2 (2021/10/22 11:37 +00:00)

  • fix aws imdsv2 setting (@optplx)
  • Use the aws_session_token setting of the aws profile (@atallahade)
  • make medusa compatible with imdsv2 on AWS (@optplx)
  • Fix required version for Click package (@ivanmp91)
  • Fix corrupt backups when tables have 2i (@adejanovski)

0.11.1 (2021/09/01 12:40 +00:00)

  • Make Azure requirements coherent with the Docker image (@adejanovski)
  • Add missing deps for Azure-cli in the Docker image (@adejanovski)

0.11.0 (2021/06/28 07:41 +00:00)

  • Make sudo switchable when Kubernetes mode is disabled (@rhardouin)
  • Add support for Azure backend in docker image (@adutra)
  • Fossa Integration (@jdonenine)
  • Set a gc grace period on backup files to prevent premature purge while backup is running (@adejanovski)
  • Health check updates for encrypted connections (@jeffbanks)
  • Use a datetime as default backup name for backup-cluster (@optplx)
  • Add seed_target for backup-cluster (@optplx)
  • Add a --version option (@optplx)
  • Use custom config file when restoring data (@rhardouin)
  • Fix hostname_resolver.resolve_fqdn when resolve_ip_addresses is False (@optplx)
  • Support ssh with public certificates (@optplx)
  • Add exponential delays in retries for S3 libcloud uploads and downloads (@ivanmp91)
  • Ensure each setting can be overridden (@rhardouin)

0.10.1 (2021/04/27 12:37 +00:00)

  • Add retries for Azure to remove test flakiness (@adejanovski)
  • Publish debian packages to Cloudsmith (@adejanovski)
  • Updated to support python 3.9 (@dmitry-saprykin)
  • Use python 3.9 in CI (@adejanovski)
  • Upgrade cassandra driver and remove protocol V4 enforcement (@adejanovski)
  • Fix S3 compatible backend uploads when no region is specified (@adejanovski)

0.10.0 (2021/04/08 09:22 +00:00)

  • Force int type for ports to the C* object (@ivanmp91)
  • add handler for sigterm and use exec to run server.py script (@jsanda)
  • Bypass the restore in GRPC/k8s mode if the backup doesn't exist (@adejanovski)
  • Fix deprecation warnings (@rhardouin)
  • Disable md5 comparisons during backups by default (@mkcello96)
  • Improve backup success rate by adding retries on single file downloads/uploads (@ivanmp91)
  • If running in Kubernetes, replace tokens in not in_place case and disable boostrap (@burmanm)

0.9.1 (2021/03/09 14:15 +00:00)

  • Add BaseS3StorageDriver that allows defining the region and pass the information to that driver. Also, remove unused ibm driver (@burmanm)
  • Fix MinIO support with unsecured access and add integration tests (@adejanovski)

0.9.0 (2021/02/24 10:12 +00:00)

  • Build and publish Docker image during releases (@adejanovski)
  • Force using protocol v4 to maintain compatibility with 4.0 (@adejanovski)
  • Fix region replacement in the S3 storage backend (@adejanovski)
  • Include storage prefix during file purge process (@ivanmp91)
  • Swap to cassandra user to avoid chown issues (@burmanm)
  • Pin cryptography to 3.3.2 to avoid install failing on missing Rust req (@adejanovski)
  • Fix home/medusa directory with correct rights (@burmanm)
  • Use multi-stage building in the Dockerfile to reduce image size (@burmanm)
  • Use cassandra 999 as gid for the medusa user, and change medusa user to id 1001 (@burmanm)
  • Run as non-root (@burmanm)
  • Add s3_compatible storage option for all S3 compatible storage targets (@burmanm)
  • Azure fixes - add configurable host, add MD5 for large files, support multi-part in differential backups
  • Update TLS version
  • Remove custom storage port for integration tests (@adejanovski)
  • Unthrottle downloads for S3 and IBM storage backends to speed up restores (@adejanovski)
  • Backup and DeleteBackup did not return the correct error code in case of Exception (@burmanm)
  • Allow to set the CQL user/pass through env variables (@adejanovski)
  • Replace the pycrypto dependency with pycryptodome (@deniszh)

### 0.8.1 (2021/01/07 14:50 +00:00)

  • Add missing dependencies for Libcloud 3.3.0 and pin Libcloud dependency to specific versions (@adejanovski)

0.8.0 (2020/12/28 06:38 +00:00)

  • Add Azure blob storage support (@ilhanadiyaman)
  • Ignore all peer tables, even the v2 ones (@rzvoncek)
  • Allow to download only a set of keyspaces/tables (@masterzen)
  • Build ubuntu package for focal 20.04 (@masterzen)
  • debian: Add missing build dependency for python3-venv (@ecsv)
  • Fix Xenial builds by downloading dh-virtualenv v1.0 directly instead of using a repo (@adejanovski)
  • Add gRPC service (@emerkle826)
  • Add backup-cluster command, decouple snapshots from upload, allow parallelism control (@arodrime)
  • Add support for IBM Cloud object storage (@adejanovski)
  • Normalized resolve_ip_addresses value (@dmitry-saprykin)
  • Fixing gsutil upload/download. Divide file list into chunks. (@house-of-vanity)
  • Add wheel package to requirements.txt to be able to perform offline installation (@julienlau)
  • [gcs] Compare the same type when checking for process count (@rzvoncek)
  • [gcs] Use 'gsutil -m' only if concurrent_transfers > 1 (@rzvoncek)
  • (#201) Improved debian packaging (@masterzen)
  • [tox] Stop running against python 3.5, but do so for 3.7 & 3.8 instead (@rzvoncek)
  • Tolerate custom seed providers in C* yaml (@rzvoncek)
  • Honor concurrent_transfers in GCP storage. Fixes #103 (@rzvoncek)
  • Pin ssh2-python version to 0.19.0 (@arodrime)
  • Enable multi Cassandra version integration tests (@adejanovski)
  • Remove nc (netcat) dependency, use python socket instead (@arodrime)
  • Avoid double purge (through count + age) of the same backup (@arodrime)

0.7.1 (2020/07/30 11:12 +00:00)

  • Add a timeout for nc checks - node_up? (@arodrime)
  • Do not rely on nc command output, use returncode instead (@arodrime)

0.7.0 (2020/07/03 08:04 +00:00)

  • Restore node should be done in place by default (@adejanovski)
  • Use the service command as default to start Cassandra (@adejanovski)
  • Add a setting to avoid ip addresses from being resolved to hostnames (@adejanovski)
  • Do not delete cleanup and saved_caches folders (@arodrime)
  • fixing empty folder issue (@arodrime)
  • specify resotre specific keyspaces/tables usage (@arodrime)
  • Keep system keyspaces when user specifies ks/tables (@arodrime)
  • Add wait for node shutdown. Fix healtcheck config. Fixes #72 (@rzvoncek)
  • Enforce tokens by modifying cassandra.yaml instead of env vars (@adejanovski)
  • Use the local fqdn as seed target if it's not provided (@adejanovski)
  • Simplify the checks for whether the seed_target or if the host_list is set. (@adejanovski)
  • Overwrite auth by default (@adejanovski)
  • Compute in-place based on source/target node list. (@adejanovski)
  • Move question about keeping auth to a more appropriate location to avoid clashing with in place computation (@adejanovski)
  • Fix --keep-auth flag issue (@adejanovski)
  • Move digest computation to storage implementations. Fixes #123 (@rzvoncek)
  • Resolve FQDN of the ip addresses provided in the host list file (@adejanovski)
  • Fix restore infinite loop by using nc instead of remote nodetool invocation (@adejanovski)
  • Fix debian packaging which broke due to gevent not building anymore. (@adejanovski)
  • Make 1st differential backup upload all files, even if a full one exists. Fixes 108 (@rzvoncek)

0.6.0 (2020/05/15 13:27 +00:00)

  • Add ini option to enable -ssl parameter for nodetool (@ANeumann82)
  • Add S3 region selector for S3 rgw (@mclpfr)
  • Disable checksum comparisons for the local storage provider. (@adejanovski)
  • Enable SSL Authentication for Medusa to access Cassandra SSL Clusters (@SINDHUJA21)
  • Local and s3 RGW backends now use streams for both uploads and downloads. (@nicholasamorim)
  • fix fqdn not honored in config file (@chebelom)
  • fix medusa download command not working due to missing parameter (@chebelom)
  • medusa get_last_complete_cluster_backup explodes if no complete cluster backup exists (@chebelom)
  • Add a delete-backup command (@arodrime)
  • Allow awscli binary path to be specified (@bishoprunout)
  • Add ssh port info to Readme.md and medusa-example.ini (@alvaropalmeirao)

0.5.1

  • Improve S3 connection performance when IAM roles aren't used (@adejanovski)

0.5.0

  • Add customized port to ssh section (@alvaropalmeirao)
  • Fix the usage of prefix for multi tenant buckets (@adejanovski)
  • Fix sstableloader calls for clusters without authentication (@adejanovski)
  • Adding support for Env Credentials and IAM Role (@alvaropalmeirao)
  • add aws regions by bumping libcloud (@arodrime)

0.4.1

  • Publish debian packages (@arodrime/@adejanovski)
  • Fixed the path to the file where S3 is configured for integration tests. (@pumpkiny9120)
  • Use awscli for large files downloads (@adejanovski)
  • Fixing issue #54 - permission denied during build (@arodrime)
  • Pass temp_dir to restore-node command from restore-cluster command (@jfharden)
  • Add offline installation informations (@adejanovski)
  • Set nodetool parameters (@bhagenbourger)
  • Instead of failing on nodetool clearsnapshot, just log a warning message as the backup is essentially finished. (@nicholasamorim)
  • Add Gitter badge (@gitter-badger)
  • Added support to Ceph Object Gateway, an API compatible with S3. Uses s3_rgw libcloud driver. (@nicholasamorim)
  • Added logging section to configuration which provides control over logging-to-file (@nicholasamorim)
  • Fix compatibility with python3.5

0.3.1

  • Fix differential backups re-uploading files in S3 (@adejanovski)

0.3.0

  • Use multi part uploads for S3 (@adejanovski)
  • Replacing custom ssh management by parallel-ssh lib (@arodrime)
  • Parse blob names with regexpes. Fixes #12 (@rzvoncek)
  • requirements require minimum versions, not exact versions (@michaelsembwever)
  • Added nose & flake8 libs to test libraries (@maciej-lasyk)
  • Fix contact point address discovery when listen_address is missing from cassandra.yaml (@adejanovski)
  • use correct terminology of 'IAM Policy' rather than 'IAM Strategy' (@michaelsembwever)
  • Support backups of SIs (@rzvoncek)

v0.2.1

  • Adjust installation procedure in README (@adejanovski)
  • Separate build and publish workflows. (@adejanovski)

v0.2.0

  • Fix release publishing step (@adejanovski)
  • Bump pyyaml from 3.10 to 5.1 (@dependabot[bot])
  • Publish releases to pypi (@adejanovski)
  • Cleanup ci workflow (@adejanovski)
  • Add Github actions workflow (@adejanovski)
  • Change default Cassandra stop command (@adejanovski)
  • Remove 'incremental' in tests and docs (@rzvoncek)
  • Switch incremental to differential. (@adejanovski)
  • Move to incremental by default (@adejanovski)
  • Update paramiko dependency to v2.6.0 (@arodrime)
  • Fix hostname being used instead of fqdn (@adejanovski)
  • Initial commit (@adejanovski)