Skip to content

Commit

Permalink
Release 5.0 imminent
Browse files Browse the repository at this point in the history
So much anticipation!
  • Loading branch information
untergeek committed Apr 5, 2017
1 parent 4aa1510 commit 5cf1003
Show file tree
Hide file tree
Showing 9 changed files with 91 additions and 100 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ python:
- "2.7"
- "3.4"
- "3.5"
- "3.6"

env:
- ES_VERSION=5.0.2
Expand Down
2 changes: 1 addition & 1 deletion curator/_version.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
__version__ = '5.0.0.a2'
__version__ = '5.0.0'

26 changes: 20 additions & 6 deletions docs/Changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,18 @@
Changelog
=========

5.0.0a2 (? ? ?)
5.0.0 (5 April 2017)

This will be the second alpha release of Curator 5. This should not be used for
production! There `will` be many more changes before 5.0.0 is released.
The full feature set of 5.0 (including alpha releases) is included here.

**New Features**

* Reindex is here! The new reindex action has a ton of flexibility. You
can even reindex from remote locations, so long as the remote cluster is
Elasticsearch 1.4 or newer.

* Added the ``period`` filter (#733). This allows you to select indices
or snapshots, based on whether they fit within a period of hours, days,
weeks, months, or years.

* Add dedicated "wait for completion" functionality. This supports health
checks, recovery (restore) checks, snapshot checks, and operations which
support the new tasks API. All actions which can use this have been
Expand All @@ -28,9 +25,16 @@ production! There `will` be many more changes before 5.0.0 is released.
NOTE: There is one caveat: forceMerge does not support this, per the
Elasticsearch API. A forceMerge call will hold the client until complete, or
the client times out. There is no clean way around this that I can discern.

* Elasticsearch date math naming is supported and documented for the
``create_index`` action. An integration test is included for validation.
* Allow allocation action to unset a key/value pair by using an empty value.
Requested in #906. (untergeek)
* Added support for the Rollover API. Requested in #898, and by countless
others.
* Added ``warn_if_no_indices`` option for ``alias`` action in response to
#883. Using this option will permit the ``alias`` add or remove to continue
with a logged warning, even if the filters result in a NoIndices condition.
Use with care.

**General**

Expand All @@ -45,7 +49,17 @@ production! There `will` be many more changes before 5.0.0 is released.
raising an Exception. #874 (untergeek)
* The ``get_repository()`` function now properly raises an exception instead
of returning `False` if nothing is found. #761 (untergeek)
* Check if an index is in an alias before attempting to delete it from the
alias. Issue raised in #887. (untergeek)
* Fix allocation issues when using Elasticsearch 5.1+. Issue raised in #871
(untergeek)

**Documentation**

* Add missing repository arg to auto-gen API docs. Reported in #888
(untergeek)
* Add all new documentation and clean up for v5 specific.

**Breaking Changes**

* IndexList no longer checks to see if there are indices on initialization.
Expand Down
2 changes: 1 addition & 1 deletion docs/asciidoc/index.asciidoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
:curator_version: 5.0.0a2
:curator_version: 5.0.0
:curator_major: 5
:es_py_version: 5.3.0
:ref: http://www.elastic.co/guide/en/elasticsearch/reference/current
Expand Down
2 changes: 2 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ def get_install_requires():
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
],
test_suite = "test.run_tests.run_all",
tests_require = ["mock", "nose", "coverage", "nosexcover"],
Expand Down Expand Up @@ -154,6 +155,7 @@ def get_install_requires():
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
],
test_suite = "test.run_tests.run_all",
tests_require = ["mock", "nose", "coverage", "nosexcover"]
Expand Down
72 changes: 38 additions & 34 deletions unix_packages/build_official_package.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
BASEPATH=$(pwd)
PKG_TARGET=/curator_packages
WORKDIR=/tmp/curator
CX_VER="5.0"
CX_VER="5.0.1"
CX_FILE="/curator_source/unix_packages/cx_freeze-${CX_VER}.dev.tar.gz"
CX_PATH="anthony_tuininga-cx_freeze-71554144c9cc"
CX_PATH="anthony_tuininga-cx_freeze-0e565139e6a3"
PYVER=3.6
MINOR=1
INPUT_TYPE=python
CATEGORY=python
VENDOR=Elastic
Expand Down Expand Up @@ -61,69 +63,71 @@ fi

