Awesome
Bosh release for Apache Mesos
This is a simple Bosh release for Apache Mesos. The release contains four jobs
- A Mesos master job
- A Mesos slave
- A Jenkins CI master
- A Marathon job
- An Apache Storm job
Usage
To build:
- Run
git clone https://github.com/cghsystems/bosh-jenkins-mesos
cd bosh-jenkins-mesos
- Run
bosh create release
- Run
bosh upload release
- Run
bosh deployment manifests/mesos-jenkins-boshlite.yml
- Run
bosh deploy
. This stage takes about 15 minutes running on a MacBook Pro running OSX Mavericks with 16gb RAM and an Intel core I7 2.7ghz. The majority of the time is taken up compiling Apache Mesos. - Add tests
Jenkins
Once deployed Jenkins should be available at http://10.244.1.2
and the Mesos console should be available at http://10.244.1.2:5050/
. There should be a single registered Mesos slave visible under the Slaves
tab.
To create a Jenkins job that will run on Mesos add the label 'mesos' to the jobs (configure -> Restrict where this project can run checkbox) that you want to be run on a Jenkins slave launched on Mesos. Test out the connection via the 'Cloud' section under 'Configure Jenkins'
Marathon
Apache Marathon should be available at http://10.244.1.18:8080
Road Map
Create Zoo Keeper managed Apache Mesos Cluster- Seperate all jobs in to seperate Bosh releases
Add Marathon supporti- Add Chronos support
Add Storm support
Tests
An Rspec acceptance test pack lives under the test
directory. To run the tests, deploy the release and then execute Bundler as follows:
bundle install
bundle exec rspec
Disclaimer
This is not presently a production ready Apache Mesos release. This is a work in progress. Please raise any issue to chris@cloudcredo.com
The release has been created and tested against Bosh Lite with Bosh client version BOSH 1.2560.0
.