GithubHelp home page GithubHelp logo

everpeace / vagrant-mesos Goto Github PK

View Code? Open in Web Editor NEW
433.0 32.0 140.0 914 KB

Spin up your Mesos Cluster with Vagrant! (VirtualBox and AWS)

Home Page: https://github.com/everpeace/vagrant-mesos

License: MIT License

Ruby 92.88% HTML 2.72% Shell 4.40%

vagrant-mesos's Introduction

Spin up your Mesos cluster with Vagrant! (Both Virtualbox and AWS are supported.)

This spins up Mesos 0.22.1 cluster and also spins up a framework server node in which Marathon (0.8.2) and Chronos (2.1.0) are running. This means you can build your own Mesos+Marathon+Chronos+Docker PaaS with vagrant up!! Marathon works as distributed init.d and Chronos works as distributed cron!! If you wanted to deploy docker containers, please refer to the chapter "Deploy Docker Container with Marathon" in this blog entry.

The mesos installation is powered by Mesos chef cookbook. Please see everpeace/cookbook-mesos.

Base boxes used in Vagrantfiles are Mesos pre-installed boxes, everpeace/mesos shared on Vagrant Cloud.

Prerequisites

Mesos Standalone on VirtualBox

It's so simple!

$ git clone https://github.com/everpeace/vagrant-mesos.git
$ cd vagrant-mesos/standalone
$ vagrant up

After box is up, you can see services running at:

Mesos Standalone on EC2

  1. Set ec2 credentials and some configurations defined in standalone/aws_config.yml. You have to fill up EDIT_HERE parts. Security group you'll set must accept at least tcp port 22(SSH) and 5050(mesos-master web ui) from outside of ec2.

     # Please set AWS credentials
     access_key_id:  EDIT_HERE
     secret_access_key: EDIT_HERE
    
     # Please choose one from
     # ["ap-northeast-1", "ap-southeast-1", "eu-west-1", "sa-east-1", "us-east-1",
     #  "us-west-1", "ap-southeast-2", "us-west-2"]
     region: us-east-1
    
     # array of security groups. e.g. ['sg*** ']
     security_groups: EDIT_HERE
    
     # See http://aws.amazon.com/ec2/instance-types/#selecting-instance-types
     # for other instance types and its specs.
     instance_type: m1.small
    
     keypair_name: EDIT_HERE
    
     ssh_private_key_path: EDIT_HERE
    
  2. You can spin up mesos box on ec2 by the same way with the case of virtual box

     cd standalone
     vagrant up --provider=aws
    

    After box is up, you can see services running at:

    • Mesos web UI on: http://#_public_dns_of_the_VM_#:5050
    • Marathon web UI on: http://#_public_dns_of_the_VM_#:8080
    • Chronos web UI on: http://#_public_dns_of_the_VM_#:8081

    Tips: you can get public dns of the vm by:

    $ vagrant ssh -- 'echo http://`curl --silent http://169.254.169.254/latest/meta-data/public-hostname`:5050'
    http://ec2-54-193-24-154.us-west-1.compute.amazonaws.com:5050
    

Mesos Cluster on VirtualBox

Cluster Configuration

Cluster configuration is defined at multinodes/cluster.yml. You can edit the file to configure cluster settings.

# Mesos cluster configurations
mesos_version: 0.22.1

# The numbers of servers
##############################
zk_n: 1          # hostname will be zk1, zk2, …
master_n: 1      # hostname will be master1,master2,…
slave_n : 1      # hostname will be slave1,slave2,…

# Memory and Cpus setting(only for virtualbox)
##########################################
zk_mem     : 256
zk_cpus    : 1
master_mem : 256
master_cpus: 1
slave_mem  : 512
slave_cpus : 2

# private ip bases
# When ec2, this should be matched with
# private addresses defined by subnet_id below.
################################################
zk_ipbase    : "172.31.0."
master_ipbase: "172.31.1."
slave_ipbase : "172.31.2."

Launch Cluster

This takes several minutes(10 to 20 min.). It's time to go grabbing some coffee.

$ cd multinodes
$ vagrant up

At default setting, after all the boxes are up, you can see services running at:

Destroy Cluster

this operations all VM instances forming the cluster.

$ cd multinodes
$ vagrant destroy

Mesos Cluster on EC2 (VPC)

