Skip to main content

A utility for automating multi-host, multi-environment software builds and deployments.

Project description

batou

batou is a multi-(component|host|environment|…) deployment utility.

Deployments are described in a model using “components” and can be deployed locally and remotely. Models are written as Python code.

See the batou documentation for details on how to use it.

Changelog

0.2.13 (2013-08-01)

  • Switch to asking pip installing eggs instead of flat installations as namespaces seem to collide otherwise.

  • Remove non-functional deprecated ‘md5sum’ attribute.

0.2.12 (2013-07-26)

  • Another attempt at getting convergency for package installation: actually leverage pkg_resources to check what version of a package is installed. PIP does not necessarily list or freeze setuptools, even if forced to reinstall.

0.2.11 (2013-07-25)

  • More resilience for creating virtualenvs for old python versions: provide a bootstrapping venv that carries a compatible venv package to create the actual virtualenv. Brr.

  • Rewrite PIP interaction with the installed database: don’t need YAML any longer and works with old versions of PIP that are required to work with Python 2.4.

  • Allow specifying the PIP version on the buildout master component.

  • Make bootstrapping virtualenv with correct setuptools version more reliable.

  • Silence verification command for virtualenv pkg_resources availability.

  • Support upgrading SVN working copies using the ‘svn upgrade’ command if necessary.

0.2.10 (2013-07-15)

  • Backport buildout/virtualenv handling from 1.x branch (mostly due to distribute/setuptools merge, but brings nice additional robustness).

  • Add exclude parameter to Directory component.

0.2.9 (2013-07-06)

  • Fix #12527: utils.cmd breaks on spacey arguments and embedded quotes.

  • Avoid accidentally creating incorrect directories in developer VFS mapping.

  • Switch testrunner to pytest. Refactor some tests to take advantage of its capabilities.

  • Clean up PEP8 / pyflakes errors, integrate pytest plugin to ensure continued compliance.

  • Clean up buildout versions specifications.

  • Fix .dmg extractor to copy symlinks as symlinks.

  • Fix remote sudo for Mac OS X target hosts.

0.2.8 (2013-06-18)

  • Added archive extractor for .dmg files.

  • Added flag for supervisor to control whether global or individual restarts wait until everything is running.

0.2.7 (2013-05-22)

  • Fix template for Nagios check service dependencies.

  • Update bootstrap call for batou-internal bootstrapping.

0.2.6 (2013-05-18)

  • Add component that clones from a Mercurial repository.

  • Write supervisord.pid into /run/local instead of ${workdir}/var to ensure correct startup after machine crashes.

  • Add ignore_returncode parameter to Component.cmd() to suppress exceptions on unsuccessful command execution.

0.2.5 (2013-04-23)

  • Fix interaction between supervisor programs and disabled supervisors: don’t try to start those programs.

0.2.4 (2013-04-22)

  • Force reread/update on supervisor after config changes.

0.2.3 (2013-04-22)

  • supervisor: wait up to 60 seconds instead of 30 until supervisor responds to a PID after triggering shutdown. Fix bug trying to detect shutdown: RuntimeError would cause residual data in output variables.

  • supervisor: after reloading, wait as long as the highest startup delay was configured on a program to avoid subsequent accidental restarts.

  • supervisor: remove ‘restart’ flag: always restart if we have a relevant change.

  • supervisor: fix bug in reload logic: path to supervisord.conf was wrong

0.2.2 (2013-04-19)

  • Allow specifying ‘configure_args’ on cmmi.Build or ‘args’ on cmmi.Configure.

  • Fix supervisor’s path lookup for event listeners to support the automatically installed superlance plugins better. This may change again in the future depending on other event listener needs.

0.2.1 (2013-04-18)

  • Fix supervisor refactoring: templates contained static paths from my development machine. Event listeners were not formatting the event list correctly.

  • Let RunningSupervisor wait (infinitely) long when reloading if the supervisorctl command returns ‘SHUTDOWN_STATE’. This supports large installations with many services more gracefully but might get stuck.

  • Fix supervisor’s Nagios check: I removed the bin/py custom interpreter and didn’t notice it was used by the check. Put it back.

0.2 (2013-04-18)

  • Lots of stuff that went on unreleased for way too long. Producing a release to allow people to stop running from trunk.

  • Buildout component: Allow custom buildout.cfg names and pass the name to bootstrap.

  • Improve SSH connection error logging: more readable now and hosts are identifiable. (#12093)

  • Do not automatically add missing SSH host keys any longer. (#11606)

  • Use python version specific virtualenv, if availble. This helps with ancient Python 2.4 components. For specific virtualenv versions no explicit python executable is passed.

  • Internalize download hash handling using hashlib. Allow selection of hash function. (Thanks to Christine Koppelt.)

  • Introduce new component modelling approach.

  • Start writing documentation.

  • Improve error message when download fails due to checksum mismatch.

Developing batou

Issue tracker:

https://projects.gocept.com/projects/batou/

Source code:

https://bitbucket.org/gocept/batou/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

batou-0.2.13.zip (329.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page