Skip to content

Releases: seomoz/roger-mesos-tools

v0.4.6

07 Jul 18:37
Compare
Choose a tag to compare

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

24 Jun 01:32
Compare
Choose a tag to compare

Enhancement

  • Send credentials for chronos framework to support auth.

v0.4.4

23 Jun 23:05
Compare
Choose a tag to compare

Bug fix

  • During roger push send the act-as-user header to framework only if available.

v0.4.3

14 Jun 19:38
Compare
Choose a tag to compare

Enhancements

  • Support for dependent jobs in chronos.
  • Ability to choose multiple apps and specific containers during roger deploy and specific containers during roger 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

01 Jun 18:15
Compare
Choose a tag to compare

Enhancement

  • Updated push validations to support multiple apps per endpoint and affinity.

Bug fix

  • Fixed a bug where giving a docker filename would cause the docker build to skip.

v0.4.1

18 May 23:23
Compare
Choose a tag to compare

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 during roger 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

06 May 18:08
Compare
Choose a tag to compare

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

21 Apr 00:29
Compare
Choose a tag to compare

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 -
  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 the ROGER_CONFIG_DIR environment variable.

Bug Fix

  • Commands push and deploy 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

06 Apr 00:01
Compare
Choose a tag to compare

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.

v0.3.1

16 Mar 20:55
Compare
Choose a tag to compare

Bug fix

  • Fixed an issue that prevented a put to marathon because of missing environment details.