Releases: seomoz/roger-mesos-tools
Releases · seomoz/roger-mesos-tools
v0.4.6
Bug fixes
- Fix to bug related to statsd client initialization.
- Fix to travis setup which (missed when the repo was made public.)
- Fixes to issues and bugs that creeped in while travis setup was incorrect.
Other changes
- Changes to roger-env file name and contents in support of some future work.
v0.4.5
v0.4.4
v0.4.3
Enhancements
- Support for dependent jobs in chronos.
- Ability to choose multiple apps and specific containers during
roger deploy
and specific containers duringroger push
. This is a breaking change:- The argument syntax for these 2 commands have changed slightly.
- Please refer to help message (
<roger-command> -h
) for more details.
- Added support for tracking timing metrics for deploy commands.
- Added support for user delegation (using act-as header.)
v0.4.2
v0.4.1
Enhancements
- Ability to use any name for the
Dockerfile
.- This allows multiple docker builds from the same directory.
- Also,
deploy
now fails when a Dockerfile name is specified but missing.
- Ability to use
yml
files for secrets and extra variable files. - Ability to skip
gitpull
duringroger deploy
. - Use
ROGER_USER
user name (that is also used for auth) instead of the git user for notifications.
Under the hood
- Fixed bug in travis file.
- Code cleanup and minor refactoring.
v0.4.0
Enhancements
- Deploy per container - You can now deploy or push per container (sub application/task) instead of having to deploy all of them every time.
- Extra variables - You can now provide an
extra_variables_path
in your app config file to read variables from any file - you can use this to read variables from your code base - versions or tags for example. (Thanks @evanbattaglia!) - Jinja secrets - Secrets are treated as jinja2 variables to be consistent with other variables. This is also recommended.
-
In terms of priority (when the same variable is defined at multiple places):
secrets > extra vars > other vars
. -
The old way of using
"SECRET"
still works but is deprecated. -
Note that the secret file format remains the same. For example, if you have:
{ 'TOP_SECRET': 'some top secret' }
Now, in the template file you can refer to the above value as
{{ TOP_SECRET }}
-
- Any github repo - The repo variable can now be any github repo (not just seomoz.)
Bug Fixes
- Better exception handling on deploy (or other) failures.
- Better and clear message when push fails due to a problem like missing jinja variables.
- The
pre_push
hook is now run before the templates are rendered as that's where the push related work begins. (Thanks @evanbattaglia!)
Under the hood
- Setup and installation is now more 'pythonic'!
- Code is pep8 compliant (mostly!)
- More refactor and more tests.
- Docker related code abstracted into it's own module.
v0.3.3
Enhancements
- New feature - You can now add hooks to any application to run a custom command (or script) right before and/or after
gitpull
,build
,push
commands.- Note that the hooks will also get called during
deploy
command which calls these 3 commands in sequence. - All of the hooks are optional.
- They are run in the following locations (dirs) -
- gitpull hooks are run in the dir where the repo dir is created.
- build hooks are run in dir where the buld file (e.g.
Dockerfile
) exists. - push hooks are run in the dir where the templates exist.
- As is evident in the example below you can always
cd < to a dir of your choice > && < run your commands >
too.
- Here's an example that shows how to set this up in your config file -
- Note that the hooks will also get called during
apps:
collectd:
hooks:
pre_gitpull: pwd && echo "About to gitpull"
post_gitpull: pwd && echo "Done with gitpull"
pre_build: pwd && echo "About to start build"
post_build: pwd && echo "Done with build"
pre_push: pwd && echo "About to start push"
post_push: pwd && echo "Done with push"
containers:
- New feature - A new command
roger ps
provides details about apps and tasks. - Commands like
deploy
build
push
etc. now treat the application config file argument as a regular file path first. If not found, they look for it in the path given by theROGER_CONFIG_DIR
environment variable.
Bug Fix
- Commands
push
anddeploy
now provide better information when a template is not found or a json load fails.
Other changes
- Refactored code and added more unit tests.
- Updated travis CI setup.
v0.3.2
Enhancements
- Added deployment check for
HTTP_PREFIX
conflict. - Added deployment check for TCP port conflict.
- Enabled strict checking for jinja variables to disallow deployments with unresolved jinja variables.
Bug Fixes
- Fixed a bug that prevented the components creation when calling
deploy
with the--skip-push
argument. - Fixed a bug that didn't remove temporary directory during the deploy process.
Other changes
- Refactored code and added more unit tests.
- Enabled travis CI.