Skip to content

ianunruh/whirlwind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whirlwind

Proactive change agent for services managed by Juju

CHANGE PLACES!

Features

To experiment with proactive change of services, this tool watches a Juju deployment and performs unit replacement. Units for working services get replaced every 10 minutes, by default. The replacement interval, as well as the watched services, are configurable by the end user.

In the future, this tool should be able to properly hook into Juju to track convergence of changes across services, as well as provide other forms of proactive change (switching charms, service configuration, constraints, etc.)

Concepts

Juju provides a solid model for describing services and relationships, along with the orchestration needed to deploy those services. It provides a number of features that can be used to perform proactive changes for an application stack.

Juju also provides functionality similar to Fabric or MCollective, like the ability to execute commands or distribute files to multiple machines.

Development

  1. Deploy Juju
  2. Clone this repository
  3. Install dependencies with pip install -r requirements.txt
  4. Customize the example configuration file for your environment
  5. Start the agent with python whirlwind.py -v

Some of this process can be expedited using vagrant up with the included Vagrantfile.

Resources

About

Proactive change agent for Juju

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published