Releases: elastic/curator
3.4.1 (10 February 2016)
General
- Update license copyright to 2016
- Use slim python version with Docker #527 (xaka)
- Changed
--master-only
exit code to 0 when connected to non-master node #540 (wkruse) - Add
cx_Freeze
capability tosetup.py
, plus abinary_release.py
script to simplify binary package creation. #554 (untergeek) - Set Elastic as author. #555 (untergeek)
- Put repository creation methods into API and document them. Requested in #550 (untergeek)
Bug fixes
- Fix sphinx documentation build error #506 (hydrapolic)
- Ensure snapshots are found before iterating #507 (garyelephant)
- Fix a doc inconsistency #509 (pmoust)
- Fix a typo in
show
documentation #513 (pbamba) - Default to trying the cluster state for checking whether indices are closed, and
then fall back to using the _cat API (for Amazon ES instances). #519 (untergeek) - Improve logging to show time delay between optimize runs, if selected. #525 (untergeek)
- Allow elasticsearch-py module versions through 2.3.0 (a presumption at this point) #524 (untergeek)
- Improve logging in snapshot api method to reveal when a repository appears to be
missing. Reported in #551 (untergeek) - Test that
--timestring
has the correct variable for--time-unit
.
Reported in #544 (untergeek) - Allocation will exit with exit_code 0 now when there are no indices to work on.
Reported in #531 (untergeek)
3.4.0 (28 October 2015)
General
- API change in elasticsearch-py 1.7.0 prevented alias operations. Fixed in
#486 (HonzaKral) - During index selection you can now select only closed indices with
--closed-only
.
Does not impact--all-indices
Reported in #476. Fixed in #487 (Basster) - API Changes in Elasticsearch 2.0.0 required some refactoring. All tests pass
for ES versions 1.0.3 through 2.0.0-rc1. Fixed in #488 (untergeek) - es_repo_mgr now has access to the same SSL options from #462. #489 (untergeek)
- Logging improvements requested in #475. (untergeek)
- Added
--quiet
flag. #494 (untergeek) - Fixed
index_closed
to work with AWS Elasticsearch. #499 (univerio) - Acceptable versions of Elasticsearch-py module are 1.8.0 up to 2.1.0 (untergeek)
3.4.0.rc1 (23 October 2015)
Announcement
This release supports Elasticsearch 2.0. The CI Jenkins build tests with 2.0 are currently not working because of Jenkins issues rather than Curator code. All tests pass with python 2.7 and 3.4 with my hardware.
General
- API change in elasticsearch-py 1.7.0 prevented alias operations. Fixed in
#486 (HonzaKral) - During index selection you can now select only closed indices with
--closed-only
.
Does not impact--all-indices
Reported in #476. Fixed in #487 (Basster) - API Changes in Elasticsearch 2.0.0 required some refactoring. All tests pass
for ES versions 1.0.3 through 2.0.0-rc1. Fixed in #488 (untergeek) - es_repo_mgr now has access to the same SSL options from #462. #489 (untergeek)
- Logging improvements requested in #475. (untergeek)
- Added
--quiet
flag. #494 (untergeek) - Fixed
index_closed
to work with AWS Elasticsearch. #499 (univerio)
3.3.0 (31 August 2015)
New Features
- Allocation type can now also be
include
orexclude
, in addition to the
the existing defaultrequire
type. Add--type
to the allocation command
to specify the type. #443 (steffo) - Add SSL features,
--ssl-no-validate
andcertificate
to provide other
ways to validate SSL connections to Elasticsearch. #436 (untergeek)
General
- Bump elasticsearch python module dependency to 1.6.0+ to enable synced_flush
API call. Reported in #447 (untergeek)
Bug fixes
- Delete by space was only reporting space used by primary shards. Fixed to
show all space consumed. Reported in #455 (untergeek) - Update exit codes and messages for snapshot selection. Reported in #452 (untergeek)
- Fix potential int/float casting issues. Reported in #465 (untergeek)
Testing
- Curator is tested in Jenkins. Each commit to the master branch is tested with both Python versions 2.7.6 and 3.4.0 against each of the following Elasticsearch versions:
- 1.7_nightly
- 1.6_nightly
- 1.7.0
- 1.6.1
- 1.5.1
- 1.4.4
- 1.3.9
- 1.2.4
- 1.1.2
- 1.0.3
- Jenkins was testing with Python 2.6.3 and 3.2.1. Those Python versions were buggy, so they've been updated to the aforementioned 2.7.6 and 3.4.0. If you are using a Python version different from either of these, your results may vary.
3.2.3 (16 July 2015)
Bug fix
- In order to address customer and community issues with bulk deletes, the
master_timeout
is now invoked for delete operations. This should address
503s with 30s timeouts in the debug log, even when--timeout
is set to
a much higher value. Themaster_timeout
is tied to the--timeout
flag value, but will not exceed 300 seconds. #420 (untergeek)
General
- Mixing it up a bit here by putting
General
second! The only other changes
are that logging has been improved for deletes so you won't need to have the
--debug
flag to see if you have error codes >= 400, and some code
documentation improvements.
3.2.2 (13 July 2015)
General
- This is a very minor change. The
mock
library recently removed support
for Python 2.6. As many Curator users are using RHEL/CentOS 6, which is
pinned to Python 2.6, this requires the mock version referenced by Curator
to also be pinned to a supported version (mock==1.0.1
).
Also note that build failures were related to this. Mock 1.1.0 and 1.1.1 depend on pbr, which was at 1.2.0 when Curator 3.2.1 was released. The pbr module has since been upgraded to 1.3.0, which likely fixed the errors. Since we've pinned mock, this is moot, however.
3.2.1 (10 July 2015)
This is a lightweight patch release.
General
- Added delete verification & retry (fixed at 3x) to potentially cover an edge
case in #420 (untergeek) - Since GitHub allows rST (reStructuredText) README documents, and that's what
PyPI wants also, the README has been rebuilt in rST. (untergeek)
Bug fixes
3.2.0 (25 June 2015)
3.2.0 (25 June 2015)
New!
- Added support to manually seal, or perform a synced flush
on indices with theseal
command. #394 (untergeek) - Added experimental support for SSL certificate validation. In order for
this to work, you must install thecertifi
python module:
pip install certifi
This feature should automatically work if thecertifi
module is
installed. Please report any issues.
General
- Changed logging to go to stdout rather than stderr. Reopened #121 and
figured they were right. This is better. (untergeek) - Exit code 99 was unpopular. It has been removed. Reported in #371 and #391
(untergeek) - Add
--skip-repo-validation
flag for snapshots. Do not validate write
access to repository on all cluster nodes before proceeding. Useful for
shared filesystems where intermittent timeouts can affect validation, but
won't likely affect snapshot success. Requested in #396 (untergeek) - An alias no longer needs to be pre-existent in order to use the alias
command. #317 (untergeek) - es_repo_mgr now passes through upstream errors in the event a repository
fails to be created. Requested in #405 (untergeek)
Bug fixes
- In rare cases,
*
wildcard would not expand. Replaced with _all.
Reported in #399 (untergeek) - Beginning with Elasticsearch 1.6, closed indices cannot have their replica
count altered. Attempting to do so results in this error:
org.elasticsearch.ElasticsearchIllegalArgumentException: Can't update [index.number_of_replicas] on closed indices [[test_index]] - can leave index in an unopenable state
As a result, thechange_replicas
method has been updated to prune closed
indices. This change will apply to all versions of Elasticsearch.
Reported in #400 (untergeek) - Fixed es_repo_mgr repository creation verification error. Reported in #389
(untergeek)
3.1.0 (21 May 2015)
Announcement
This is a minor version release with a few new features and some bug fixes.
- Test count: 255
- Code coverage: 99%
General
- If
wait_for_completion
is true, snapshot success is now tested and logged.
Reported in #253 (untergeek) - Log & return false if a snapshot is already in progress (untergeek)
- Logs individual deletes per index, even though they happen in batch mode.
Also log individual snapshot deletions. Reported in #372 (untergeek) - Moved
chunk_index_list
from cli to api utils as it's now also used byfilter.py
- Added a warning and 10 second timer countdown if you use
--timestring
to filter
indices, but do not use--older-than
or--newer-than
in conjunction with it.
This is to address #348, which behavior isn't a bug, but prevents accidental
action against all of your time-series indices. The warning and timer are
not displayed forshow
and--dry-run
operations. - Added tests for
es_repo_mgr
in #350 - Doc fixes
Bug fixes
- delete-by-space needed the same fix used for #245. Fixed in #353 (untergeek)
- Increase default client timeout for
es_repo_mgr
as node discovery and
availability checks for S3 repositories can take a bit. Fixed in #352 (untergeek) - If an index is closed, indicate in
show
and--dry-run
output.
Reported in #327. (untergeek) - Fix issue where CLI parameters were not being passed to the
es_repo_mgr
create sub-command.
Reported in #337. (feltnerm)
3.0.3 (27 Mar 2015)
Announcement
This is a bug fix release. #319 and #320 are affecting a few users, so this
release is being expedited.
- Test count: 228
- Code coverage: 99%
General
- Documentation for the CLI converted to Asciidoc and moved to
http://www.elastic.co/guide/en/elasticsearch/client/curator/current/index.html - Improved logging, and refactored a few methods to help with this.
- Dry-run output is now more like v2, with the index or snapshot in the log
line, along with the command. Several tests needed refactoring with this
change, along with a bit of documentation.
Bug fixes
- Fix links to repository in setup.py. Reported in #318 (untergeek)
- No more
--delay
with optimized indices. Reported in #319 (untergeek) --request_timeout
not working as expected. Reinstate the version 2
timeout override feature to prevent default timeouts foroptimize
and
snapshot
operations. Reported in #320 (untergeek)- Reduce index count to 200 for
test.integration.test_cli_commands.TestCLISnapshot.test_cli_snapshot_huge_list
in order to reduce or eliminate Jenkins CI test timeouts.
Reported in #324 (untergeek) --dry-run
no longer callsshow
, but will show output in the log, as
in v2. This was a recurring complaint. See #328 (untergeek)