mccloud 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/bin/mccloud +2 -1
- data/lib/mccloud/command/bootstrap.rb +1 -1
- data/lib/mccloud/command/command.rb +1 -1
- data/lib/mccloud/command/init.rb +3 -1
- data/lib/mccloud/command/multi.rb +1 -1
- data/lib/mccloud/command/provision.rb +1 -1
- data/lib/mccloud/command/server.rb +1 -1
- data/lib/mccloud/command/ssh.rb +1 -1
- data/lib/mccloud/command/up.rb +9 -2
- data/lib/mccloud/generators.rb +2 -2
- data/lib/mccloud/provisioner/chef_solo.rb +1 -1
- data/lib/mccloud/provisioner/puppet.rb +1 -1
- data/lib/mccloud/templates/Mccloudfilet +1 -1
- data/lib/mccloud/type/vm.rb +2 -1
- data/lib/mccloud/util/rsync.rb +1 -1
- data/lib/mccloud/version.rb +1 -1
- metadata +3 -3
data/Gemfile.lock
CHANGED
data/bin/mccloud
CHANGED
@@ -18,9 +18,10 @@ class MccloudCLI < Thor
|
|
18
18
|
|
19
19
|
end
|
20
20
|
|
21
|
-
desc "init
|
21
|
+
desc "init", "creates a Mccloud Config File"
|
22
22
|
method_options :force => :boolean
|
23
23
|
def init(amiId=nil)
|
24
|
+
Mccloud::Command.init(amiId,options)
|
24
25
|
end
|
25
26
|
|
26
27
|
desc "up", "bring a machine up"
|
@@ -6,7 +6,7 @@ module Mccloud
|
|
6
6
|
on_selected_machines(selection) do |id,vm|
|
7
7
|
puts "bootstrap #{selection} "
|
8
8
|
server=vm.instance
|
9
|
-
server.private_key_path=vm.
|
9
|
+
server.private_key_path=vm.private_key
|
10
10
|
server.username = vm.user
|
11
11
|
if server.state == "running"
|
12
12
|
puts "Uploading bootstrap code to machine #{vm.name}"
|
@@ -4,7 +4,7 @@ module Mccloud
|
|
4
4
|
unless options.parallel?
|
5
5
|
on_selected_machines(selection) do |id,vm|
|
6
6
|
server=PROVIDER.servers.get(id)
|
7
|
-
server.private_key_path=vm.
|
7
|
+
server.private_key_path=vm.private_key
|
8
8
|
server.username = vm.user
|
9
9
|
if server.state == "running"
|
10
10
|
result=server.ssh(command)
|
data/lib/mccloud/command/init.rb
CHANGED
@@ -14,7 +14,7 @@ module Mccloud
|
|
14
14
|
instance=vm.instance
|
15
15
|
if instance.state == "running"
|
16
16
|
ip2name[instance.public_ip_address]=vm.name
|
17
|
-
session.use "#{instance.public_ip_address}", { :user => vm.user , :keys => [ vm.
|
17
|
+
session.use "#{instance.public_ip_address}", { :user => vm.user , :keys => [ vm.private_key ], :paranoid => false, :keys_only => true}
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
@@ -11,7 +11,7 @@ module Mccloud
|
|
11
11
|
public_ip_address=vm.instance.public_ip_address
|
12
12
|
private_ip_address=vm.instance.private_ip_address
|
13
13
|
unless public_ip_address.nil? || private_ip_address.nil?
|
14
|
-
ssh_options={ :keys => [ vm.
|
14
|
+
ssh_options={ :keys => [ vm.private_key ], :paranoid => false, :keys_only => true}
|
15
15
|
Net::SSH.start(public_ip_address, vm.user, ssh_options) do |ssh|
|
16
16
|
vm.forwardings.each do |forwarding|
|
17
17
|
puts "forwarding port #{forwarding.remote} from #{vm.name} to local port #{forwarding.local}"
|
data/lib/mccloud/command/ssh.rb
CHANGED
@@ -23,7 +23,7 @@ module Mccloud
|
|
23
23
|
end
|
24
24
|
|
25
25
|
#https://github.com/mitchellh/vagrant/blob/master/lib/vagrant/ssh.rb
|
26
|
-
options={ :port => 22, :private_key_path => vm.
|
26
|
+
options={ :port => 22, :private_key_path => vm.private_key,
|
27
27
|
:username => vm.user , :host => vm.instance.public_ip_address }
|
28
28
|
# Command line options
|
29
29
|
command_options = ["-p #{options[:port]}", "-o UserKnownHostsFile=/dev/null",
|
data/lib/mccloud/command/up.rb
CHANGED
@@ -14,7 +14,15 @@ module Mccloud
|
|
14
14
|
provider_options=vm.provider_options
|
15
15
|
boxname=vm.name
|
16
16
|
puts "Spinning up a new machine called #{boxname}"
|
17
|
-
|
17
|
+
|
18
|
+
provider_options=provider_options.merge({ :private_key_path => vm.private_key , :public_key_path => vm.public_key, :username => vm.user})
|
19
|
+
|
20
|
+
#pp provider_options
|
21
|
+
instance=provider.servers.bootstrap(provider_options)
|
22
|
+
|
23
|
+
#instance=provider.servers.create(provider_options)
|
24
|
+
#instance=provider.servers.create(provider_options)
|
25
|
+
|
18
26
|
puts "Waiting for it the machine to become accessible"
|
19
27
|
instance.wait_for { printf "."; STDOUT.flush; ready?}
|
20
28
|
puts
|
@@ -54,7 +62,6 @@ module Mccloud
|
|
54
62
|
|
55
63
|
@session.provision(selection,options)
|
56
64
|
|
57
|
-
#server.boostrap(:image_id => 'ami', :private_key_path => '', :public_key_path => '')
|
58
65
|
end
|
59
66
|
|
60
67
|
|
data/lib/mccloud/generators.rb
CHANGED
@@ -11,10 +11,10 @@ module Mccloud
|
|
11
11
|
|
12
12
|
desc <<-DESC
|
13
13
|
Initialize a mccloud environment
|
14
|
-
mccloud init
|
14
|
+
mccloud init
|
15
15
|
DESC
|
16
16
|
|
17
|
-
first_argument :ami_id, :required => true, :desc => 'AMI ID'
|
17
|
+
# first_argument :ami_id, :required => true, :desc => 'AMI ID'
|
18
18
|
|
19
19
|
template :mccloudfile, 'Mccloudfile'
|
20
20
|
|
@@ -43,7 +43,7 @@ module Mccloud
|
|
43
43
|
end
|
44
44
|
|
45
45
|
puts "Running chef-solo"
|
46
|
-
options={ :port => 22, :keys => [ vm.
|
46
|
+
options={ :port => 22, :keys => [ vm.private_key ], :paranoid => false, :keys_only => true}
|
47
47
|
Mccloud::Util.ssh(vm.instance.public_ip_address,vm.user,options,"sudo chef-solo -c /tmp/solo.rb -j /tmp/dna.json -l debug")
|
48
48
|
|
49
49
|
end
|
@@ -30,7 +30,7 @@ module Mccloud
|
|
30
30
|
vm.instance.scp(@manifest_file,"#{@pp_path}/manifest.pp")
|
31
31
|
|
32
32
|
puts "Running puppet"
|
33
|
-
options={ :port => 22, :keys => [ vm.
|
33
|
+
options={ :port => 22, :keys => [ vm.private_key ], :paranoid => false, :keys_only => true}
|
34
34
|
Mccloud::Util.ssh(vm.instance.public_ip_address,vm.user,options,"sudo puppet #{@pp_path}/manifest.pp")
|
35
35
|
|
36
36
|
end
|
@@ -24,7 +24,7 @@ Mccloud::Config.run do |config|
|
|
24
24
|
web_config.vm.forward_port("http", 80, 8080)
|
25
25
|
web_config.vm.user="ubuntu"
|
26
26
|
web_config.vm.bootstrap="ruby-bootstrap.sh"
|
27
|
-
web_config.vm.
|
27
|
+
web_config.vm.private_key="my-ec2-key.pem"
|
28
28
|
end
|
29
29
|
|
30
30
|
### Provisioners
|
data/lib/mccloud/type/vm.rb
CHANGED
@@ -8,7 +8,8 @@ module Mccloud
|
|
8
8
|
attr_accessor :provider_options
|
9
9
|
attr_accessor :name
|
10
10
|
attr_accessor :user
|
11
|
-
attr_accessor :
|
11
|
+
attr_accessor :private_key
|
12
|
+
attr_accessor :public_key
|
12
13
|
attr_accessor :bootstrap
|
13
14
|
attr_accessor :provisioner
|
14
15
|
attr_accessor :forwardings
|
data/lib/mccloud/util/rsync.rb
CHANGED
@@ -2,7 +2,7 @@ require "pty"
|
|
2
2
|
module Mccloud
|
3
3
|
module Util
|
4
4
|
def self.rsync(path,vm,instance)
|
5
|
-
command="rsync --delete -avz -e 'ssh -p 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -i \"#{vm.
|
5
|
+
command="rsync --delete -avz -e 'ssh -p 22 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o IdentitiesOnly=yes -i \"#{vm.private_key}\"' '#{path}/' '#{vm.user}@#{instance.public_ip_address}:/tmp/#{File.basename(path)}/'"
|
6
6
|
puts command
|
7
7
|
begin
|
8
8
|
PTY.spawn( command ) do |r, w, pid|
|
data/lib/mccloud/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mccloud
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Patrick Debois
|