Juju Integration
Rationale:
As Juju grows into more environments there is a need to ensure Juju plays well with others.
Goal:
Juju Charm integration for Chef, Capistrano, Puppet, CloudStack, and Facter.
Blueprint information
- Status:
- Complete
- Approver:
- Antonio Rosales
- Priority:
- Medium
- Drafter:
- Ubuntu Server
- Direction:
- Approved
- Assignee:
- Mark Mims
- Definition:
- Approved
- Series goal:
- Accepted for quantal
- Implementation:
- Implemented
- Milestone target:
- ubuntu-12.10
- Started by
- Kate Stewart
- Completed by
- Clint Byrum
Whiteboard
Juju will not live in isolation
https:/
Potential integration points:
- Existing Puppet Deployments
- Existing puppet subordinate charm promulgated yesterday
- Existing Puppet Manifests
- External Node Classifier
- Capistrano / Fabric
- jitsu capfile -> emits a capfile
- capistrano subordinate?
- Chef
- SaltStack
Solutions
- REST API (lp:jrapi)
other ways to integrate
puppetforge
cookbooks on github
how do you make a charm out of any of these?
---
User Stories:
Andrew has some nice solid working Chef recipes. He would like to take advantage of the work already done in Chef, and use Juju as a service orchestration mechanism.
Nathan has some existing Puppet deployments that he would like to leverage in Juju's service deployment.
Assumptions:
n/a
Test Plans:
Test Chef, Puppet, Capistrano, CloudStack, and Facter integration points and charms in CharmTester.
Release Notes:
When available provide information on how Chef, Puppet, Capistrano, CloudStack, and Facter may be used in a Juju framework.
-- juju facter integration --
facter is a standalone command tool that can be used via Juju by just installing the package ( sudo apt-get install facter ).
With the addition of facter-
An example of this integration can be found in lp:~negronjl/+junk/hpcc
Work Items
Work items:
[mark-mims] charm to deploy chef-server (maybe w sub like clint's puppet sub) : POSTPONED
[mark-mims] charms that call chef solo recipes : POSTPONED
[negronjl] "jujustrano" ( Juju Capistrano integration ) : DONE
[negronjl] go to town on clint's puppet sub ( puppetforge? ) ( add charm create option for puppet recipes ) : POSTPONED
[negronjl] define ways that juju would need to call Capistrano : DONE
[negronjl] jrapi as juju-jitsu subcommand... 'jitsu api' : POSTPONED
[negronjl] integrate Juju with facter : DONE
[hazmat] export/import environment into juju-jitsu : DONE
[negronjl] how to make charms out of puppetforge modules / github cookbooks : POSTPONED
[negronjl] plugin for chef-search to interface with juju (possibly just chef sub) : POSTPONED
[mike-mcclurg] cloudstack integration : POSTPONED
[imbrandon] investigate enstratus integration : POSTPONED
Dependency tree
* Blueprints in grey have been implemented.