Because we assign private IP addreses to VM instances, this Vagrantfile requires Amazon VPC (you'll have to set subnet_id and security grooups both of which associates to the same VPC instance).

Note: Using default VPC is highly recommended. If you used non-default VPC, you should make sure to activate "DNS resolution" and "DNS hostname" feature in the VPC.

Cluster Configuration

You have to configure some additional stuffs in multinodes/cluster.yml which are related to EC2. Please note that

  • subnet_id should be a VPC subnet
  • security_groups should be ones associated to the VPC instance.
    • security_groups should allow accesses to ports 22(SSH), 2181(zookeeper) and 5050--(mesos).
(cont.)
# EC2 Configurations
# please choose one region from
# ["ap-northeast-1", "ap-southeast-1", "eu-west-1", "sa-east-1",
#  "us-east-1", "us-west-1", "ap-southeast-2", "us-west-2"]
# NOTE: if you used non-default vpc, you should make sure that
#       limit of the elastic ips is no less than (zk_n + master_n + slave_n).
#       In EC2, the limit default is 5.
########################
access_key_id:  EDIT_HERE
secret_access_key: EDIT_HERE
default_vpc: true                  # default vpc or not.
subnet_id: EDIT_HERE               # VPC subnet id
security_groups: ["EDIT_HERE"]     # array of VPN security groups. e.g. ['sg*** ']
keypair_name: EDIT_HERE
ssh_private_key_path: EDIT_HERE
region: EDIT_HERE

# see http://aws.amazon.com/ec2/instance-types/#selecting-instance-types
zk_instance_type: m1.small
master_instance_type: m1.small
slave_instance_type: m1.small

Launch Cluster

After editing configuration is done, you can just hit regular command.

$ cd multinode
$ vagrant up --provider=aws --no-parallel

NOTE: --no-parallel is highly recommended because vagrant-berkshelf plugin is prone to failure in parallel provisioning.

After instances are all up, you can see

  • mesos web UI on: http://#_public_dns_of_the_master_N_#:5050
  • marathon web UI on: http://#_public_dns_of_marathon_#:8080
  • Chronos web UI on: http://#_public_dns_of_chronos#:8081

if everything went well.

Tips: you can get public dns of the vms by:

$ vagrant ssh master1 -- 'echo http://`curl --silent http://169.254.169.254/latest/meta-data/public-hostname`:5050'
http://ec2-54-193-24-154.us-west-1.compute.amazonaws.com:5050

If you wanted to make sure that the specific mastar(e.g. master1) could be an initial leader, you can cotrol the order of spinning up VMs like below.

$ cd multinode
# spin up an zookeeper ensemble
$ vagrant up --provider=aws /zk/

# spin up master1. master1 will be an initial leader
$ vagrant up --provider=aws master1

# spin up remained masters
$ vagrant up --provider=aws /master[2-9]/

# spin up slaves
$ vagrant up --provider=aws /slave/

# spin up marathon
$ vagrant up --provider=aws marathon

Stop your Cluster

$ cd multinodes
$ vagrant halt

Resume your Cluster

$ cd multinodes
$ vagrant reload --provision

Destroy your Cluster

This operations terminates all VMs instances forming the cluster.

$ cd multinodes
$ vagrant destroy

vagrant-mesos's People

Contributors

ajlanghorn avatar chrisjs avatar everpeace avatar felixb avatar gitter-badger avatar hunterowens avatar kdemarest avatar miroswan avatar preoctopus avatar rweald avatar sqorbrody avatar themgt avatar thorduri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vagrant-mesos's Issues

Error:"The '' provisioner could not be found" when running multinode "vagrant up"

On the tip of master (dfca68e), running vagrant up on the default multinode config gives the following error:

...
==> zk1: Successfully added box 'everpeace/mesos' (v0.21.0.0) for 'virtualbox'!
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The '' provisioner could not be found.

Vagrant:
* Unknown configuration section 'berkshelf'.
* Unknown configuration section 'omnibus'.

This is on an Ubuntu 14.04.02 host, Vagrant 1.7.2.

Berksfile 'site' location deprecated, changing to 'source'

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'everpeace/mesos'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'everpeace/mesos' is up to date...
==> default: Setting the name of the VM: vagrant-mesos-standalone
Updating Vagrant's berkshelf: '/home/jfluhmann/.berkshelf/default/vagrant/berkshelf-20141106-11641-1mz9nfy-default'
DEPRECATED: Your Berksfile contains a site location pointing to the Opscode Community Site (site :opscode). Site locations have been replaced by the source location. Change this to: 'source "https://supermarket.getchef.com"' to remove this warning. For more information visit https://github.com/berkshelf/berkshelf/wiki/deprecated-locations
Resolving cookbook dependencies...

Unable to 'up': Error executing action `create` on resource 'remote_file[/var/chef/cache/mesos_0.19.0.deb]'

==> default: [2014-08-04T15:55:18+00:00] WARN: remote_file[/var/chef/cache/mesos_0.19.0.deb] cannot be downloaded from http://downloads.mesosphere.io/master/ubuntu/14.04/mesos_0.19.0_amd64.deb: 403 "Forbidden"
==> default:
==> default: ================================================================================
==> default: Error executing action create on resource 'remote_file[/var/chef/cache/mesos_0.19.0.deb]'
==> default: ================================================================================
==> default:
==> default:
==> default: Net::HTTPServerException
==> default: ------------------------
==> default: 403 "Forbidden"
==> default:
==> default: Resource Declaration:
==> default: ---------------------
==> default: # In /tmp/vagrant-chef-8/chef-solo-1/cookbooks/mesos/libraries/helpers.rb
==> default:
==> default: 113: remote_file "#{Chef::Config[:file_cache_path]}/mesos_#{mesos_version}.deb" do
==> default: 114: source download_url
==> default: 115: mode 0644
==> default: 116: not_if { (installed?) == true }
==> default: 117: notifies :install, "dpkg_package[mesos]"
==> default: 118: end
==> default: 119:
==> default: 120: dpkg_package "mesos" do
==> default: 121: source "#{Chef::Config[:file_cache_path]}/mesos_#{mesos_version}.deb"
==> default: 122: action :install
==> default: 123: not_if { (installed?) == true }
==> default: 124: end
==> default: 125: end
==> default: 126: end
==> default:
==> default: Compiled Resource:
==> default: ------------------
==> default: # Declared in /tmp/vagrant-chef-8/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:113:in `install_mesos'
==> default:
==> default: remote_file("/var/chef/cache/mesos_0.19.0.deb") do
==> default: provider Chef::Provider::RemoteFile
==> default: action "create"
==> default: retries 0
==> default: retry_delay 2
==> default: guard_interpreter :default
==> default: path "/var/chef/cache/mesos_0.19.0.deb"
==> default: backup 5
==> default: atomic_update true
==> default: source ["http://downloads.mesosphere.io/master/ubuntu/14.04/mesos_0.19.0_amd64.deb"]
==> default: use_etag true
==> default: use_last_modified true
==> default: cookbook_name :mesos
==> default: recipe_name "mesosphere"
==> default: mode 420
==> default: not_if { #code block }
==> default: end
==> default:
==> default: [2014-08-04T15:55:18+00:00] INFO: Running queued delayed notifications before re-raising exception
==> default: [2014-08-04T15:55:18+00:00] ERROR: Running exception handlers
==> default: [2014-08-04T15:55:18+00:00] ERROR: Exception handlers complete
==> default: [2014-08-04T15:55:18+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> default: [2014-08-04T15:55:18+00:00] ERROR: remote_file[/var/chef/cache/mesos_0.19.0.deb](mesos::mesosphere line 113) had an error: Net::HTTPServerException: 403 "Forbidden"
==> default: [2014-08-04T15:55:18+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

not booting

hi, I've cloned repo, entered standalone and got errors :/

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The 'hosts' provisioner could not be found.

Vagrant:

  • Unknown configuration section 'berkshelf'.
  • Unknown configuration section 'omnibus'.

Syntax error in .dockercfg support

:~/vagrant-mesos/standalone$ vagrant up
There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

/home/jfluhmann/vagrant-mesos/standalone/Vagrantfile:123: syntax error, unexpected '\n', expecting =>
/home/jfluhmann/vagrant-mesos/standalone/Vagrantfile:125: syntax error, unexpected '.'
      chmod 600 /root/.dockercfg

                       ^
:~/vagrant-mesos/standalone$ vagrant up
There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

/home/jfluhmann/vagrant-mesos/standalone/Vagrantfile:129: can't find string "SCRIPT" anywhere before EOF
/home/jfluhmann/vagrant-mesos/standalone/Vagrantfile:123: syntax error, unexpected end-of-input, expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END

error while running berksfile

Hello,

first of all, many thanks for the great work you did. I just got one error when I try to vagrant up the standalone server under windows 8:

error: unable to create file files/default/vendor/gems/docker-api-1.22.0/spec/vc
r/Docker_Image/_build_from_dir/with_a_valid_Dockerfile/with_a_block_capturing_bu
ild_output/uses_a_cached_version_the_second_time/calls_the_block_and_passes_buil
d_output.yml (Filename too long)
fatal: Could not reset index file to revision '61ebc82d8a0c40d527b78ca8b3e113775
bb254be'.

Do we have any change to solve this problem under windows?

Best Regards
Jing

Doesn't support AWS VPC

I got this error when trying to bootstrap on AWS VPC

± vagrant up --provider=aws
Bringing machine 'default' up with 'aws' provider...
==> default: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> default: This is a bug with the provider. Please contact the creator
==> default: of the provider you use to fix this.
==> default: The cookbook path '/Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default' doesn't exist. Ignoring...
Updating Vagrant's berkshelf: '/Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default'
DEPRECATED: Your Berksfile contains a site location pointing to the Opscode Community Site (site :opscode). Site locations have been replaced by the source location. Change this to: 'source "https://supermarket.getchef.com"' to remove this warning. For more information visit https://github.com/berkshelf/berkshelf/wiki/deprecated-locations
Resolving cookbook dependencies...
Fetching 'docker' from git://github.com/bflad/chef-docker.git (at master)
Fetching 'mesos' from git://github.com/everpeace/cookbook-mesos.git (at master)
Fetching cookbook index from https://supermarket.getchef.com...
Using 7-zip (1.0.2)
Using apt (2.6.0)
Using ark (0.9.0)
Installing aufs (0.1.1)
Using build-essential (2.0.6)
Using chef_handler (1.1.6)
Installing device-mapper (0.1.0)
Installing dmg (2.2.0)
Using docker (0.35.2) from git://github.com/bflad/chef-docker.git (at master)
Installing dpkg_autostart (0.1.10)
Installing git (4.0.2)
Installing golang (1.4.0)
Installing homebrew (1.9.0)
Installing iptables (0.14.0)
Installing java (1.28.0)
Installing lxc (1.1.8)
Installing maven (1.1.0)
Using mesos (0.2.1) from git://github.com/everpeace/cookbook-mesos.git (at master)
Installing modules (0.2.0)
Using ohai (2.0.1)
Installing python (1.4.6)
Using runit (1.5.10)
Installing sysctl (0.6.0)
Installing ulimit (0.3.2)
Installing windows (1.34.6)
Using yum (3.3.2)
Using yum-epel (0.5.1)
Vendoring 7-zip (1.0.2) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/7-zip
Vendoring apt (2.6.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/apt
Vendoring ark (0.9.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/ark
Vendoring aufs (0.1.1) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/aufs
Vendoring build-essential (2.0.6) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/build-essential
Vendoring chef_handler (1.1.6) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/chef_handler
Vendoring device-mapper (0.1.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/device-mapper
Vendoring dmg (2.2.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/dmg
Vendoring docker (0.35.2) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/docker
Vendoring dpkg_autostart (0.1.10) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/dpkg_autostart
Vendoring git (4.0.2) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/git
Vendoring golang (1.4.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/golang
Vendoring homebrew (1.9.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/homebrew
Vendoring iptables (0.14.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/iptables
Vendoring java (1.28.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/java
Vendoring lxc (1.1.8) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/lxc
Vendoring maven (1.1.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/maven
Vendoring mesos (0.2.1) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/mesos
Vendoring modules (0.2.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/modules
Vendoring ohai (2.0.1) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/ohai
Vendoring python (1.4.6) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/python
Vendoring runit (1.5.10) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/runit
Vendoring sysctl (0.6.0) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/sysctl
Vendoring ulimit (0.3.2) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/ulimit
Vendoring windows (1.34.6) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/windows
Vendoring yum (3.3.2) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/yum
Vendoring yum-epel (0.5.1) to /Users/xbeta/.berkshelf/default/vagrant/berkshelf-20141002-37331-du312d-default/yum-epel

==> default: Warning! The AWS provider doesn't support any of the Vagrant
==> default: high-level network configurations (`config.vm.network`). They
==> default: will be silently ignored.
==> default: Launching an instance with the following settings...
==> default:  -- Type: m3.medium
==> default:  -- AMI: ami-33db9803
==> default:  -- Region: us-west-2
==> default:  -- Keypair: jenkins-builder
==> default:  -- Security Groups: ["corp", "mesos"]
==> default:  -- Block Device Mapping: []
==> default:  -- Terminate On Shutdown: false
==> default:  -- Monitoring: false
==> default:  -- EBS optimized: false
==> default:  -- Assigning a public IP address in a VPC: false
VagrantPlugins::AWS::Errors::FogError: There was an error talking to AWS. The error message is shown
below:

InvalidParameterCombination => VPC security groups may not be used for a non-VPC launch

Document cautions when user uses custom_ami.

The vagrant box used in Vagrantfile has some assumptions below:

  • zookeeper service is installed.
  • mesos master/slave service is installed
  • chronos, marathon are instaled into /opt/

These should be documented because users must take care of these when they use custom_ami.

this issue rises from #24

issue with Berkshelf

new vagrant user here, no experience with Chef.

I am stuck getting the vagrant pre reqs installed on my Mac OS 10.10.2. Specifically vagrant-berkshelf.
I installed Chefdk, and berks is available at command line, but something else is stopping the vagrant plugin.

Steves-Mac-Pro:standalone sgg$ vagrant plugin install vagrant-berkshelf
Installing the 'vagrant-berkshelf' plugin. This can take a few minutes...
Installed the plugin 'vagrant-berkshelf (4.0.4)'!
Post install message from the 'vagrant-berkshelf' plugin:

The Vagrant Berkshelf plugin requires Berkshelf from the Chef Development Kit.
You can download the latest version of the Chef Development Kit from:

https://downloads.getchef.com/chef-dk

Installing Berkshelf via other methods is not officially supported.

Steves-Mac-Pro:standalone sgg$ berks --version
3.2.4
Steves-Mac-Pro:standalone sgg$

Suggestions?

Error while Vagrant Up command in standalone and multinode setup

er
while running following command on terminal
$ git clone https://github.com/everpeace/vagrant-mesos.git (work fine)
$ cd vagrant-mesos/standalone (work fine)
$ vagrant up
when i put vagrant up its shows error for VboxManage missing

Steps i have done: installed oracle virtual box compatible version and then putty
connected to it by given configuration
127.0.0.1:2222
uid & password: vagrant
So how to run vagrant up

path for virtual box is set in windows env :C:\Program Files\Oracle\VirtualBox

berksfile_path must be set

How do I fix this issue?

$ vagrant up
Bringing machine 'zk1' up with 'virtualbox' provider...
Bringing machine 'master1' up with 'virtualbox' provider...
Bringing machine 'master2' up with 'virtualbox' provider...
Bringing machine 'slave1' up with 'virtualbox' provider...
Bringing machine 'slave2' up with 'virtualbox' provider...
Bringing machine 'slave3' up with 'virtualbox' provider...
Bringing machine 'marathon' up with 'virtualbox' provider...
zk1: The Berkshelf shelf is at "/Volumes/MacintoshHDD/Users/dalekurt/.berkshelf/vagrant-berkshelf/shelves/berkshelf20141115-55839-4nqz06-zk1"
==> zk1: Sharing cookbooks with VM
There are errors in the configuration of this machine. Please fix
the following errors and try again:

Berkshelf:

  • berksfile_path must be set

Unable to 'up'

Partial log below.
Note the '404' errors.

Workaround?

Thanks!

Generating chef JSON and uploading...
==> slave1: Running chef-solo...
==> slave1: [2014-08-03T11:05:10+00:00] INFO: Forking chef instance to converge...
==> slave1: [2014-08-03T11:05:10+00:00] WARN:
==> slave1: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
==> slave1: SSL validation of HTTPS requests is disabled. HTTPS connections are still
==> slave1: encrypted, but chef is not able to detect forged replies or man in the middle
==> slave1: attacks.
==> slave1:
==> slave1: To fix this issue add an entry like this to your configuration file:
==> slave1:
==> slave1: ==> slave1: # Verify all HTTPS connections (recommended) ==> slave1: ssl_verify_mode :verify_peer ==> slave1: ==> slave1: # OR, Verify only connections to chef-server ==> slave1: verify_api_cert true ==> slave1:
==> slave1:
==> slave1: To check your SSL configuration, or troubleshoot errors, you can use the
==> slave1: knife ssl check command like so:
==> slave1:
==> slave1: ==> slave1: knife ssl check -c /tmp/vagrant-chef-22/solo.rb ==> slave1:
==> slave1:
==> slave1: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
==> slave1: [2014-08-03T11:05:10+00:00] INFO: *** Chef 11.14.2 ***
==> slave1: [2014-08-03T11:05:10+00:00] INFO: Chef-client pid: 2577
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[mesos]", "recipe[docker::aufs]", "recipe[docker::lxc]", "recipe[docker]", "recipe[mesos::slave]", "recipe[mesos::docker-executor]"] from CLI options
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Run List is [recipe[apt], recipe[mesos], recipe[docker::aufs], recipe[docker::lxc], recipe[docker], recipe[mesos::slave], recipe[mesos::docker-executor]]
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Run List expands to [apt, mesos, docker::aufs, docker::lxc, docker, mesos::slave, mesos::docker-executor]
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Starting Chef Run for slave1
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Running start handlers
==> slave1: [2014-08-03T11:05:17+00:00] INFO: Start handlers complete.
==> slave1: [2014-08-03T11:05:19+00:00] INFO: WindowsPackage lightweight resource already initialized -- overriding!
==> slave1: [2014-08-03T11:05:19+00:00] WARN: Cloning resource attributes for execute[apt-get-update] from prior resource (CHEF-3694)
==> slave1: [2014-08-03T11:05:19+00:00] WARN: Previous execute[apt-get-update]: /tmp/vagrant-chef-22/chef-solo-1/cookbooks/apt/recipes/default.rb:29:in from_file' ==> slave1: [2014-08-03T11:05:19+00:00] WARN: Current execute[apt-get-update]: /tmp/vagrant-chef-22/chef-solo-1/cookbooks/apt/recipes/default.rb:38:infrom_file'
==> slave1: apt-cacher-ng: unrecognized service
==> slave1: [2014-08-03T11:05:36+00:00] INFO: node[:mesos][:prefix] is ignored. prefix will be set with /usr/local .
==> slave1: [2014-08-03T11:05:36+00:00] WARN: Cloning resource attributes for template[/etc/init/mesos-slave.conf] from prior resource (CHEF-3694)
==> slave1: [2014-08-03T11:05:36+00:00] WARN: Previous template[/etc/init/mesos-slave.conf]: /tmp/vagrant-chef-22/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:140:in deploy_service_scripts' ==> slave1: [2014-08-03T11:05:36+00:00] WARN: Current template[/etc/init/mesos-slave.conf]: /tmp/vagrant-chef-22/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:168:inactivate_slave_service_scripts'
==> slave1: [2014-08-03T11:05:36+00:00] INFO: template[dpkg_autostart_file] created file /usr/sbin/policy-rc.d
==> slave1: [2014-08-03T11:05:36+00:00] INFO: template[dpkg_autostart_file] updated file contents /usr/sbin/policy-rc.d
==> slave1: [2014-08-03T11:05:36+00:00] INFO: template[dpkg_autostart_file] mode changed to 755
==> slave1: [2014-08-03T11:05:56+00:00] ERROR: execute[apt-get-update-periodic](apt::default line 73) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '100'
==> slave1: ---- Begin output of apt-get update ----
==> slave1: STDOUT: Ign http://security.ubuntu.com raring-security Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security Release
==> slave1: Ign http://archive.ubuntu.com raring Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security/main amd64 Packages/DiffIndex
==> slave1: Ign http://security.ubuntu.com raring-security/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security/universe amd64 Packages/DiffIndex
==> slave1: Ign http://security.ubuntu.com raring-security/multiverse amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring Release
==> slave1: Ign http://archive.ubuntu.com raring-updates Release
==> slave1: Ign http://archive.ubuntu.com raring/main amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/universe amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/multiverse amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/main amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/universe amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/multiverse amd64 Packages/DiffIndex
==> slave1: Ign http://security.ubuntu.com raring-security/main Translation-en
==> slave1: Ign http://security.ubuntu.com raring-security/multiverse Translation-en
==> slave1: Ign http://security.ubuntu.com raring-security/restricted Translation-en
==> slave1: Ign http://security.ubuntu.com raring-security/universe Translation-en
==> slave1: Err http://security.ubuntu.com raring-security/main amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/restricted amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/universe amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/multiverse amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Ign http://archive.ubuntu.com raring/main Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/multiverse Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/restricted Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/universe Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/main Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/multiverse Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/restricted Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/universe Translation-en
==> slave1: Err http://archive.ubuntu.com raring/main amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring/restricted amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring/universe amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring/multiverse amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/main amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/restricted amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/universe amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/multiverse amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: STDERR: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/main/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: E: Some index files failed to download. They have been ignored, or old ones used instead.
==> slave1: ---- End output of apt-get update ----
==> slave1: Ran apt-get update returned 100; ignore_failure is set, continuing
==> slave1:
==> slave1: ================================================================================
==> slave1: Error executing action run on resource 'execute[apt-get-update-periodic]'
==> slave1: ================================================================================
==> slave1:
==> slave1: Mixlib::ShellOut::ShellCommandFailed
==> slave1: ------------------------------------
==> slave1: Expected process to exit with [0], but received '100'
==> slave1:
==> slave1: ---- Begin output of apt-get update ----
==> slave1: STDOUT: Ign http://security.ubuntu.com raring-security Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security Release
==> slave1: Ign http://archive.ubuntu.com raring Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security/main amd64 Packages/DiffIndex
==> slave1: Ign http://security.ubuntu.com raring-security/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates Release.gpg
==> slave1: Ign http://security.ubuntu.com raring-security/universe amd64 Packages/DiffIndex
==> slave1:
==> slave1: Ign http://security.ubuntu.com raring-security/multiverse amd64 Packages/DiffIndex
==> slave1:
==> slave1: Ign http://archive.ubuntu.com raring Release
==> slave1: Ign http://archive.ubuntu.com raring-updates Release
==> slave1: Ign http://archive.ubuntu.com raring/main amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/universe amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring/multiverse amd64 Packages/DiffIndex
==> slave1:
==> slave1: Ign http://archive.ubuntu.com raring-updates/main amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/restricted amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/universe amd64 Packages/DiffIndex
==> slave1: Ign http://archive.ubuntu.com raring-updates/multiverse amd64 Packages/DiffIndex
==> slave1: Ign http://security.ubuntu.com raring-security/main Translation-en
==> slave1: Ign http://security.ubuntu.com raring-security/multiverse Translation-en
==> slave1: Ign http://security.ubuntu.com raring-security/restricted Translation-en
==> slave1:
==> slave1: Ign http://security.ubuntu.com raring-security/universe Translation-en
==> slave1: Err http://security.ubuntu.com raring-security/main amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/restricted amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/universe amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1: Err http://security.ubuntu.com raring-security/multiverse amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: Ign http://archive.ubuntu.com raring/main Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/multiverse Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/restricted Translation-en
==> slave1: Ign http://archive.ubuntu.com raring/universe Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/main Translation-en
==> slave1:
==> slave1: Ign http://archive.ubuntu.com raring-updates/multiverse Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/restricted Translation-en
==> slave1: Ign http://archive.ubuntu.com raring-updates/universe Translation-en
==> slave1: Err http://archive.ubuntu.com raring/main amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: Err http://archive.ubuntu.com raring/restricted amd64 Packages
==> slave1:
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: Err http://archive.ubuntu.com raring/universe amd64 Packages
==> slave1:
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: Err http://archive.ubuntu.com raring/multiverse amd64 Packages
==> slave1:
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: Err http://archive.ubuntu.com raring-updates/main amd64 Packages
==> slave1:
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/restricted amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/universe amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: Err http://archive.ubuntu.com raring-updates/multiverse amd64 Packages
==> slave1: 404 Not Found [IP: 91.189.91.13 80]
==> slave1: STDERR: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/main/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/raring-security/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.92.201 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/main/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/raring-updates/multiverse/binary-amd64/Packages 404 Not Found [IP: 91.189.91.13 80]
==> slave1:
==> slave1: E: Some index files failed to download. They have been ignored, or old ones used instead.
==> slave1: ---- End output of apt-get update ----
==> slave1: Ran apt-get update returned 100
==> slave1:
==> slave1: Cookbook Trace:
==> slave1: ---------------
==> slave1: /tmp/vagrant-chef-22/chef-solo-1/cookbooks/lxc/libraries/monkey.rb:20:in monkey_shell_out!' ==> slave1: ==> slave1: Resource Declaration: ==> slave1: --------------------- ==> slave1: # In /tmp/vagrant-chef-22/chef-solo-1/cookbooks/apt/recipes/default.rb ==> slave1: ==> slave1: 73: execute 'apt-get-update-periodic' do ==> slave1: 74: command 'apt-get update' ==> slave1: 75: ignore_failure true ==> slave1: 76: only_if do ==> slave1: 77: apt_installed? && ==> slave1: 78: ::File.exists?('/var/lib/apt/periodic/update-success-stamp') && ==> slave1: 79: ::File.mtime('/var/lib/apt/periodic/update-success-stamp') < Time.now - node['apt']['periodic_update_min_delay'] ==> slave1: 80: end ==> slave1: 81: end ==> slave1: 82: ==> slave1: ==> slave1: Compiled Resource: ==> slave1: ------------------ ==> slave1: # Declared in /tmp/vagrant-chef-22/chef-solo-1/cookbooks/apt/recipes/default.rb:73:infrom_file'
==> slave1:
==> slave1: execute("apt-get-update-periodic") do
==> slave1: action "run"
==> slave1: ignore_failure true
==> slave1: retries 0
==> slave1: retry_delay 2
==> slave1: guard_interpreter :default
==> slave1: command "apt-get update"
==> slave1: backup 5
==> slave1: returns 0
==> slave1: cookbook_name :apt
==> slave1: recipe_name "default"
==> slave1: only_if { #code block }
==> slave1: end
==> slave1:
==> slave1:
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local] created directory /var/cache/local
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local] owner changed to 0
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local] group changed to 0
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local] mode changed to 755
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local/preseeding] created directory /var/cache/local/preseeding
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local/preseeding] owner changed to 0
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local/preseeding] group changed to 0
==> slave1: [2014-08-03T11:05:56+00:00] INFO: directory[/var/cache/local/preseeding] mode changed to 755
==> slave1:
==> slave1: ================================================================================
==> slave1: Error executing action install on resource 'package[unzip]'
==> slave1: ================================================================================
==> slave1:
==> slave1: Mixlib::ShellOut::ShellCommandFailed
==> slave1: ------------------------------------
==> slave1: Expected process to exit with [0], but received '100'
==> slave1: ---- Begin output of apt-get -q -y install unzip=6.0-8ubuntu2 ----
==> slave1:
==> slave1: STDOUT: Reading package lists...
==> slave1: Building dependency tree...
==> slave1: Reading state information...
==> slave1: The following packages were automatically installed and are no longer required:
==> slave1: erubis ohai ruby-bunny ruby-erubis ruby-highline ruby-i18n ruby-ipaddress
==> slave1: ruby-mime-types ruby-mixlib-authentication ruby-mixlib-cli
==> slave1: ruby-mixlib-config ruby-mixlib-log ruby-mixlib-shellout ruby-moneta
==> slave1: ruby-net-ssh ruby-net-ssh-gateway ruby-net-ssh-multi ruby-polyglot
==> slave1: ruby-rest-client ruby-sigar ruby-systemu ruby-treetop ruby-uuidtools
==> slave1: ruby-yajl
==> slave1: Use 'apt-get autoremove' to remove them.
==> slave1:
==> slave1: Suggested packages:
==> slave1: zip
==> slave1: The following NEW packages will be installed:
==> slave1: unzip
==> slave1: 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
==> slave1: Need to get 192 kB of archives.
==> slave1: After this operation, 394 kB of additional disk space will be used.
==> slave1: WARNING: The following packages cannot be authenticated!
==> slave1: unzip
==> slave1: STDERR: E: There are problems and -y was used without --force-yes
==> slave1:
==> slave1: ---- End output of apt-get -q -y install unzip=6.0-8ubuntu2 ----
==> slave1: Ran apt-get -q -y install unzip=6.0-8ubuntu2 returned 100
==> slave1:
==> slave1: Resource Declaration:
==> slave1: ---------------------
==> slave1: # In /tmp/vagrant-chef-22/chef-solo-1/cookbooks/mesos/libraries/helpers.rb
==> slave1:
==> slave1: 86: package pkg do
==> slave1: 87: action :install
==> slave1: 88: not_if { (installed?) == true }
==> slave1: 89: end
==> slave1:
==> slave1: 90: end
==> slave1:
==> slave1:
==> slave1: Compiled Resource:
==> slave1: ------------------
==> slave1: # Declared in /tmp/vagrant-chef-22/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:86:in `block in install_dependencies'
==> slave1:
==> slave1: package("unzip") do
==> slave1: action [:install]
==> slave1: retries 0
==> slave1: retry_delay 2
==> slave1: guard_interpreter :default
==> slave1: package_name "unzip"
==> slave1: version "6.0-8ubuntu2"
==> slave1:
==> slave1: timeout 900
==> slave1: cookbook_name :mesos
==> slave1: recipe_name "mesosphere"
==> slave1: not_if { #code block }
==> slave1: end
==> slave1:
==> slave1:
==> slave1: [2014-08-03T11:05:58+00:00] INFO: Running queued delayed notifications before re-raising exception
==> slave1: [2014-08-03T11:05:58+00:00] ERROR: Running exception handlers
==> slave1: [2014-08-03T11:05:58+00:00] ERROR: Exception handlers complete
==> slave1: [2014-08-03T11:05:58+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> slave1: [2014-08-03T11:05:58+00:00] ERROR: package[unzip](mesos::mesosphere line 86) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '100'
==> slave1: ---- Begin output of apt-get -q -y install unzip=6.0-8ubuntu2 ----
==> slave1: STDOUT: Reading package lists...
==> slave1: Building dependency tree...
==> slave1: Reading state information...
==> slave1: The following packages were automatically installed and are no longer required:
==> slave1: erubis ohai ruby-bunny ruby-erubis ruby-highline ruby-i18n ruby-ipaddress
==> slave1: ruby-mime-types ruby-mixlib-authentication ruby-mixlib-cli
==> slave1: ruby-mixlib-config ruby-mixlib-log ruby-mixlib-shellout ruby-moneta
==> slave1: ruby-net-ssh ruby-net-ssh-gateway ruby-net-ssh-multi ruby-polyglot
==> slave1: ruby-rest-client ruby-sigar ruby-systemu ruby-treetop ruby-uuidtools
==> slave1: ruby-yajl
==> slave1: Use 'apt-get autoremove' to remove them.
==> slave1: Suggested packages:
==> slave1: zip
==> slave1: The following NEW packages will be installed:
==> slave1: unzip
==> slave1: 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
==> slave1: Need to get 192 kB of archives.
==> slave1: After this operation, 394 kB of additional disk space will be used.
==> slave1: WARNING: The following packages cannot be authenticated!
==> slave1: unzip
==> slave1: STDERR: E: There are problems and -y was used without --force-yes
==> slave1: ---- End output of apt-get -q -y install unzip=6.0-8ubuntu2 ----
==> slave1: Ran apt-get -q -y install unzip=6.0-8ubuntu2 returned 100
==> slave1: [2014-08-03T11:05:58+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

vagrant 1.6.2 issues

Hi I am having issues running the standalone setup:

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
/Users/sebgoa/.vagrant.d/gems/gems/vagrant-hostmanager-1.3.0/lib/vagrant-hostmanager/action/update_all.rb:24:in call': undefined methodconfig_global' for #Vagrant::Environment:0x00000100c29e20 (NoMethodError)
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/builtin/config_validate.rb:25:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Users/sebgoa/.vagrant.d/gems/gems/vagrant-berkshelf-2.0.1/lib/berkshelf/vagrant/action/configure_chef.rb:22:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Users/sebgoa/.vagrant.d/gems/gems/vagrant-berkshelf-2.0.1/lib/berkshelf/vagrant/action/load_shelf.rb:27:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Users/sebgoa/.vagrant.d/gems/gems/vagrant-berkshelf-2.0.1/lib/berkshelf/vagrant/action/set_ui.rb:11:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/builtin/env_set.rb:19:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/warden.rb:34:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/builder.rb:116:incall'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/runner.rb:66:in block in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/util/busy.rb:19:inbusy'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/action/runner.rb:66:in run' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/machine.rb:196:inaction_raw'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/machine.rb:173:in block in action' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/environment.rb:434:inlock'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/machine.rb:161:in call' from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/machine.rb:161:inaction'
from /Applications/Vagrant/embedded/gems/gems/vagrant-1.6.2/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
sebimac:standalone sebgoa$ vagrant -v
Vagrant 1.6.2
sebimac:standalone sebgoa$ vagrant plugin list
vagrant-berkshelf (2.0.1)
vagrant-cachier (0.7.2)
vagrant-cloudstack (0.2.0)
vagrant-hostmanager (1.3.0)
vagrant-hosts (2.1.4)
vagrant-login (1.0.1, system)
vagrant-omnibus (1.4.1)
vagrant-share (1.0.1, system)
vagrant-yaml (0.1.0)

thoughts ?

Create pre-baked vm image

Currently, provisioning by chef-solo is time-consuming. In multinodes configuration, it's awful, actually.
To get provisioning faster, it would need to create pre-baked vm images for vagrant-mesos. Because vagrant-mesos supports both virtualbox and ec2 provider, we need to bake images for both.

failed during "vagrant up"

Getting this error:

Fetching 'mesos' from git://github.com/everpeace/cookbook-mesos.git (at master)
Fetching cookbook index from https://supermarket.getchef.com...
Error retrieving universe from source: https://supermarket.getchef.com

  • [Berkshelf::APIClient::TimeoutError] Unable to connect to: https://supermarket.getchef.com

    stderr: Required artifacts do not exist at the desired version
    Missing artifacts: apt
    Unable to find a solution for demands: apt (>= 0.0.0), docker (0.37.0), mesos (0.2.2)

Conflicting IP address issue

So after configuring it to utilize a VPC for multi-node, I fail on this error with zk1. When I vagrant destroy it removes the instance wit the offending IP. Then brings zk1 back up with that same IP. Then I get the same error.

vagrant up --provider=aws --no-parallel
using vagrant-berkshelf
using vagrant-omnibus
using vagrant-hosts
Bringing machine 'zk1' up with 'aws' provider...
Bringing machine 'master1' up with 'aws' provider...
Bringing machine 'master2' up with 'aws' provider...
Bringing machine 'slave1' up with 'aws' provider...
Bringing machine 'slave2' up with 'aws' provider...
Bringing machine 'marathon' up with 'aws' provider...
[snip]
==> master1: Using chef_handler (1.2.0)
==> master1: Using docker (0.40.3) from git://github.com/bflad/chef-docker.git (at master)
==> master1: Using java (1.31.0)
==> master1: Using mesos (0.2.2) from git://github.com/everpeace/cookbook-mesos.git (at master)
==> master1: Using maven (1.3.0)
==> master1: Using python (1.4.6)
==> master1: Using windows (1.37.0)
==> master1: Using ulimit (0.3.3)
==> master1: Using yum-epel (0.6.2)
==> master1: Using yum (3.6.3)
==> master1: Vendoring 7-zip (1.0.2) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/7-zip
==> master1: Vendoring apt (2.7.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/apt
==> master1: Vendoring ark (0.9.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/ark
==> master1: Vendoring build-essential (2.2.3) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/build-essential
==> master1: Vendoring chef_handler (1.2.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/chef_handler
==> master1: Vendoring docker (0.40.3) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/docker
==> master1: Vendoring java (1.31.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/java
==> master1: Vendoring maven (1.3.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/maven
==> master1: Vendoring mesos (0.2.2) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/mesos
==> master1: Vendoring python (1.4.6) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/python
==> master1: Vendoring ulimit (0.3.3) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/ulimit
==> master1: Vendoring windows (1.37.0) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/windows
==> master1: Vendoring yum (3.6.3) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/yum
==> master1: Vendoring yum-epel (0.6.2) to /Users/nate/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150722-30827-8afd9x-master1/yum-epel
==> master1: Warning! The AWS provider doesn't support any of the Vagrant
==> master1: high-level network configurations (config.vm.network). They
==> master1: will be silently ignored.
==> master1: Warning! You're launching this instance into a VPC without an
==> master1: elastic IP. Please verify you're properly connected to a VPN so
==> master1: you can access this machine, otherwise Vagrant will not be able
==> master1: to SSH into it.
==> master1: Launching an instance with the following settings...
==> master1: -- Type: m1.small
==> master1: -- AMI: ami-51bb4d3a
==> master1: -- Region: us-east-1
==> master1: -- Keypair: AWS-KEY
==> master1: -- Subnet ID: subnet-sanitized
==> master1: -- Private IP: 10.99.19.11
==> master1: -- Security Groups: ["sg-sanitized"]
==> master1: -- Block Device Mapping: []
==> master1: -- Terminate On Shutdown: false
==> master1: -- Monitoring: false
==> master1: -- EBS optimized: false
==> master1: -- Assigning a public IP address in a VPC: false
==> master1: Warning! Vagrant might not be able to SSH into the instance.
==> master1: Please check your security groups settings.
There was an error talking to AWS. The error message is shown
below:

InUse => Address 10.99.19.11 is in use.

Marathon and chronos processes are not restarted

When you do vagrant up on the multinodes cluster, then do vagrant halt marathon and vagrant up again, neither marathon nor chronos processes are started within the marathon VM.
One have to destroy the vm instead and spend more time on vagrant up each time.
PS: I don't see anything related to chronos or marathon in the marathon:/etc/init/ or marathon:/etc/init.d/

vagrant up failed. what's up, please give some help. thanks.

macos 10.10

$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The '' provisioner could not be found.

Vagrant:
* Unknown configuration section 'berkshelf'.
* Unknown configuration section 'omnibus'.

ec2 multinodes: elastic versus public ip

Is there any reason you need to use up an EIP instead of just asking for any public IP?

Could this:

if conf[:default_vpc] then
  aws.elastic_ip = true
end

be this instead?

if !conf["default_vpc"] then
  aws.associate_public_ip = true
end

Also, where is :default_vpc defined and why is the EIP enabled when default_vpc = true and not the other way around?

Deimos Support

As release note saids, Mesos 0.19.0 support external containerizers. And mesosphere also released Deimos as an external containerizer for docker containerization.

I think it would be useful that vagrant-mesos supports setting up Deimos.

Vagrantfile Syntax Errors

I'm running into syntax issues when building up the multinode cluster, worked about a month ago. I'll try a git bisect to figure out what changed.

standalone does not seem to work in

Cloned the repo, used a pretty stand gemset but not able to run vagrant up?

SQOR-0089:standalone brody$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The '' provisioner could not be found.

Vagrant:

  • Unknown configuration section 'berkshelf'.
  • Unknown configuration section 'omnibus'.

SQOR-0089:standalone brody$

???

....

SQOR-0089:standalone brody$ gem list

*** LOCAL GEMS ***

addressable (2.3.8)
akami (1.3.1)
ast (2.0.0)
astrolabe (1.3.0)
aws-sdk (2.1.4)
aws-sdk-core (2.1.4)
aws-sdk-resources (2.1.4)
berkshelf (3.3.0)
berkshelf-api-client (1.3.0)
bigdecimal (1.2.6)
buff-config (1.0.1)
buff-extensions (1.0.0)
buff-ignore (1.1.1)
buff-ruby_engine (0.1.0)
buff-shell_out (0.2.0)
builder (3.2.2)
bundler (1.10.5)
bundler-unload (1.0.2)
celluloid (0.16.0)
celluloid-io (0.16.2)
chef (12.4.1)
chef-config (12.4.1)
chef-zero (4.2.3)
chefspec (4.2.0)
cleanroom (1.0.0)
coderay (1.1.0)
dep-selector-libgecode (1.0.2)
dep_selector (1.0.3)
diff-lcs (1.2.5)
em-winrm (0.6.0)
erubis (2.7.0)
eventmachine (1.0.7)
excon (0.45.3)
executable-hooks (1.3.2)
faraday (0.9.1)
fauxhai (2.3.0)
ffi (1.9.10)
ffi-yajl (2.2.0)
fog (1.23.0)
fog-brightbox (0.7.2)
fog-core (1.32.0)
fog-json (1.0.2)
fog-softlayer (0.4.7)
foodcritic (4.0.0)
formatador (0.2.5)
gem-wrappers (1.2.7)
gherkin (2.12.2)
gssapi (1.0.3)
gyoku (1.3.1)
hashie (2.1.2)
highline (1.7.2)
hitimes (1.2.2)
httpclient (2.6.0.1)
httpi (0.9.7)
inflecto (0.0.2)
io-console (0.4.3)
ipaddress (0.8.0)
jmespath (1.0.2)
json (1.8.3, 1.8.1)
kitchen-ec2 (0.10.0)
kitchen-vagrant (0.18.0)
knife-ec2 (0.10.0)
knife-windows (0.8.5)
libyajl2 (1.2.0)
little-plugger (1.1.3)
logging (1.8.2)
method_source (0.8.2)
mime-types (2.6.1)
mini_portile (0.6.2)
minitar (0.5.4)
mixlib-authentication (1.3.0)
mixlib-cli (1.5.0)
mixlib-config (2.2.1)
mixlib-log (1.6.0)
mixlib-shellout (2.1.0)
multi_json (1.11.2)
multipart-post (2.0.0)
net-http-persistent (2.9.4)
net-scp (1.2.1)
net-ssh (2.9.2)
net-ssh-gateway (1.2.0)
net-ssh-multi (1.2.1)
net-telnet (0.1.1)
nio4r (1.1.0)
nokogiri (1.6.6.2)
nori (1.1.5)
octokit (3.8.0)
ohai (8.5.0)
parser (2.2.2.6)
plist (3.1.0)
polyglot (0.3.5)
powerpack (0.1.1)
pry (0.10.1)
psych (2.0.8)
rack (1.6.4)
rainbow (2.0.0)
rake (10.4.2)
rdoc (4.2.0)
retryable (2.0.1)
ridley (4.2.0)
rspec (3.3.0)
rspec-core (3.3.1)
rspec-expectations (3.3.0)
rspec-its (1.2.0)
rspec-mocks (3.3.1)
rspec-support (3.3.0)
rspec_junit_formatter (0.2.3)
rubocop (0.32.1)
ruby-progressbar (1.7.5)
rubygems-bundler (1.4.4)
rubyntlm (0.1.1)
rufus-lru (1.0.5)
rvm (1.11.3.9)
safe_yaml (1.0.4)
savon (0.9.5)
sawyer (0.6.0)
semverse (1.2.1)
serverspec (2.19.0)
sfl (2.2)
slop (3.6.0)
solve (1.2.1)
specinfra (2.37.1)
syslog-logger (1.6.8)
systemu (2.6.5)
test-kitchen (1.4.1)
thor (0.19.1)
timers (4.0.1)
treetop (1.6.3)
uuidtools (2.1.5)
varia_model (0.4.0)
wasabi (1.0.0)
winrm (1.2.0)
winrm-s (0.2.4)
wmi-lite (1.0.0)
yajl-ruby (1.2.1)

...

SQOR-0089:standalone brody$ vagrant --version
Vagrant 1.7.2
SQOR-0089:standalone brody$ vagrant plugin list
vagrant-share (1.1.3, system)
SQOR-0089:standalone brody$

Any idea of versions to lock onto in Berks file?

Right now the Berksfile pulls the latest, however, something isn't resolvable. I'm trying to stand up the standalone mess with vagrant 1.4.3 and I'm getting this:

Berkshelf::NoSolutionError: Unable to satisfy constraints on package ark due to solution constraint (maven = 1.1.1). Solution constraints that may result in a constraint on ark: [(ark = 0.3.1)], [(maven = 1.1.1) -> (ark ~> 0.4)]
Demand that cannot be met: (maven = 1.1.1)
Artifacts for which there are conflicting dependencies: ark = 0.3.1 -> []Unable to find a solution for demands: apt (>= 0.0.0), ark (0.3.1), docker (0.34.1), maven (1.1.1), mesos (0.1.0)

I'm new to chef and Berks, so I'm guessing that instead of the latest versions of these I should be using some older versions. But if someone has a working config can they let me know which ones are known to work?

no security group, and vagrant-mesos can't set `hostname` to its public dns name.

Hi, I am very happy user of this stack (I've tested it locally on vagrant) and wish to establish it on aws to show it to some of my colleagues.

I've created a dedicated user for access_key and secret_access_key and dedicated group with "AmazonEC2FullAccess" policy but even though I get an error saying, "there is no such security group",
I think this is because of some my wrong configuration of AWS, I would appreciate any helping hint ;)

==> default: will be silently ignored.
==> default: Launching an instance with the following settings...
==> default:  -- Type: t2.medium
==> default:  -- AMI: ami-51bb4d3a
==> default:  -- Region: us-east-1
==> default:  -- Keypair: mesos-vagrant
==> default:  -- Security Groups: ["sg-81eaf2e5"]
==> default:  -- Block Device Mapping: []
==> default:  -- Terminate On Shutdown: false
==> default:  -- Monitoring: false
==> default:  -- EBS optimized: false
==> default:  -- Assigning a public IP address in a VPC: false
==> default: Warning! Vagrant might not be able to SSH into the instance.
==> default: Please check your security groups settings.
/home/ubuntu/.vagrant.d/gems/gems/excon-0.45.3/lib/excon/middlewares/expects.rb:6:in `response_call': The security group 'sg-81eaf2e5' does not exist (Fog::Compute::AWS::NotFound)
    from /home/ubuntu/.vagrant.d/gems/gems/excon-0.45.3/lib/excon/middlewares/response_parser.rb:8:in `response_call'

cheers

Broken zookeeper build on AWS multinode

seems like the commit made in master / 19c7c6d ends up breaking the zookeeper build in AWS/multinode. this is with and without PR 23 (just a simplification PR but same error output) applied. i back tracked through the recent commits and this seems to be the culprit. failure log:

Bringing machine 'zk1' up with 'aws' provider...
Bringing machine 'zk2' up with 'aws' provider...
Bringing machine 'zk3' up with 'aws' provider...
Bringing machine 'master1' up with 'aws' provider...
Bringing machine 'master2' up with 'aws' provider...
Bringing machine 'slave1' up with 'aws' provider...
Bringing machine 'slave2' up with 'aws' provider...
Bringing machine 'slave3' up with 'aws' provider...
Bringing machine 'slave4' up with 'aws' provider...
Bringing machine 'slave5' up with 'aws' provider...
Bringing machine 'marathon' up with 'aws' provider...
==> zk1: HandleBoxUrl middleware is deprecated. Use HandleBox instead.
==> zk1: This is a bug with the provider. Please contact the creator
==> zk1: of the provider you use to fix this.
Updating Vagrant's berkshelf: '/home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1'
DEPRECATED: Your Berksfile contains a site location pointing to the Opscode Community Site (site :opscode). Site locations have been replaced by the source location. Change this to: 'source "https://supermarket.getchef.com"' to remove this warning. For more information visit https://github.com/berkshelf/berkshelf/wiki/deprecated-locations
Resolving cookbook dependencies...
Using 7-zip (1.0.2)
Using apt (2.6.0)
Using ark (0.9.0)
Using aufs (0.1.1)
Using build-essential (2.0.6)
Using chef_handler (1.1.6)
Using device-mapper (0.1.0)
Using dmg (2.2.0)
Using docker (0.35.2) from git://github.com/bflad/chef-docker.git (at master)
Using dpkg_autostart (0.1.10)
Using git (4.0.2)
Using golang (1.4.0)
Using homebrew (1.9.0)
Using iptables (0.14.0)
Using java (1.28.0)
Using lxc (1.1.8)
Using maven (1.1.0)
Using mesos (0.2.0) from git://github.com/everpeace/cookbook-mesos.git (at master)
Using modules (0.2.0)
Using ohai (2.0.1)
Using python (1.4.6)
Using runit (1.5.10)
Using sysctl (0.6.0)
Using ulimit (0.3.2)
Using windows (1.34.2)
Using yum (3.3.2)
Using yum-epel (0.5.1)
Vendoring 7-zip (1.0.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/7-zip
Vendoring apt (2.6.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/apt
Vendoring ark (0.9.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/ark
Vendoring aufs (0.1.1) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/aufs
Vendoring build-essential (2.0.6) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/build-essential
Vendoring chef_handler (1.1.6) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/chef_handler
Vendoring device-mapper (0.1.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/device-mapper
Vendoring dmg (2.2.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/dmg
Vendoring docker (0.35.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/docker
Vendoring dpkg_autostart (0.1.10) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/dpkg_autostart
Vendoring git (4.0.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/git
Vendoring golang (1.4.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/golang
Vendoring homebrew (1.9.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/homebrew
Vendoring iptables (0.14.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/iptables
Vendoring java (1.28.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/java
Vendoring lxc (1.1.8) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/lxc
Vendoring maven (1.1.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/maven
Vendoring mesos (0.2.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/mesos
Vendoring modules (0.2.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/modules
Vendoring ohai (2.0.1) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/ohai
Vendoring python (1.4.6) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/python
Vendoring runit (1.5.10) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/runit
Vendoring sysctl (0.6.0) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/sysctl
Vendoring ulimit (0.3.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/ulimit
Vendoring windows (1.34.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/windows
Vendoring yum (3.3.2) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/yum
Vendoring yum-epel (0.5.1) to /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/yum-epel

==> zk1: Warning! The AWS provider doesn't support any of the Vagrant
==> zk1: high-level network configurations (config.vm.network). They
==> zk1: will be silently ignored.
==> zk1: Warning! You're launching this instance into a VPC without an
==> zk1: elastic IP. Please verify you're properly connected to a VPN so
==> zk1: you can access this machine, otherwise Vagrant will not be able
==> zk1: to SSH into it.
==> zk1: Launching an instance with the following settings...
==> zk1: -- Type: t2.medium
==> zk1: -- AMI: ami-1a389d72
==> zk1: -- Region: us-east-1
==> zk1: -- Keypair: XXX
==> zk1: -- Subnet ID: XXX
==> zk1: -- Private IP: 10.0.16.11
==> zk1: -- Security Groups: ["XXX"]
==> zk1: -- Block Device Mapping: []
==> zk1: -- Terminate On Shutdown: false
==> zk1: -- Monitoring: false
==> zk1: -- EBS optimized: false
==> zk1: -- Assigning a public IP address in a VPC: false
==> zk1: Warning! Vagrant might not be able to SSH into the instance.
==> zk1: Please check your security groups settings.
==> zk1: Waiting for instance to become "ready"...
==> zk1: Waiting for SSH to become available...
==> zk1: Machine is booted and ready for use!
==> zk1: Rsyncing folder: /home/ec2-user/vagrant-mesos/multinodes/ => /vagrant
==> zk1: Rsyncing folder: /home/ec2-user/.berkshelf/zk1/vagrant/berkshelf-20140916-1909-v25yvz-zk1/ => /tmp/vagrant-chef-3/chef-solo-1/cookbooks
==> zk1: Installing Chef 11.16.0 Omnibus package...
==> zk1: Downloading Chef 11.16.0 for ubuntu...
==> zk1: downloading https://www.getchef.com/chef/metadata?v=11.16.0&prerelease=false&nightlies=false&p=ubuntu&pv=14.04&m=x86_64
==> zk1: to file /tmp/install.sh.1493/metadata.txt
==> zk1: trying wget...
==> zk1: url https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_11.16.0-1_amd64.deb
==> zk1: md5 dd1a8f6e92bf4434a78c2abff5b8934b
==> zk1: sha256 06d22b6c35082377a3745999eb32589fdf547ae49e353a3d2280188b82a64e0a
==> zk1: downloaded metadata file looks valid...
==> zk1: downloading https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_11.16.0-1_amd64.deb
==> zk1: to file /tmp/vagrant-cache/vagrant_omnibus/chef_11.16.0-1_amd64.deb
==> zk1: trying wget...
==> zk1: Comparing checksum with sha256sum...
==> zk1: Installing Chef 11.16.0
==> zk1: installing with dpkg...
==> zk1: Selecting previously unselected package chef.
==> zk1: (Reading database ... 51097 files and directories currently installed.)
==> zk1: Preparing to unpack .../chef_11.16.0-1_amd64.deb ...
==> zk1: Unpacking chef (11.16.0-1) ...
==> zk1: Setting up chef (11.16.0-1) ...
==> zk1: Thank you for installing Chef!
==> zk1: Running provisioner: chef_solo...
Generating chef JSON and uploading...
==> zk1: Running chef-solo...
==> zk1: stdin: is not a tty
==> zk1: [2014-09-16T20:21:28+00:00] INFO: Forking chef instance to converge...
==> zk1: [2014-09-16T20:21:28+00:00] WARN:
==> zk1: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
==> zk1: SSL validation of HTTPS requests is disabled. HTTPS connections are still
==> zk1: encrypted, but chef is not able to detect forged replies or man in the middle
==> zk1: attacks.
==> zk1:
==> zk1: To fix this issue add an entry like this to your configuration file:
==> zk1:
==> zk1: ==> zk1: # Verify all HTTPS connections (recommended) ==> zk1: ssl_verify_mode :verify_peer ==> zk1: ==> zk1: # OR, Verify only connections to chef-server ==> zk1: verify_api_cert true ==> zk1:
==> zk1:
==> zk1: To check your SSL configuration, or troubleshoot errors, you can use the
==> zk1: knife ssl check command like so:
==> zk1:
==> zk1: ==> zk1: knife ssl check -c /tmp/vagrant-chef-3/solo.rb ==> zk1:
==> zk1:
==> zk1: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
==> zk1: [2014-09-16T20:21:28+00:00] INFO: *** Chef 11.16.0 ***
==> zk1: [2014-09-16T20:21:28+00:00] INFO: Chef-client pid: 1676
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Setting the run_list to ["recipe[apt]"] from CLI options
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Run List is [recipe[apt]]
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Run List expands to [apt]
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Starting Chef Run for ip-10-0-16-11.ec2.internal
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Running start handlers
==> zk1: [2014-09-16T20:21:30+00:00] INFO: Start handlers complete.
==> zk1: [2014-09-16T20:21:44+00:00] INFO: execute[apt-get-update-periodic] ran successfully
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local] created directory /var/cache/local
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local] owner changed to 0
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local] group changed to 0
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local] mode changed to 755
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local/preseeding] created directory /var/cache/local/preseeding
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local/preseeding] owner changed to 0
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local/preseeding] group changed to 0
==> zk1: [2014-09-16T20:21:44+00:00] INFO: directory[/var/cache/local/preseeding] mode changed to 755
==> zk1: [2014-09-16T20:21:44+00:00] INFO: Chef Run complete in 14.170175328 seconds
==> zk1: [2014-09-16T20:21:44+00:00] INFO: Running report handlers
==> zk1: [2014-09-16T20:21:44+00:00] INFO: Report handlers complete
==> zk1: Running provisioner: shell...
zk1: Running: inline script
==> zk1: stdin: is not a tty
==> zk1: chown: invalid user: 'zookeeper'
==> zk1: sudo: unknown user: zookeeper
==> zk1: sudo: unable to initialize policy plugin
==> zk1: /tmp/vagrant-shell: line 5: /etc/zookeeper/conf/zoo.cfg: No such file or directory
==> zk1: restart: Unknown job: zookeeper
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

chmod +x /tmp/vagrant-shell && /tmp/vagrant-shell

Stdout from the command:

Stderr from the command:

stdin: is not a tty
chown: invalid user: 'zookeeper'
sudo: unknown user: zookeeper
sudo: unable to initialize policy plugin
/tmp/vagrant-shell: line 5: /etc/zookeeper/conf/zoo.cfg: No such file or directory
restart: Unknown job: zookeeper

./configure seems to fail while building mesos from source

Hi,

Thanks again for sharing this!

FYI, I have noticed that the chef recipe invoked while launching vagrant-mesos on the multinode configuration fails while running ./configure:

src/Makefile.am: installing `./depcomp'
autoreconf: automake failed with exit status: 1
sed: can't read ../ltmain.sh: No such file or directory
sed: can't read libtoolT: No such file or directory
config.status: error: cannot find input file: `Makefile.in'
make: *** No targets specified and no makefile found.  Stop.
---- End output of "bash"  "/tmp/chef-script20131118-2219-14gxytt" ----
Ran "bash"  "/tmp/chef-script20131118-2219-14gxytt" returned 2



Resource Declaration:
---------------------
# In /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mesos/recipes/build_from_source.rb

 46: bash "building mesos from source" do
 47:   cwd   File.join("#{node[:mesos][:home]}", "mesos")
 48:   code  <<-EOH
 49:     ./bootstrap
 50:     mkdir -p build
 51:     cd build
 52:     ../configure --prefix=#{prefix}
 53:     make
 54:   EOH
 55:   action :run
 56:   not_if { installed==true }
 57: end
 58:



Compiled Resource:
------------------
# Declared in /tmp/vagrant-chef-1/chef-solo-1/cookbooks/mesos/recipes/build_from_source.rb:46:in `from_file'

bash("building mesos from source") do
  action [:run]
  retries 0
  retry_delay 2
  command "\"bash\"  \"/tmp/chef-script20131118-2219-14gxytt\""
  backup 5
  cwd "/home/vagrant/mesos"
  returns 0
  code "    ./bootstrap\n    mkdir -p build\n    cd build\n    ../configure --prefix=/usr/local\n    make\n"
  interpreter "bash"
  cookbook_name :mesos
  recipe_name "build_from_source"
  not_if { #code block }
end



[2013-11-18T03:07:41+00:00] INFO: Forking chef instance to converge...
[2013-11-18T03:07:41+00:00] DEBUG: Fork successful. Waiting for new chef pid: 2219
[2013-11-18T03:12:34+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.
Starting mesos cluster...
Failed to load the "vagrant-yaml" plugin. View logs for more details.
Failed to load the "vagrant-yaml" plugin. View logs for more details.

VM must be created before running this command. Run `vagrant up` first.
Failed to load the "vagrant-yaml" plugin. View logs for more details.

bash: line 2: mesos-start-cluster.sh: command not found

I ran standalone mode, but just hang with [default] Downloading Chef 11.8.2 for ubuntu...

Bringing machine 'default' up with 'virtualbox' provider...
[default] Importing base box 'Official Ubuntu 12.04 daily Cloud Image amd64 (VirtualBox 4.1.12)'...
[default] Matching MAC address for NAT networking...
[default] Setting the name of the VM...
[default] Clearing any previously set forwarded ports...
[Berkshelf] Updating Vagrant's berkshelf: '/Users/bo/.berkshelf/default/vagrant/berkshelf-20131210-53825-1d7f6jb-default'
[Berkshelf] Using apt (2.3.0)
[Berkshelf] Installing ark (0.3.1) from github: 'eanrollings/ark' with branch: 'master' over protocol: 'git'
[Berkshelf] Installing maven (1.0.1) from github: 'opscode-cookbooks/maven' with branch: 'master' over protocol: 'git'
[Berkshelf] Installing mesos (0.1.0) from github: 'everpeace/cookbook-mesos' with branch: 'master' over protocol: 'git'
[Berkshelf] Using java (1.15.4)
[Berkshelf] Using windows (1.11.0)
[Berkshelf] Using chef_handler (1.1.4)
[Berkshelf] Using aws (1.0.0)
[Berkshelf] Using python (1.4.4)
[Berkshelf] Using build-essential (1.4.2)
[Berkshelf] Using yum (2.4.4)
[default] Creating shared folders metadata...
[default] Clearing any previously set network interfaces...
[default] Preparing network interfaces based on configuration...
[default] Forwarding ports...
[default] -- 22 => 2222 (adapter 1)
[default] -- 5050 => 5050 (adapter 1)
[default] Running 'pre-boot' VM customizations...
[default] Booting VM...
[default] Waiting for VM to boot. This can take a few minutes.
[default] VM booted and ready for use!
[default] The guest additions on this VM do not match the installed version of
VirtualBox! In most cases this is fine, but in rare cases it can
cause things such as shared folders to not work properly. If you see
shared folder errors, please update the guest additions within the
virtual machine and reload your VM.

Guest Additions Version: 4.1.12
VirtualBox Version: 4.2
[default] Setting hostname...
[default] Configuring and enabling network interfaces...
[default] Mounting shared folders...
[default] -- /vagrant
[default] -- /tmp/vagrant-cache
[default] -- /tmp/vagrant-chef-1/chef-solo-1/cookbooks
[default] Installing Chef 11.8.2 Omnibus package...
[default] Downloading Chef 11.8.2 for ubuntu...

ZK Nodes always attempt to assign a Public IP

First, great project it has saved me a ton of time.

I have a cluster.yml that I have been using for about a month now for spinning up a mesos cluster on AWS, has been working great. Yesterday I shut down the cluster and terminated the instances then upgraded the project to the latest version on master.

I then issued the vagrant up --provider=aws --no-parallel --debug.

My cluster.yml looks like this:

access_key_id:  *********************
secret_access_key: ******************************
default_vpc: true                     # default vpc or not.
subnet_id: subnet-8a2dd2fd            # VPC subnet id
security_groups: ["sg-98c252fd", "sg-0e54fd6b"]      # array of VPN security groups. e.g. ['sg*** ']
keypair_name: mesos_root
ssh_private_key_path: /Users/aws/.ssh/mesos_root.pem
region: us-west-2

default_vpc is set to true, so I would not expect a public IP to be assigned. However, when the ZK node is started it show that it is generating a public IP:

==> zk1:  -- EBS optimized: false
 INFO interface: info:  -- Assigning a public IP address in a VPC: true
 INFO interface: info: ==> zk1:  -- Assigning a public IP address in a VPC: true
==> zk1:  -- Assigning a public IP address in a VPC: true

This causes the SSH to fail as we only allow SSH from a specific set of internal IP's, which like I said, was working until I did a git fetch and git rebase origin/master yesterday (10/10/2014).

 INFO ssh: Attempting to connect to SSH...
 INFO ssh:   - Host: 54.69.134.74
 INFO ssh:   - Port: 22
 INFO ssh:   - Username: *******

Any ideas as to how to override this? Is this a bug in the latest or am I missing something in my cluster.yml or other setting somewhere else?

TIA for the assistance.

-Todd

Mesos Master on AWS - gpg: keyserver timed out

Since upgrading to the latest version I have experienced several issues, one with always wanting to assign a public IP and now this one when attempting to start the Master with vagrant up --provider=aws master1 --debug:

==> master1: [2014-10-11T20:25:36+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
DEBUG ssh: stdout: [2014-10-11T20:25:36+00:00] ERROR: bash[add an apt's trusted key for mesosphere] (mesos::mesosphere line 131) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '2'
---- Begin output of "bash"  "/tmp/chef-script20141011-1836-1ngkbmu" ----
STDOUT: Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.GkQqv7jUTj --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv E56151BF
STDERR: gpg: requesting key E56151BF from hkp server keyserver.ubuntu.com
gpg: keyserver timed out
gpg: keyserver receive failed: keyserver error
---- End output of "bash"  "/tmp/chef-script20141011-1836-1ngkbmu" ----

my cluster.yml looks like this for the AWS config:

access_key_id:  *********************
secret_access_key: ********************
default_vpc: true                     # default vpc or not.
subnet_id: subnet-8a2dd2fd            # VPC subnet id
security_groups: ["sg-98c252fd", "sg-0e54fd6b"]      # array of VPN security groups. e.g. ['sg*** ']
keypair_name: mesos_root
ssh_private_key_path: /Users/aws/.ssh/mesos_root.pem
region: us-west-2

# set a custom AMI to use if you need something other than the defaults
#custom_ami: EDIT_HERE

# see http://aws.amazon.com/ec2/instance-types/#selecting-instance-types
zk_instance_type: m3.medium
master_instance_type: m3.medium
slave_instance_type: m3.medium
marathon_instance_type: m3.medium

I am using Vagrant 1.6.5 and have the latest version of all required plugins in place. The first error, always assigning a public ip, seem to have been introduced sometime after 3257dd15a6d960ff2651ea0e5ab65280db647f09 commit. The gpg: keyserver timed out seems to be external as I went back to my 088425dbf8f52bf94361f6a2349643ecd14052ce which is what was last working for me and it exhibits the same problem.

Any idea what is going on or where I may be off at. TIA for the assistance.

-Todd

Marathon does not register on master

Hello.

On multinode setup, I have the following entries in log:

I0320 09:19:43.324908  1963 detector.cpp:351] A new leading master ([email protected]:5050) is detected
I0320 09:19:43.332063  1963 sched.cpp:218] No credentials provided. Attempting to register without authentication
I0320 09:19:43.332387  1963 sched.cpp:230] Detecting new master

On the single setup:

I0320 08:53:34.608186 19685 detector.cpp:474] Master detector (scheduler(1)@127.0.1.1:34577)  got new master pid: [email protected]:5050
I0320 08:53:34.608589 19685 sched.cpp:224] No credentials provided. Attempting to register without authentication
Mar 20, 2014 8:53:34 AM mesosphere.marathon.MarathonScheduler registered
INFO: Registered as 201403200851-16842879-5050-6471-0000 to master '201403200851-16842879-5050-6471'
Mar 20, 2014 8:53:34 AM mesosphere.mesos.util.FrameworkIdUtil$$anonfun$store$1$$anonfun$apply$1 apply
INFO: Stored framework ID 201403200851-16842879-5050-6471-0000

On multinode setup, I can see the framework in Mesos admin page, but I can't launch any task.

I'm not confident enough to send more information regarding this issue, feel free to ask some details I could send you.

Mesos standalone doesn't work

After

cd standalone
vagrant up --provider virtualbox

I see following error:

==> default: [2015-05-10T17:04:17+00:00] INFO: apt_package[mesos] installed mesos at 0.21.0-1.0.ubuntu1404
==> default: 
==> default: ================================================================================
==> default: Error executing action `create` on resource 'template[/usr/local/var/mesos/deploy/masters]'
==> default: ================================================================================
==> default: 
==> default: 
==> default: Chef::Exceptions::EnclosingDirectoryDoesNotExist
==> default: ------------------------------------------------
==> default: 
==> default: Parent directory /usr/local/var/mesos/deploy does not exist.
==> default: 
==> default: 
==> default: 
==> default: Resource Declaration:
==> default: ---------------------
==> default: # In /tmp/vagrant-chef/e418ba2f4cb1619cc65ae37dfa16b137/cookbooks/mesos/recipes/master.rb
==> default: 
==> default: 
==> default:  47: template File.join(deploy_dir, "masters") do
==> default:  48:   source "masters.erb"
==> default:  49:   mode 0644
==> default: 
==> default:  50:   owner "root"
==> default: 
==> default:  51:   group "root"
==> default:  52: end
==> default:  53: 
==> default: 
==> default: 
==> default: 
==> default: Compiled Resource:
==> default: ------------------
==> default: # Declared in /tmp/vagrant-chef/e418ba2f4cb1619cc65ae37dfa16b137/cookbooks/mesos/recipes/master.rb:47:in `from_file'
==> default: 
==> default: 
==> default: 
==> default: template("/usr/local/var/mesos/deploy/masters") do
==> default: 
==> default:   action "create"
==> default: 
==> default:   retries 0
==> default: 
==> default:   retry_delay 2
==> default: 
==> default:   default_guard_interpreter :default
==> default: 
==> default:   path "/usr/local/var/mesos/deploy/masters"
==> default:   backup 5
==> default: 
==> default:   atomic_update true
==> default: 
==> default:   source "masters.erb"
==> default:   declared_type :template
==> default:   cookbook_name :mesos
==> default: 
==> default:   recipe_name "master"
==> default:   mode 420
==> default: 
==> default:   owner "root"
==> default:   group "root"
==> default: 
==> default: end
==> default: 
==> default: 
==> default: 
==> default: [2015-05-10T17:04:17+00:00] INFO: Running queued delayed notifications before re-raising exception
==> default: [2015-05-10T17:04:17+00:00] ERROR: Running exception handlers
==> default: [2015-05-10T17:04:17+00:00] ERROR: Exception handlers complete
==> default: [2015-05-10T17:04:17+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> default: [2015-05-10T17:04:18+00:00] ERROR: template[/usr/local/var/mesos/deploy/masters] (mesos::master line 47) had an error: Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /usr/local/var/mesos/deploy does not exist.
==> default: [2015-05-10T17:04:18+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the

Rev: af60fb3

HDFS support

  • Where should namenode be running? master1?
  • datanode probably should be running at all slaves.

vagrant status zk1 is super slow

it cost about 15sec - 2minutes. Also vagrant ssh xxx cost lots of time(more than 6seconds) too.
While ssh master1-ip, ssh zk-ip is super fast (less than 1secs)

Please provide ability to create a registry machine

It would be very helpful if you included an option to create a registry machine separated from the cluster, but still accessible in the same network.

This way, we can build and push our application images, and tell Marathon to fetch them from that private registry.

Thank you.

Weird Chef issue on mess provision

Ok, now I'm getting this error provisioning my box:

default] Setting up chef (11.12.2-1) ...
[default] Thank you for installing Chef!
[default] Running provisioner: chef_solo...
Generating chef JSON and uploading...
Running chef-solo...
stdin: is not a tty
[2014-04-29T11:47:19-07:00] INFO: Forking chef instance to converge...

...
[2014-04-29T11:47:19-07:00] INFO: *** Chef 11.12.2 ***
[2014-04-29T11:47:19-07:00] INFO: Chef-client pid: 1587
[2014-04-29T11:47:22-07:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[mesos]", "recipe[mesos::master]", "recipe[mesos::slave]", "recipe[docker::aufs]", "recipe[docker::lxc]", "recipe[docker]", "recipe[mesos::docker-executor]"] from CLI options
[2014-04-29T11:47:22-07:00] INFO: Run List is [recipe[apt], recipe[mesos], recipe[mesos::master], recipe[mesos::slave], recipe[docker::aufs], recipe[docker::lxc], recipe[docker], recipe[mesos::docker-executor]]
[2014-04-29T11:47:22-07:00] INFO: Run List expands to [apt, mesos, mesos::master, mesos::slave, docker::aufs, docker::lxc, docker, mesos::docker-executor]
[2014-04-29T11:47:22-07:00] INFO: Starting Chef Run for mesos
[2014-04-29T11:47:22-07:00] INFO: Running start handlers
[2014-04-29T11:47:22-07:00] INFO: Start handlers complete.
[2014-04-29T11:47:22-07:00] ERROR: Running exception handlers
[2014-04-29T11:47:22-07:00] ERROR: Exception handlers complete
[2014-04-29T11:47:22-07:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
[2014-04-29T11:47:22-07:00] ERROR: You must specify at least one cookbook repo path
[2014-04-29T11:47:22-07:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

the stack trace on the vm is not any more helpful:

sudo more /var/chef/cache/chef-stacktrace.out
Generated at 2014-04-29 11:47:22 -0700
ArgumentError: You must specify at least one cookbook repo path
/opt/chef/embedded/lib/ruby/gems/1.9.1/gems/chef-11.12.2/lib/chef/cookbook_loader.rb:43:in `initialize'

Googling that error seems to indicate a possible Berkshelf error:
berkshelf/vagrant-berkshelf#78

But I don't see in your chef that you are trying to remove the berkshelf info.

So again, I'm trying to debug this chef provision but also wondering if this is something simple - like where would I set a repo path?

vagrant up currently failing

cd multinodes/
vagrant up

"here are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:

  • The '' provisioner could not be found.

Vagrant:

  • Unknown configuration section 'berkshelf'.
  • Unknown configuration section 'omnibus'.

"

HAProxy as Load Balancer would be great

It would be great if you include the installation of an HAProxy as load balancer for the services, or is it already there, I mean is there any load balancer there, and how can I use it?

I deployed an app and didn't find the entry point from the service port, here is my JSON:

{
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "nginx",
      "network": "BRIDGE",
      "portMappings": [
        {
          "containerPort": 80,
          "hostPort": 0,
          "servicePort": 1111,
          "protocol": "tcp"
        }
      ]
    }
  },
  "id": "nginx",
  "instances": 1,
  "cpus": 0.25,
  "mem": 64,
  "uris": []
}

I expected to reach the service on MASTER_IP:1111 but it didn't!

Huge thanks for this really helpful work.

multinodes vagrant up

Due to the vagrant-berkshelf plugin changing into a middleware (I'm not exactly sure when/how this happened or what the full implications are, apologies for this) it seems it's now a requirement to run
vagrant up --provision to have everything done for you.

Simply running vagrant up will bomb out with a confusing error message regarding Berkshelf.

I'm not 100% this is a problem for everyone, as it seem to depend on the versions of the software being used, in my case: OSX, Vagrant 1.7.2, ChefDK 0.6.0, vagrant-berkshelf (4.0.4), vagrant-omnibus (1.4.1).

The ,,fix'' if you will would be to change the README example from vagrant up to vagrant up --provision.

Add a license to the repo

Could you please add an explicit LICENSE file to the repo so that it's clear under what terms you're providing this code?

Thanks!

Vagrant up fails because of the vagrant-berkshelf

I've found out the solution. See the 1st comment.


Hi.
I've just tried to start a standalone vagrant-mesos.
I've installed all the software required:

$ aptitude versions chefdk vagrant virtualbox
Package chefdk:                        
i   0.5.1-1                                                                                                                                                                                        100 
Package vagrant:
i   1.4.3-1                                                                                                  trusty                                                                                500 
Package virtualbox:
i   4.3.10-dfsg-1ubuntu4                                                                                     trusty-updates                                                                        500 
$ vagrant plugin list
vagrant-berkshelf (4.0.3)
vagrant-cachier (1.2.0)
vagrant-hosts (2.4.0)
vagrant-omnibus (1.4.1)

But the vagrant up command still fails

.../standalone$ vagrant up
Failed to load the "vagrant-berkshelf" plugin. View logs for more details.

Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* The box 'everpeace/mesos' could not be found.

Vagrant:
* Unknown configuration section 'berkshelf'.

VirtualBox multinode setup failed due to /usr/local/var/mesos/deploy does not exist

    master1: The Berkshelf shelf is at "/home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1"
==> master1: Sharing cookbooks with VM
==> master1: Importing base box 'everpeace/mesos'...
==> master1: Matching MAC address for NAT networking...
==> master1: Checking if box 'everpeace/mesos' is up to date...
==> master1: A newer version of the box 'everpeace/mesos' is available! You currently
==> master1: have version '0.20.1.2'. The latest is version '0.21.0.0'. Run
==> master1: `vagrant box update` to update.
==> master1: Setting the name of the VM: vagrant-mesos-master1
==> master1: Updating Vagrant's Berkshelf...
==> master1: Resolving cookbook dependencies...
==> master1: Using 7-zip (1.0.2)
==> master1: Using ark (0.9.0)
==> master1: Using apt (2.7.0)
==> master1: Using aufs (0.1.1)
==> master1: Using build-essential (2.2.3)
==> master1: Using chef_handler (1.1.6)
==> master1: Using device-mapper (0.1.0)
==> master1: Using dmg (2.2.2)
==> master1: Using docker (0.37.0) from git://github.com/bflad/chef-docker.git (at master)
==> master1: Using dpkg_autostart (0.1.12)
==> master1: Using git (4.2.2)
==> master1: Using golang (1.5.0)
==> master1: Using homebrew (1.12.0)
==> master1: Using iptables (1.0.0)
==> master1: Using iptables-ng (2.2.6)
==> master1: Using java (1.31.0)
==> master1: Using lxc (2.0.0)
==> master1: Using maven (1.3.0)
==> master1: Using mesos (0.2.2) from git://github.com/everpeace/cookbook-mesos.git (at master)
==> master1: Using modules (0.2.0)
==> master1: Using ohai (2.0.1)
==> master1: Using packagecloud (0.0.17)
==> master1: Using python (1.4.6)
==> master1: Using polipo (0.1.0)
==> master1: Using runit (1.6.0)
==> master1: Using sysctl (0.6.2)
==> master1: Using ulimit (0.3.3)
==> master1: Using windows (1.36.6)
==> master1: Using yum (3.6.0)
==> master1: Using yum-epel (0.6.0)
==> master1: Vendoring 7-zip (1.0.2) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/7-zip
==> master1: Vendoring apt (2.7.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/apt
==> master1: Vendoring ark (0.9.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/ark
==> master1: Vendoring aufs (0.1.1) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/aufs
==> master1: Vendoring build-essential (2.2.3) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/build-essential
==> master1: Vendoring chef_handler (1.1.6) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/chef_handler
==> master1: Vendoring device-mapper (0.1.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/device-mapper
==> master1: Vendoring dmg (2.2.2) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/dmg
==> master1: Vendoring docker (0.37.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/docker
==> master1: Vendoring dpkg_autostart (0.1.12) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/dpkg_autostart
==> master1: Vendoring git (4.2.2) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/git
==> master1: Vendoring golang (1.5.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/golang
==> master1: Vendoring homebrew (1.12.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/homebrew
==> master1: Vendoring iptables (1.0.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/iptables
==> master1: Vendoring iptables-ng (2.2.6) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/iptables-ng
==> master1: Vendoring java (1.31.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/java
==> master1: Vendoring lxc (2.0.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/lxc
==> master1: Vendoring maven (1.3.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/maven
==> master1: Vendoring mesos (0.2.2) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/mesos
==> master1: Vendoring modules (0.2.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/modules
==> master1: Vendoring ohai (2.0.1) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/ohai
==> master1: Vendoring packagecloud (0.0.17) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/packagecloud
==> master1: Vendoring polipo (0.1.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/polipo
==> master1: Vendoring python (1.4.6) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/python
==> master1: Vendoring runit (1.6.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/runit
==> master1: Vendoring sysctl (0.6.2) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/sysctl
==> master1: Vendoring ulimit (0.3.3) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/ulimit
==> master1: Vendoring windows (1.36.6) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/windows
==> master1: Vendoring yum (3.6.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/yum
==> master1: Vendoring yum-epel (0.6.0) to /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1/yum-epel
==> master1: Fixed port collision for 22 => 2222. Now on port 2200.
==> master1: Clearing any previously set network interfaces...
==> master1: Preparing network interfaces based on configuration...
    master1: Adapter 1: nat
    master1: Adapter 2: hostonly
==> master1: Forwarding ports...
    master1: 22 => 2200 (adapter 1)
==> master1: Running 'pre-boot' VM customizations...
==> master1: Booting VM...
==> master1: Waiting for machine to boot. This may take a few minutes...
    master1: SSH address: 127.0.0.1:2200
    master1: SSH username: vagrant
    master1: SSH auth method: private key
    master1: Warning: Remote connection disconnect. Retrying...
==> master1: Machine booted and ready!
==> master1: Checking for guest additions in VM...
==> master1: Setting hostname...
==> master1: Configuring and enabling network interfaces...
==> master1: Mounting shared folders...
    master1: /vagrant => /home/phil/dev/vagrant-mesos/multinodes
    master1: /tmp/vagrant-chef-6/chef-solo-1/cookbooks => /home/phil/.berkshelf/vagrant-berkshelf/shelves/berkshelf20150424-17054-1ncpzp6-master1
==> master1: Installing Chef 12.2.1 Omnibus package...
==> master1: Downloading Chef 12.2.1 for ubuntu...
==> master1: downloading https://www.chef.io/chef/metadata?v=12.2.1&prerelease=false&nightlies=false&p=ubuntu&pv=14.04&m=x86_64
==> master1:   to file /tmp/install.sh.1760/metadata.txt
==> master1: trying wget...
==> master1: url        https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_12.2.1-1_amd64.deb
==> master1: md5        84119f54115d754373c9891b8759497c
==> master1: sha256     8e0a8a2477c11615f86ffe686a68fa6636112ba82ebe6bb22daa5dd416f3c13e
==> master1: downloaded metadata file looks valid...
==> master1: downloading https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/13.04/x86_64/chef_12.2.1-1_amd64.deb
==> master1:   to file /tmp/vagrant-cache/vagrant_omnibus/chef_12.2.1-1_amd64.deb
==> master1: trying wget...
==> master1: Comparing checksum with sha256sum...
==> master1: Installing Chef 12.2.1
==> master1: installing with dpkg...
==> master1: (Reading database ... 76621 files and directories currently installed.)
==> master1: Preparing to unpack .../chef_12.2.1-1_amd64.deb ...
==> master1: Unpacking chef (12.2.1-1) over (11.16.2-1) ...
==> master1: dpkg: warning: unable to delete old directory '/opt/chef/embedded/lib/ruby/gems/1.9.1/specifications': Directory not empty
==> master1: dpkg: warning: unable to delete old directory '/opt/chef/embedded/lib/ruby/gems/1.9.1/cache': Directory not empty
==> master1: dpkg: warning: unable to delete old directory '/opt/chef/embedded/lib/ruby/gems/1.9.1/gems': Directory not empty
==> master1: dpkg: warning: unable to delete old directory '/opt/chef/embedded/lib/ruby/gems/1.9.1': Directory not empty
==> master1: Setting up chef (12.2.1-1) ...
==> master1: Thank you for installing Chef!
==> master1: Running provisioner: shell...
    master1: Running: inline script
==> master1: stdin: is not a tty
==> master1: Running provisioner: chef_solo...
Generating chef JSON and uploading...
==> master1: Running chef-solo...
==> master1: stdin: is not a tty
==> master1: [2015-04-24T07:55:10+00:00] INFO: Forking chef instance to converge...
==> master1: [2015-04-24T07:55:11+00:00] INFO: *** Chef 12.2.1 ***
==> master1: [2015-04-24T07:55:11+00:00] INFO: Chef-client pid: 1940
==> master1: [2015-04-24T07:55:17+00:00] INFO: Setting the run_list to ["recipe[apt]", "recipe[mesos::master]"] from CLI options
==> master1: [2015-04-24T07:55:17+00:00] INFO: Run List is [recipe[apt], recipe[mesos::master]]
==> master1: [2015-04-24T07:55:17+00:00] INFO: Run List expands to [apt, mesos::master]
==> master1: [2015-04-24T07:55:17+00:00] INFO: Starting Chef Run for master1
==> master1: [2015-04-24T07:55:17+00:00] INFO: Running start handlers
==> master1: [2015-04-24T07:55:17+00:00] INFO: Start handlers complete.
==> master1: [2015-04-24T07:55:18+00:00] INFO: node[:mesos][:prefix] is ignored. prefix will be set with /usr/local .
==> master1: [2015-04-24T07:55:18+00:00] WARN: Cloning resource attributes for template[/etc/init/mesos-master.conf] from prior resource (CHEF-3694)
==> master1: [2015-04-24T07:55:18+00:00] WARN: Previous template[/etc/init/mesos-master.conf]: /tmp/vagrant-chef-6/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:177:in `deploy_service_scripts'
==> master1: [2015-04-24T07:55:18+00:00] WARN: Current  template[/etc/init/mesos-master.conf]: /tmp/vagrant-chef-6/chef-solo-1/cookbooks/mesos/libraries/helpers.rb:200:in `activate_master_service_scripts'
==> master1: [2015-04-24T07:55:42+00:00] INFO: execute[apt-get-update-periodic] ran successfully
==> master1: [2015-04-24T07:55:42+00:00] INFO: execute[apt-get-update-periodic] sending touch action to file[/var/lib/apt/periodic/update-success-stamp] (immediate)
==> master1: [2015-04-24T07:55:42+00:00] INFO: file[/var/lib/apt/periodic/update-success-stamp] updated atime and mtime to 2015-04-24 07:55:42 +0000
==> master1: [2015-04-24T07:55:42+00:00] INFO: directory[/usr/local/var/mesos/deploy] mode changed to 644
==> master1: [2015-04-24T07:55:47+00:00] INFO: bash[add an apt's trusted key for mesosphere] ran successfully
==> master1: [2015-04-24T07:56:05+00:00] INFO: bash[add mesosphere repository] ran successfully
==> master1: [2015-04-24T07:56:44+00:00] INFO: apt_package[mesos] installed mesos at 0.21.0-1.0.ubuntu1404
==> master1: 
==> master1: ================================================================================
==> master1: Error executing action `create` on resource 'template[/usr/local/var/mesos/deploy/masters]'
==> master1: ================================================================================
==> master1: 
==> master1: 
==> master1: Chef::Exceptions::EnclosingDirectoryDoesNotExist
==> master1: ------------------------------------------------
==> master1: Parent directory /usr/local/var/mesos/deploy does not exist.
==> master1: 
==> master1: 
==> master1: Resource Declaration:
==> master1: ---------------------
==> master1: # In /tmp/vagrant-chef-6/chef-solo-1/cookbooks/mesos/recipes/master.rb
==> master1: 
==> master1: 
==> master1: 
==> master1:  47: template File.join(deploy_dir, "masters") do
==> master1: 
==> master1:  48:   source "masters.erb"
==> master1: 
==> master1:  49:   mode 0644
==> master1: 
==> master1:  50:   owner "root"
==> master1: 
==> master1:  51:   group "root"
==> master1: 
==> master1:  52: end
==> master1: 
==> master1:  53: 
==> master1: 
==> master1: 
==> master1: Compiled Resource:
==> master1: ------------------
==> master1: # Declared in /tmp/vagrant-chef-6/chef-solo-1/cookbooks/mesos/recipes/master.rb:47:in `from_file'
==> master1: 
==> master1: template("/usr/local/var/mesos/deploy/masters") do
==> master1:   action "create"
==> master1:   retries 0
==> master1:   retry_delay 2
==> master1:   default_guard_interpreter :default
==> master1:   path "/usr/local/var/mesos/deploy/masters"
==> master1:   backup 5
==> master1:   atomic_update true
==> master1:   source "masters.erb"
==> master1:   declared_type :template
==> master1:   cookbook_name :mesos
==> master1:   recipe_name "master"
==> master1:   mode 420
==> master1:   owner "root"
==> master1:   group "root"
==> master1: end
==> master1: 
==> master1: 
==> master1: [2015-04-24T07:56:44+00:00] INFO: Running queued delayed notifications before re-raising exception
==> master1: [2015-04-24T07:56:44+00:00] ERROR: Running exception handlers
==> master1: [2015-04-24T07:56:44+00:00] ERROR: Exception handlers complete
==> master1: [2015-04-24T07:56:44+00:00] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out
==> master1: [2015-04-24T07:56:44+00:00] ERROR: template[/usr/local/var/mesos/deploy/masters] (mesos::master line 47) had an error: Chef::Exceptions::EnclosingDirectoryDoesNotExist: Parent directory /usr/local/var/mesos/deploy does not exist.
==> master1: [2015-04-24T07:56:44+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)
Chef never successfully completed! Any errors should be visible in the
output above. Please fix your recipes so that they properly complete.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.