diff --git a/.gitignore b/.gitignore index c5b4ea30..4d83324f 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ coverage.xml *.log .testrepository subunit.log +.eggs # Django files that get created during the test runs .secret_key_store diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..452e8a52 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,17 @@ +Daniel Mellado +Davide Guerri +Erno Kuvaja +Fabrizio Fresco +Fabrizio Vanni +Fausto Marzi +Fausto Marzi +Jeremy Stanley +Jonas Pfannschmidt +Memo Garcia +Pierre-Arthur MATHIEU +Saad Zaher +Vic Howard +Zahari Zahariev +eldar nugaev +memo +sbartel diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 00000000..18a4c93a --- /dev/null +++ b/ChangeLog @@ -0,0 +1,181 @@ +CHANGES +======= + +* Fixed and improved tox.ini, added subunit as dep +* Update .gitreview for new namespace +* fix integration tests +* Switching to PBR in freezer +* Swift from pytest to testr for unittests +* Forgotten return in ssh +* Test Coverage: Improving test coverage by creation fs_like storage +* Unable to create backup or restore on Mac OS X Resolves bug: 1505629 +* Report error if the choosen algorithm executable is not found +* Test coverage improvments: Validator and Utils +* Freezer should show correct error in case of tar process errors +* Test coverage improvment +* Align requirements.txt to setup.py +* Fix error message if no credentials are provided +* Fix freezer fail when using bandwidth limit +* LVM snapshot mountpoint fix and improved usability +* Fix typo in freezer-agent help +* Fix for race condition for parallel multi-level backup restore +* Throttling bandwidth on Linux for HTTPS +* Fix bug when freezer_main() raise exception +* Fixed deps in setup.py and a bug in tests +* Configurable SSH-PORT +* fix end result of jobs with multiple actions +* First iteration of multiple storages. Unification storages and extraction backup engine +* freezer-scheduler in no-daemon mode +* Default namespace for args options +* Select endpoint type of freezer api service +* UI repo split +* job event requests use specific api endpoint +* Documentation about ssh storage +* Fix for parsing database credentials +* Jobs now start immediately if only interval is provided +* freezer-agent support for keystone v2.0 and v3 +* Updating HP Copyright label +* README info about scheduler and job creation +* Fix for duplicate ID's on backup metadata +* Fix bug with empty client_manager +* remove older then typo +* apiclient support for keystone v2.0 and v3 +* fix loop while getting list of resources from api +* Fix bug on auto lvm snap +* ~/.freezer work_dir created automatically +* basic integration tests for freezer-agent +* fix scheduler job removal when api not available +* Auto snap uses also mount to guess lvm info +* add option to choose compression algorithm with choose between gzip, bzip2 and xz +* Allow freezer-scheduler to find freezerc binary in a non-activated virtualenv +* Possible fix of test_local invocation on jenkins +* Fix for duplicate dependencies +* Fix for issues in the parsing of mysql credentials +* Improve test coverage of storage.py +* Remove freezer_api from freezer repo +* Align pymongo version with global requirements +* Align requirements with global-requirements +* Remove old snapshots for local and ssh +* Auto ssh storage host adding +* add api endpoint /v1/health to support HAProxy +* freezer-scheduler without api service +* Environment inheritance for freezer agent executed by the scheduler +* Improve installation docs for freezer dashboard +* Add freezer dashboard documentation to html files +* fix i18n related to the api +* documentation on integration test procedures +* Change nova and cinder client constructor invocation +* Pluggable storages integration for freezer dashboard +* Backup history +* Flexible way to create, update, delete actions in a job +* Refactoring api interface on freezer_ui +* Backup ID now is not splited by dashes +* Improve README file by removing unexpected git info +* Refactoring logging and translations on freezer_api +* add session properties to json_schemas of job +* SSH Storage In order to give flexibility Freezer needs to be able to store data to a remote file system host using ssh/scp instead instead of Swift +* Refactor api imports to OpenStack Hacking compliant +* Added architecture information to README, updated FAQ +* fix scheduler session_id argument consistency +* update oslo namespace to oslo_config +* Plugable storages architecture and Local storage implementation +* Add Elasticsearch index creation +* Quick fix for freezer dashboard +* Horizon bulk remove for Jobs and Actions +* Job creation for multiple clients +* Horizon implementation for sessions endpoint +* Horizon implementation for jobs api endpoint +* elasticsearch init script +* add execute sync command before execution of backup action +* freezer scheduler +* Honor the env var OS_SERVICE_ENDPOINT so to be able to use adminURL or publicURL Blueprint: endpoint-type +* Fix unwanted output to stdout +* Fix improper segment name when uploading segments to swift +* Add file/dir check upon backup using tar +* Keystone API endpoint discovery +* Add freezer exec action to execute script +* Pluggable storages +* Adding Support for LVM snapshot permission by --lvm-snap-perm Implements: blueprint immutable-snapshot +* Make lvm snap immutable +* correct error message when backup path or file that does not exist +* freezer service API v1 specification reformatted +* Add api support for jobs +* First version of setup.py +* Fix for random test failure on restore.py +* Copied tox.ini and .pylintrc from root directory +* Implementation of Cinder backup compatible mode +* Fix default auth credentials in freezer-api.conf +* Added pylint checks. Fixed import error during python-novaclient import +* Fixed import error on bin/freezerc +* Reduce SQL Server downtime and Snapshot option on windows +* Implementation of nova instance backups +* Ensure in tests that time is check with appropriate timezone offset +* Added config file support in freezerc +* This version contains the following pages: - Overview displays charts/reports (Currently only placeholders) - Configurations allows to define new backup configurations and link them to instances - Backups shows a list of all succesful backups and allows to restore them - Restores shows a history of all restored backups +* Consistent opt args and variable to dentify that same opt arg +* Data consistent way of making cinder backups +* Changed client data description to include "hostname"" +* Added parameters to the "list-backups" python api +* Bandwith limitation functional test +* Incremental LVM functional test +* Fix stale import in freezer_api/storage/driver.py +* Cinder Volumes Backup Implements blueprint: cinder-backup +* freezer api support for action +* Add tests for client registration +* 100% test coverage in freezer/apiclient/backups.py +* Fix initial no_lvm and lvm_level0 tests +* freezer api support for client registration +* Fix broken functional tests freezer_main() +* client retrieval of freezer api endpoint +* Fix bug on --remove-older-then opt +* Fix when freezer runs without arguments +* Refactor environment variable aquisition class +* Fixed references to freezerclient which is now apiclient +* Windows backup and restore incrementals +* Windows support for freezer +* Freezer API +* Implementation of bandwidth-limitation blueprint +* Functional tests and Vagrant environment +* Fix backup sort and related problems +* Fix handling of timestamp in old backup removal +* Remove pyrsync dependency +* Add dry-run execution +* pass optional os_options on to switfclient library +* Fix removal of backup segments +* Main loop refactor +* Proxy implementation +* Fixed bug 1415865 for old backup removal +* Add auth version parameter +* Change in default location of log file +* Add insecure parameter +* Update requirements for environment variables +* Fix for Exception order in freezerc +* Added specs template for freezer +* Updated setup.py to add proper pyrsync installation +* Use Python module MyMySQL instead of MySQLdb +* Add port argument to MySQL connection +* Added unittest for freezer.main +* Exceptions handling revisited and improved +* Added unittest for restore.py +* Add unittest for swift.py and bug fix +* Added unittest for tar.py + +1.1.0 +----- + +* Fixed bug in setup.py and remove test auth file in mysql test +* Added unittest for lvm.py +* Added unittest for utils.py +* Web UI for freezer +* Added unittest for arguments.py +* Unittest for backup.py with coverage >= 90% +* Containers created by Freezer will have freezer_ as prefix +* Fixed a bug in multi level restore and added new --action arg +* Basic structure of the freezer web ui integrated in horizon +* Restore process fails managing big data stream from swift +* Fixed bug launchpad #1382809 to manage token expired +* Added symlink/dereference and modified lvm auto guess options +* Use strings of 8 chars for indexing Swift chunks +* Added --lvm-auto-snap guessing option +* Changed .gitreview .gitignore and added tox.ini +* Freezer initial commit diff --git a/requirements.txt b/requirements.txt index 61b48eff..bf8fd880 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ +pbr>=0.6,!=0.7,<1.0 python-swiftclient>=2.2.0,<2.5.0 python-keystoneclient>=1.2.0,<1.4.0 python-cinderclient>=1.1.0,<1.2.0 diff --git a/setup.cfg b/setup.cfg index 07d5df6d..fb86e3b9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -70,11 +70,12 @@ data_files = freezer/bin/trickle freezer/bin/trickle-overload.so +scripts = + bin/freezerc + [entry_points] console_scripts = freezer-scheduler = freezer.scheduler.freezer_scheduler:main - freezerc = bin.freezerc:main - freezer-agent = bin.freezerc:main [pbr] # Have pbr generate the module indexes like sphinx autodoc