case "$ID" in
ubuntu|debian)
PKGTYPE=deb
PLATFORM=debian
PKGTYPE=deb
PLATFORM=debian
PACKAGEDIR="${PKG_TARGET}/${1}/${PLATFORM}"
;;
sudo apt update -y
sudo apt install -y openssl
;;
centos|rhel)
PKGTYPE=rpm
PKGTYPE=rpm
PLATFORM=centos
case "$VERSION_ID" in
6|7)
case "$VERSION_ID" in
6|7)
sudo rm -f /etc/yum.repos.d/puppetlabs-pc1.repo
sudo yum -y update
;;
*) echo "unknown system version: ${VERSION_ID}"; exit 1;;
esac
sudo yum install -y openssl
;;
*) echo "unknown system version: ${VERSION_ID}"; exit 1;;
esac
PACKAGEDIR="${PKG_TARGET}/${1}/${PLATFORM}/${VERSION_ID}"
;;
;;
*) echo "unknown system type: ${ID}"; exit 1;;
esac

HAS_PY3=$(which python3.5)
HAS_PY3=$(which python${PYVER})
if [ "${HAS_PY3}x" == "x" ]; then
cd /tmp
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2
wget https://www.python.org/ftp/python/${PYVER}.${MINOR}/Python-${PYVER}.${MINOR}.tgz
tar zxf Python-${PYVER}.${MINOR}.tgz
cd Python-${PYVER}.${MINOR}
./configure --prefix=/usr/local
sudo make altinstall
cd /usr/lib
sudo ln -s /usr/local/lib/libpython3.5m.a libpython3.5.a
sudo ln -s /usr/local/lib/libpython${PYVER}m.a libpython${PYVER}.a
cd ${WORKDIR}
fi

PYVER=3.5
PIPBIN=/usr/local/bin/pip3.5
PYBIN=/usr/local/bin/python3.5
PIPBIN=/usr/local/bin/pip${PYVER}
PYBIN=/usr/local/bin/python${PYVER}

if [ "${CX_VER}" != "$(${PIPBIN} list | grep cx | awk '{print $2}' | tr -d '()')" ]; then
cd ${WORKDIR}
rm -rf ${CX_PATH}
tar zxf ${CX_FILE}
cd ${CX_PATH}
${PIPBIN} install -U --user .
cd ${WORKDIR}
fi

if [ -e "/home/vagrant/.rvm/scripts/rvm" ]; then
source /home/vagrant/.rvm/scripts/rvm
if [ -e "${HOME}/.rvm/scripts/rvm" ]; then
source ${HOME}/.rvm/scripts/rvm
fi
HAS_FPM=$(which fpm)
if [ "${HAS_FPM}x" == "x" ]; then
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
source /home/vagrant/.rvm/scripts/rvm
source ${HOME}/.rvm/scripts/rvm
rvm install ruby
gem install fpm
fi

tar zxf ${FILE}

mkdir -p ${PACKAGEDIR}
cd curator-${1}
${PIPBIN} install -U --user setuptools
${PIPBIN} install -U --user requests_aws4auth
if [ "${CX_VER}" != "$(${PIPBIN} list | grep cx | awk '{print $2}' | tr -d '()')" ]; then
cd ${WORKDIR}
rm -rf ${CX_PATH}
tar zxf ${CX_FILE}
cd ${CX_PATH}
${PIPBIN} install -U --user .
cd ${WORKDIR}
fi

