jedi4ever / mccloud Goto Github PK
View Code? Open in Web Editor NEWVagrant for the cloud
Vagrant for the cloud
Right now I'm doing something like this:
Mccloud::Config.run do |config|
config.vm.define "web" do |web_config|
# TODO: is there shorter way to reference them?
web_config.vm.bootstrap="W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/templates/bootstrap/bootstrap-ubuntu-system.sh"
end
end
But this looks pretty wrong to me :-)
I guess I have not yet understood how to use the bootstrap templates with Mccloud... Can someone enlighten me?
Given a Mccloudfile like below I was expecting that
config.keystore.define
would be created within AWSconfig.vm.define
I could simply reference the keypairMccloudfile:
Mccloud::Config.run do |config|
# locate keypair for use with mccloud (must be present or will be created upon `mccloud init`)
config.keypair.define "my-mccloud-keypair" do |key_config|
key_config.keypair.public_key_path = "#{File.join(ENV['HOME'],'.ssh','mccloud_rsa.pub')}"
key_config.keypair.private_key_path = "#{File.join(ENV['HOME'],'.ssh','mccloud_rsa')}"
end
# define keypairs to be created within AWS
config.keystore.define "aws-us-east-key-store" do |keystore_config|
keystore_config.keystore.provider = "aws-us-east"
keystore_config.keystore.keypairs = [
# :name is the name as it will be displayed on amazon
# :pairname is the named as defined above
{ :name => "my-mccloud-key", :pairname => "my-mccloud-keypair" },
]
end
config.vm.define "web" do |web_config|
web_config.vm.provider= "aws-us-east"
web_config.vm.ami = "ami-3c994355"
web_config.vm.flavor = "m1.small"
web_config.vm.zone = "us-east-1a"
web_config.vm.user="ubuntu"
web_config.vm.key_name = "my-mccloud-key"
end
end
However, it seems that both expectations are not met.
When I created the keypair manually via the AWS console, then I run into this error:
W:\tmp\demo>mccloud up web
Loaded providers[1] vms[1] ips[0] lbs[0] stacks[0] templates[1] keypairs[1] keystores[1]
Creating new vm web for provider aws-us-east
[web] - Waiting for the machine to become accessible
.................
[web] - Waiting for ssh port to become available
[web] - Ssh Port is available
Waiting for ssh login on 23.22.123.163 with user ubuntu to sshd on port => 22 to work (Timeout in 6000 seconds)
.Something blew up Mccloud. Time for McGuyver:
can't convert nil into String
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh/authentication/key_manager.rb:64:in `expand_path'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh/authentication/key_manager.rb:64:in `add'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh/authentication/session.rb:60:in `block in authenticate'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh/authentication/session.rb:60:in `each'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh/authentication/session.rb:60:in `authenticate'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh.rb:190:in `start'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/util/ssh.rb:20:in `block in when_ssh_login_works'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/util/ssh.rb:15:in `when_ssh_login_works'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/aws/vm/up.rb:95:in `up'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/aws/provider.rb:133:in `block in up'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/core/provider.rb:53:in `on_selected_components'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/aws/provider.rb:132:in `up'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/up.rb:12:in `block in execute'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/up.rb:10:in `each'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/up.rb:10:in `execute'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `block in invoke_all'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `each'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `map'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `invoke_all'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:226:in `dispatch'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:109:in `invoke'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/cli.rb:45:in `block in register'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/bin/mccloud:18:in `<top (required)>'
W:/tools/vagrant/vagrant/vagrant/embedded/bin/mccloud:19:in `load'
W:/tools/vagrant/vagrant/vagrant/embedded/bin/mccloud:19:in `<main>'
In the end I totally discarded the keystore to make it work in the meantime (still with the prerequisite is that keypair was manually imported to AWS):
Mccloud::Config.run do |config|
config.vm.define "web" do |web_config|
web_config.vm.provider= "aws-us-east"
web_config.vm.ami = "ami-3c994355"
web_config.vm.flavor = "m1.small"
web_config.vm.zone = "us-east-1a"
web_config.vm.user="ubuntu"
web_config.vm.key_name = "my-mccloud-key"
# this made it work
web_config.vm.private_key_path="W:/home/.ssh/mccloud_rsa"
web_config.vm.public_key_path="W:/home/.ssh/mccloud_rsa.pub"
end
end
Am I doing something wrong here?
Hi,
just wondering what the status of kvm/libvirt support is? I see fog has support for libvirt now, but the mccloud readme still mentions only ec2 is supported.
I'm getting lots of SSH warnings like these (tested on libvirt branch):
W:\tmp\demo>mccloud provision web
Loaded providers[1] vms[1] ips[0] lbs[0] stacks[0] templates[1] keypairs[0] keystores[0]
[web] - starting provisioning with chef_solo as provisioner
[web] - ssh -p 22 [email protected] "test -d '/tmp/cookbooks' || mkdir -p '/tmp/cookbooks' "
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
Connection to 50.17.146.192 closed.
[web] - rsyncing W:/tmp/demo/cookbooks/
Pseudo-terminal will not be allocated because stdin is not a terminal.
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
[web] - [chef_solo] - running chef-solo
[web] - [chef_solo] - login as ubuntu
[web] - ssh -p 22 [email protected] "sudo -i chef-solo -c /tmp/solo.rb -j /tmp/dna.json -l info"
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
[2012-08-21T11:39:48+00:00] INFO: *** Chef 10.12.0 ***
....
[web] - [chef_solo] - Cleaning up dna.json
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
Connection to 50.17.146.192 closed.
[web] - [chef_solo] - Cleaning up solo.json
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
Connection to 50.17.146.192 closed.
[web] - [chef_solo] - Cleaning cookbook_path ./cookbooks
Warning: Permanently added '50.17.146.192' (ECDSA) to the list of known hosts.
Connection to 50.17.146.192 closed.
Is this specific to my Windows7 / Ruby1.9.2p125 setup? Or has anybody else seen these as well?
While trying out the :host provider I noticed the following issues:
mccloud status <host>
shows the status of the VMs of other providers (AWS in this case) which should not be. In addition, it shows nothing for the :host provider:W:\tmp\demo>mccloud status host_web
Loaded providers[2] vms[2] ips[0] lbs[0] stacks[0] templates[1] keypairs[0] keystores[0]
Server(s) - provider aws-us-east
Name Instance Id IP Type Status
================================================================================
Image(s) - provider aws-us-east
================================================================================
Volume(s) - provider aws-us-east
================================================================================
mccloud bootstrap <host>
fails with:W:\tmp\demo>mccloud bootstrap host_web
Loaded providers[2] vms[2] ips[0] lbs[0] stacks[0] templates[1] keypairs[0] keystores[0]
[host_web] - Uploading bootstrap code to machine host_web
vagrant
Something blew up Mccloud. Time for McGuyver:
can't convert Net::SSH::AuthenticationFailed into String
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/core/vm/ssh_bootstrap.rb:25:in `+'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/core/vm/ssh_bootstrap.rb:25:in `rescue in ssh_bootstrap'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/core/vm/ssh_bootstrap.rb:21:in `ssh_bootstrap'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/host/vm/bootstrap.rb:6:in `_bootstrap'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/host/provider.rb:44:in `block in bootstrap'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/core/provider.rb:53:in `on_selected_components'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/provider/host/provider.rb:43:in `bootstrap'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/bootstrap.rb:14:in `block in execute'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/bootstrap.rb:12:in `each'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/command/bootstrap.rb:12:in `execute'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `block in invoke_all'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `each'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `map'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:124:in `invoke_all'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/group.rb:226:in `dispatch'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:109:in `invoke'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/lib/mccloud/cli.rb:45:in `block in register'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
W:/tools/vagrant/vagrant/vagrant/embedded/lib/ruby/gems/1.9.1/gems/mccloud-0.0.13/bin/mccloud:18:in `<top (required)>'
W:/tools/vagrant/vagrant/vagrant/embedded/bin/mccloud:19:in `load'
W:/tools/vagrant/vagrant/vagrant/embedded/bin/mccloud:19:in `<main>'
This is the Mccloudfile I used for testing: https://gist.github.com/3414976
using current HEAD revision of libvirt branch (d2370fa) on a Windows7 / Ruby 1.9.3p125 install:
mccloud init
works as expected and creates a Mccloudfile
a subsequent call to mccloud status
fails silently with the following error:
W:\tmp\testo>mccloud status
Error processing configfile - Sorry
with logging turned on (set MCCLOUD_LOG=STDOUT
) I get this:
W:\tmp\testo>mccloud status
2012-08-21 10:06:59 +0200 - environment - [mccloud] Setting @cwd to .
2012-08-21 10:06:59 +0200 - environment - [mccloud] Setting @mccloud_file to Mccloudfile
2012-08-21 10:06:59 +0200 - environment - [mccloud] Setting @autoload to true
2012-08-21 10:06:59 +0200 - - [mccloud] Calculating computed rootpath
2012-08-21 10:06:59 +0200 - - [mccloud] Start provided: .
2012-08-21 10:06:59 +0200 - environment - [mccloud] Autoload activated? true
2012-08-21 10:06:59 +0200 - environment - [mccloud] Environment initialized (#<Mccloud::Environment:0x2813790>)
2012-08-21 10:06:59 +0200 - environment - [mccloud] - cwd : .
2012-08-21 10:06:59 +0200 - config - [mccloud] Initializing empty list of vms,lbs,stacks, ips in config
2012-08-21 10:06:59 +0200 - environment - [mccloud] Loading configuration...
2012-08-21 10:06:59 +0200 - - [mccloud] Reading Mccloud::Config.run do |config|
<.....rest of config file displayed.....>
end # End Mccloud
2012-08-21 10:06:59 +0200 - - [mccloud] done loading the mccloud setting
2012-08-21 10:06:59 +0200 - - [mccloud] initalizing keypair
2012-08-21 10:06:59 +0200 - config provider - [mccloud] Start stubbing provider
2012-08-21 10:06:59 +0200 - config provider - [mccloud] End stubbing provider
2012-08-21 10:06:59 +0200 - config provider - [mccloud] Found provider of type aws
2012-08-21 10:07:00 +0200 - ui - [mccloud] Error processing configfile - Sorry
Error processing configfile - Sorry
When more than one provider is configured, listing VMs will abruptly halt on the first ec2 provided VM if a ~/.fog file is not found, regardless of whether or not there are additional non-ec2 VMs to be listed.
For example, we currently see:
alias |provider |ip-address
--------------------------------------------------------------------------------
alias1 |provider |
Missing Credentials
Create the file /home/username/.fog with the following content:
===================== snippet begin =====================
---
:xxxxxxxxx:
:aws_access_key_id: <your aws_access_key_id>
:aws_secret_access_key: <your aws_secret_access_key>
===================== snippet end =====================
Note the absence of "alias3". With a ~/.fog file, we might expect to see:
alias |provider |ip-address
--------------------------------------------------------------------------------
alias1 |providerA |
alias2 |aws-us-east |
alias3 |providerA |
In the Mccloudfile I'm specifying chef.data_bags_path
as show in the README:
# provisioning sript (runs on each mccloud up or provision)
config.vm.provision :chef_solo do |chef|
chef.cookbooks_path = [ "cookbooks" ]
chef.data_bags_path = "data_bags"
chef.clean_after_run = false
chef.log_level = "info"
chef.add_recipe "myrecipe"
end
The data bags get properly rsync'ed, but the data_bag_path
does not get added to the solo.rb
being generated on the node.
As a result the data bags are not picked up.
add a bootstrap script for Chef via the Omnibus installer, which is now the preferred way of installing Chef:
http://www.opscode.com/blog/2012/06/29/omnibus-chef-packaging/
In my Mccloudfile I have something like this:
Mccloud::Config.run do |config|
config.vm.define "web" do |web_config|
web_config.vm.security_groups = [ "mccloud" ]
end
end
When I modify the security groups here, e.g...
web_config.vm.security_groups = [ "mccloud", "http" ]
...how do I get these changes to AWS?
I have tried both mccloud provision web
and a mccloud up web
(while it was already up) with no success.
Is there a different command I would have to use in this case?
Would you mind relaxing the thor dependency to > 0.14
as you already did in veewee.gemspec?
Edit: just noticed it's really thor > 0.14
in veewee. thor >= 0.14.6
would be sufficient for me to make it play nice with other gems which require thor ~> 0.16.0
, e.g. berkshelf.
I am using a lot mccloud . many time it hanging up on bootstrap step or after it seem that it te NET::ssh issu
do you have this issue ?
thank you
The AWS bootstrap fails when the bootstrap template is uploaded via scp:
[sample-app] - Error uploading file R:/puroz-chef-workflow/test/ec2-bootstrap/.chef/bootstrap/omnibus-chef-10.16.2.sh invalid option(s): port, key_data, keys_only, keys
The exception comes from lib/provider/aws/vm/scp.rb
near Fog::SCP.new(...)
Catching the exception and looking at the backtrace reveals that it comes from net/ssh:
invalid option(s): port, key_data, keys_only, keys
W:/tools/ruby/ruby-1.9.3-p385-i386-mingw32/lib/ruby/gems/1.9.1/gems/net-ssh-2.2.2/lib/net/ssh.rb:162:in `start'
W:/tools/ruby/ruby-1.9.3-p385-i386-mingw32/lib/ruby/gems/1.9.1/gems/net-scp-1.0.4/lib/net/scp.rb:197:in `start'
W:/tools/ruby/ruby-1.9.3-p385-i386-mingw32/lib/ruby/gems/1.9.1/gems/fog-1.9.0/lib/fog/core/scp.rb:70:in `upload'
D:/Repos/_github/mccloud/lib/mccloud/provider/aws/vm/scp.rb:21:in `scp'
D:/Repos/_github/mccloud/lib/mccloud/provider/aws/vm/scp.rb:6:in `transfer'
Working on a PR to fix it...
Pardon my Ruby/gem ignorance -- However, I was only attempting to install mccloud for the first time and was abruptly stopped with the following error:
leek ~ % gem install mccloud
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: mccloud requires net-ssh (~> 2.2.2)
leek ~ % gem list
*** LOCAL GEMS ***
animation (0.1.alpha.3)
ansi (1.4.3)
builder (3.2.0)
capifony (2.2.8)
capistrano (2.14.2)
capistrano-ext (1.2.1)
capistrano-maintenance (0.0.2)
capistrano_colors (0.5.5)
chunky_png (1.2.8, 1.2.7)
colored (1.2)
compass (0.12.2)
compass_twitter_bootstrap (2.2.2.2)
excon (0.20.1)
ffi (1.8.1)
fog (1.10.1)
formatador (0.2.4)
fssm (0.2.10)
highline (1.6.18)
i18n (0.6.4)
inifile (2.0.2)
json (1.7.7)
listen (1.0.2, 0.7.3)
mime-types (1.23)
multi_json (1.7.2)
net-scp (1.1.0)
net-sftp (2.1.1)
net-ssh (2.6.7)
net-ssh-gateway (1.2.0)
nokogiri (1.5.9)
railsless-deploy (1.1.0)
rb-fsevent (0.9.3)
rb-inotify (0.9.0)
rb-kqueue (0.2.0)
ruby-hmac (0.4.0)
rubygems-update (2.0.3, 2.0.0)
sass (3.2.8, 3.2.7)
terminal-table (1.4.5)
would you mind updating the fog dependency to 1.6.0 for compatibility with the latest veewee version?
This appears to be happening because fog is raising an ArgumentError. Mccloud assumes that the error string will contain "Missing required arguments: ", but it does not.
session.rb:110:in `[]=': string not matched (IndexError)
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/lib/mccloud/session.rb:110:in `load_config'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/lib/mccloud/session.rb:98:in `each'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/lib/mccloud/session.rb:98:in `load_config'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/bin/mccloud:16:in `create_session'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/bin/mccloud:122:in `bootstrap'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bundler/gems/mccloud-9de38ab7e7ec/bin/mccloud:172
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bin/mccloud:19:in `load'
from /Users/mtnygard/.rvm/gems/ruby-1.8.7-p352@metron/bin/mccloud:19
The shell
-provisioner fails to work when using inline-code:
vm_config.vm.provision :shell do |command|
command.sudo = true
command.inline = <<-EOS
true
EOS
end
with the following error
Something blew up Mccloud. Time for McGuyver:
can't convert StringIO into String
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/scp.rb:10:in `exists?'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/scp.rb:10:in `scp'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/scp.rb:6:in `transfer'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provisioner/shell.rb:25:in `run'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/provision.rb:13:in `block in _provision'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/provision.rb:11:in `each'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/vm/provision.rb:11:in `_provision'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/provider.rb:202:in `block in provision'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/core/provider.rb:53:in `on_selected_components'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/provider/aws/provider.rb:201:in `provision'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/command/provision.rb:12:in `block in execute'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/command/provision.rb:10:in `each'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/command/provision.rb:10:in `execute'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `block in invoke_all'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `each'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `map'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:127:in `invoke_all'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/group.rb:233:in `dispatch'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:109:in `invoke'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/lib/mccloud/cli.rb:45:in `block in register'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bundler/gems/mccloud-b726b06c0ba5/bin/mccloud:18:in `<top (required)>'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bin/mccloud:23:in `load'
/Users/niels/Documents/2013-09-iedereen-beroemd-rudi/vendor/ruby/1.9.1/bin/mccloud:23:in `<main>'
Presumably, the problem is somewhere here:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.