mkdir -p ${PACKAGEDIR}
cd curator-${1}
${PIPBIN} install -U --user -r requirements.txt
${PYBIN} setup.py build_exe
sudo mv build/exe.linux-x86_64-${PYVER} /opt/elasticsearch-curator
Expand Down
52 changes: 28 additions & 24 deletions unix_packages/build_package_from_source.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
BASEPATH=$(pwd)
PKG_TARGET=/curator_packages
WORKDIR=/tmp/curator
CX_VER="5.0"
CX_VER="5.0.1"
CX_FILE="/curator_source/unix_packages/cx_freeze-${CX_VER}.dev.tar.gz"
CX_PATH="anthony_tuininga-cx_freeze-71554144c9cc"
CX_PATH="anthony_tuininga-cx_freeze-0e565139e6a3"
PYVER=3.6
MINOR=1
INPUT_TYPE=python
CATEGORY=python
VENDOR=Elastic
Expand Down Expand Up @@ -63,6 +65,8 @@ case "$ID" in
PKGTYPE=deb
PLATFORM=debian
PACKAGEDIR="${PKG_TARGET}/${1}/${PLATFORM}"
sudo apt update -y
sudo apt install -y openssl
;;
centos|rhel)
PKGTYPE=rpm
Expand All @@ -71,6 +75,7 @@ case "$ID" in
6|7)
sudo rm -f /etc/yum.repos.d/puppetlabs-pc1.repo
sudo yum -y update
sudo yum install -y openssl
;;
*) echo "unknown system version: ${VERSION_ID}"; exit 1;;
esac
Expand All @@ -79,49 +84,48 @@ case "$ID" in
*) echo "unknown system type: ${ID}"; exit 1;;
esac

HAS_PY3=$(which python3.5)
HAS_PY3=$(which python${PYVER})
if [ "${HAS_PY3}x" == "x" ]; then
cd /tmp
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2
wget https://www.python.org/ftp/python/${PYVER}.${MINOR}/Python-${PYVER}.${MINOR}.tgz
tar zxf Python-${PYVER}.${MINOR}.tgz
cd Python-${PYVER}.${MINOR}
./configure --prefix=/usr/local
sudo make altinstall
cd /usr/lib
sudo ln -s /usr/local/lib/libpython3.5m.a libpython3.5.a
sudo ln -s /usr/local/lib/libpython${PYVER}m.a libpython${PYVER}.a
cd ${WORKDIR}
fi

PYVER=3.5
PIPBIN=/usr/local/bin/pip3.5
PYBIN=/usr/local/bin/python3.5
PIPBIN=/usr/local/bin/pip${PYVER}
PYBIN=/usr/local/bin/python${PYVER}

if [ "${CX_VER}" != "$(${PIPBIN} list | grep cx | awk '{print $2}' | tr -d '()')" ]; then
cd ${WORKDIR}
rm -rf ${CX_PATH}
tar zxf ${CX_FILE}
cd ${CX_PATH}
${PIPBIN} install -U --user .
cd ${WORKDIR}
fi

if [ -e "/home/vagrant/.rvm/scripts/rvm" ]; then
source /home/vagrant/.rvm/scripts/rvm
if [ -e "${HOME}/.rvm/scripts/rvm" ]; then
source ${HOME}/.rvm/scripts/rvm
fi
HAS_FPM=$(which fpm)
if [ "${HAS_FPM}x" == "x" ]; then
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
source /home/vagrant/.rvm/scripts/rvm
source ${HOME}/.rvm/scripts/rvm
rvm install ruby
gem install fpm
fi

${PIPBIN} install -U --user setuptools
${PIPBIN} install -U --user requests_aws4auth
if [ "${CX_VER}" != "$(${PIPBIN} list | grep cx | awk '{print $2}' | tr -d '()')" ]; then
cd ${WORKDIR}
rm -rf ${CX_PATH}
tar zxf ${CX_FILE}
cd ${CX_PATH}
${PIPBIN} install -U --user .
cd ${WORKDIR}
fi

cd $SOURCE_DIR

mkdir -p ${PACKAGEDIR}
${PIPBIN} install -U --user setuptools
${PIPBIN} install -U --user requests_aws4auth
${PIPBIN} install -U --user -r requirements.txt
${PYBIN} setup.py build_exe
sudo mv build/exe.linux-x86_64-${PYVER} /opt/elasticsearch-curator
Expand Down
Binary file removed unix_packages/cx_freeze-5.0.dev.tar.gz
Binary file not shown.
34 changes: 0 additions & 34 deletions unix_packages/cx_freeze.setup.py.patch

This file was deleted.

0 comments on commit 5cf1003

Please sign in to comment.