corl 0.4.15 → 0.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +76 -30
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/bootstrap/bootstrap.sh +5 -2
- data/bootstrap/os/ubuntu/00_base.sh +1 -1
- data/bootstrap/os/ubuntu/01_git.sh +9 -0
- data/bootstrap/os/ubuntu/05_ruby.sh +7 -4
- data/bootstrap/os/ubuntu/06_puppet.sh +2 -2
- data/corl.gemspec +23 -9
- data/lib/CORL/action/authorize.rb +2 -5
- data/lib/CORL/action/bootstrap.rb +1 -5
- data/lib/CORL/action/build.rb +2 -10
- data/lib/CORL/action/destroy.rb +2 -7
- data/lib/CORL/action/exec.rb +1 -5
- data/lib/CORL/action/image.rb +1 -5
- data/lib/CORL/action/images.rb +12 -10
- data/lib/CORL/action/ip.rb +21 -0
- data/lib/CORL/action/lookup.rb +5 -3
- data/lib/CORL/action/machines.rb +12 -10
- data/lib/CORL/action/provision.rb +4 -7
- data/lib/CORL/action/regions.rb +12 -10
- data/lib/CORL/action/seed.rb +9 -10
- data/lib/CORL/action/spawn.rb +29 -15
- data/lib/CORL/action/ssh.rb +1 -5
- data/lib/CORL/action/start.rb +1 -5
- data/lib/CORL/action/stop.rb +1 -5
- data/lib/CORL/action/vagrantfile.rb +55 -0
- data/lib/CORL/configuration/file.rb +4 -1
- data/lib/CORL/machine/physical.rb +1 -1
- data/lib/CORL/machine/vagrant.rb +358 -0
- data/lib/CORL/node/local.rb +2 -3
- data/lib/CORL/node/vagrant.rb +238 -0
- data/lib/core/facade.rb +25 -2
- data/lib/core/mixin/macro/network_settings.rb +35 -1
- data/lib/core/plugin/action.rb +53 -5
- data/lib/core/plugin/configuration.rb +19 -5
- data/lib/core/plugin/fog_machine.rb +1 -1
- data/lib/core/plugin/fog_node.rb +9 -9
- data/lib/core/plugin/machine.rb +6 -13
- data/lib/core/plugin/network.rb +23 -7
- data/lib/core/plugin/node.rb +69 -36
- data/lib/core/plugin/provisioner.rb +1 -2
- data/lib/core/vagrant/Vagrantfile +7 -0
- data/lib/core/vagrant/commands/launcher.rb +66 -0
- data/lib/core/vagrant/config.rb +308 -0
- data/lib/core/vagrant/plugins.rb +33 -0
- data/lib/core/vagrant/provisioner/config.rb +39 -0
- data/lib/core/vagrant/provisioner/provisioner.rb +46 -0
- data/lib/corl.rb +8 -0
- data/locales/en.yml +13 -1
- metadata +120 -59
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b4edb990285aa696910d5e592213b5a91b5e5f6e
|
4
|
+
data.tar.gz: de66aaa2bdf8677c6a0eafead3233557326b0595
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 953891d538e823b0dd7c29b2b07ca2311a3abce4aab3cb69771e61b17c6bef119d02c87732cc1a84bdc059692c45141b7c78751d88bd4efdd0344faa5c4a2fb6
|
7
|
+
data.tar.gz: c92c87e4c910691a82d140ac025d381db9b7cb691f62f024ca4598b8bece484dcfafbcbfd85cb9e63ae2b1c3aee362275ac03aa3cf77404e98d463525c658d76
|
data/Gemfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
|
3
|
-
gem "nucleon", "~> 0.1"
|
3
|
+
gem "nucleon", "~> 0.1", ">= 0.1.10", :github => 'coralnexus/nucleon', :branch => '0.1'
|
4
4
|
|
5
5
|
gem "fog", "~> 1.20"
|
6
6
|
gem "unf", "~> 0.1"
|
@@ -16,4 +16,9 @@ group :development do
|
|
16
16
|
gem "rspec", "~> 2.10"
|
17
17
|
gem "rdoc", "~> 3.12"
|
18
18
|
gem "yard", "~> 0.8"
|
19
|
+
gem "vagrant", "~> 1.5", :github => 'mitchellh/vagrant', :branch => 'master'
|
20
|
+
end
|
21
|
+
|
22
|
+
group :plugins do
|
23
|
+
gem "corl", :path => "."
|
19
24
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,15 +1,62 @@
|
|
1
|
+
GIT
|
2
|
+
remote: git://github.com/coralnexus/nucleon.git
|
3
|
+
revision: 924063f5b5fd6680e438d7b3ea91bc655e7e6837
|
4
|
+
branch: 0.1
|
5
|
+
specs:
|
6
|
+
nucleon (0.1.13)
|
7
|
+
celluloid (~> 0.15)
|
8
|
+
childprocess (~> 0.5)
|
9
|
+
deep_merge (~> 1.0)
|
10
|
+
i18n (~> 0.6)
|
11
|
+
log4r (~> 1.1)
|
12
|
+
multi_json (~> 1.7)
|
13
|
+
netrc (~> 0.7)
|
14
|
+
octokit (~> 2.7)
|
15
|
+
rugged (~> 0.19)
|
16
|
+
sshkey (~> 1.6)
|
17
|
+
|
18
|
+
GIT
|
19
|
+
remote: git://github.com/mitchellh/vagrant.git
|
20
|
+
revision: e8f1f301e6bab643ae652d2ed1fcee0c6ee820c4
|
21
|
+
branch: master
|
22
|
+
specs:
|
23
|
+
vagrant (1.5.3.dev)
|
24
|
+
bundler (~> 1.5.2)
|
25
|
+
childprocess (~> 0.5.0)
|
26
|
+
erubis (~> 2.7.0)
|
27
|
+
i18n (~> 0.6.0)
|
28
|
+
listen (~> 2.4.0)
|
29
|
+
log4r (~> 1.1.9, < 1.1.11)
|
30
|
+
net-scp (~> 1.1.0)
|
31
|
+
net-ssh (>= 2.6.6, < 2.8.0)
|
32
|
+
rb-kqueue (~> 0.2.0)
|
33
|
+
wdm (~> 0.1.0)
|
34
|
+
|
35
|
+
PATH
|
36
|
+
remote: .
|
37
|
+
specs:
|
38
|
+
corl (0.4.16)
|
39
|
+
facter (~> 1.7)
|
40
|
+
fog (~> 1.20)
|
41
|
+
hiera (~> 1.3)
|
42
|
+
nucleon (~> 0.1, >= 0.1.10)
|
43
|
+
puppet (~> 3.2)
|
44
|
+
unf (~> 0.1)
|
45
|
+
|
1
46
|
GEM
|
2
47
|
remote: http://rubygems.org/
|
3
48
|
specs:
|
4
|
-
addressable (2.3.
|
49
|
+
addressable (2.3.6)
|
5
50
|
builder (3.2.2)
|
6
51
|
celluloid (0.15.2)
|
7
52
|
timers (~> 1.1.0)
|
8
|
-
childprocess (0.5.
|
53
|
+
childprocess (0.5.2)
|
9
54
|
ffi (~> 1.0, >= 1.0.11)
|
10
55
|
deep_merge (1.0.1)
|
11
|
-
descendants_tracker (0.0.
|
56
|
+
descendants_tracker (0.0.4)
|
57
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
12
58
|
diff-lcs (1.2.5)
|
59
|
+
erubis (2.7.0)
|
13
60
|
excon (0.32.1)
|
14
61
|
facter (1.7.5)
|
15
62
|
faraday (0.9.0)
|
@@ -42,11 +89,7 @@ GEM
|
|
42
89
|
multi_json (>= 1.7.5, < 2.0)
|
43
90
|
nokogiri (~> 1.6.0)
|
44
91
|
oauth2
|
45
|
-
|
46
|
-
diff-lcs (~> 1.1)
|
47
|
-
mime-types (~> 1.15)
|
48
|
-
posix-spawn (~> 0.3.6)
|
49
|
-
hashie (2.0.5)
|
92
|
+
hashie (2.1.0)
|
50
93
|
hiera (1.3.2)
|
51
94
|
json_pure
|
52
95
|
highline (1.6.21)
|
@@ -64,29 +107,22 @@ GEM
|
|
64
107
|
json_pure (1.8.1)
|
65
108
|
jwt (0.1.11)
|
66
109
|
multi_json (>= 1.5)
|
110
|
+
listen (2.4.1)
|
111
|
+
celluloid (>= 0.15.2)
|
112
|
+
rb-fsevent (>= 0.9.3)
|
113
|
+
rb-inotify (>= 0.9)
|
67
114
|
log4r (1.1.10)
|
68
|
-
mime-types (
|
69
|
-
mini_portile (0.5.
|
115
|
+
mime-types (2.2)
|
116
|
+
mini_portile (0.5.3)
|
70
117
|
multi_json (1.9.2)
|
71
118
|
multi_xml (0.5.5)
|
72
119
|
multipart-post (2.0.0)
|
73
120
|
net-scp (1.1.2)
|
74
121
|
net-ssh (>= 2.6.5)
|
75
|
-
net-ssh (2.
|
122
|
+
net-ssh (2.7.0)
|
76
123
|
netrc (0.7.7)
|
77
124
|
nokogiri (1.6.1)
|
78
125
|
mini_portile (~> 0.5.0)
|
79
|
-
nucleon (0.1.8)
|
80
|
-
celluloid (~> 0.15)
|
81
|
-
childprocess (~> 0.5.0)
|
82
|
-
deep_merge (~> 1.0)
|
83
|
-
grit (~> 2.5)
|
84
|
-
i18n (~> 0.6)
|
85
|
-
log4r (~> 1.1)
|
86
|
-
multi_json (~> 1.7)
|
87
|
-
netrc (~> 0.7)
|
88
|
-
octokit (~> 2.7)
|
89
|
-
sshkey (~> 1.6)
|
90
126
|
oauth2 (0.9.3)
|
91
127
|
faraday (>= 0.8, < 0.10)
|
92
128
|
jwt (~> 0.1.8)
|
@@ -95,13 +131,18 @@ GEM
|
|
95
131
|
rack (~> 1.2)
|
96
132
|
octokit (2.7.2)
|
97
133
|
sawyer (~> 0.5.2)
|
98
|
-
|
99
|
-
|
100
|
-
facter (~> 1.6)
|
134
|
+
puppet (3.5.0)
|
135
|
+
facter (> 1.6, < 3)
|
101
136
|
hiera (~> 1.0)
|
137
|
+
json_pure
|
102
138
|
rgen (~> 0.6.5)
|
103
139
|
rack (1.5.2)
|
104
|
-
rake (10.
|
140
|
+
rake (10.2.2)
|
141
|
+
rb-fsevent (0.9.4)
|
142
|
+
rb-inotify (0.9.3)
|
143
|
+
ffi (>= 0.5.0)
|
144
|
+
rb-kqueue (0.2.2)
|
145
|
+
ffi (>= 0.5.0)
|
105
146
|
rdoc (3.12.2)
|
106
147
|
json (~> 1.4)
|
107
148
|
rgen (0.6.6)
|
@@ -113,28 +154,33 @@ GEM
|
|
113
154
|
rspec-expectations (2.14.5)
|
114
155
|
diff-lcs (>= 1.1.3, < 2.0)
|
115
156
|
rspec-mocks (2.14.6)
|
116
|
-
|
157
|
+
rugged (0.19.0)
|
158
|
+
sawyer (0.5.4)
|
117
159
|
addressable (~> 2.3.5)
|
118
160
|
faraday (~> 0.8, < 0.10)
|
119
161
|
sshkey (1.6.1)
|
162
|
+
thread_safe (0.3.3)
|
120
163
|
timers (1.1.0)
|
121
|
-
unf (0.1.
|
164
|
+
unf (0.1.4)
|
122
165
|
unf_ext
|
123
166
|
unf_ext (0.0.6)
|
124
|
-
|
167
|
+
wdm (0.1.0)
|
168
|
+
yard (0.8.7.4)
|
125
169
|
|
126
170
|
PLATFORMS
|
127
171
|
ruby
|
128
172
|
|
129
173
|
DEPENDENCIES
|
130
174
|
bundler (~> 1.2)
|
175
|
+
corl!
|
131
176
|
facter (~> 1.7)
|
132
177
|
fog (~> 1.20)
|
133
178
|
hiera (~> 1.3)
|
134
179
|
jeweler (~> 2.0)
|
135
|
-
nucleon (~> 0.1)
|
180
|
+
nucleon (~> 0.1, >= 0.1.10)!
|
136
181
|
puppet (~> 3.2)
|
137
182
|
rdoc (~> 3.12)
|
138
183
|
rspec (~> 2.10)
|
139
184
|
unf (~> 0.1)
|
185
|
+
vagrant (~> 1.5)!
|
140
186
|
yard (~> 0.8)
|
data/Rakefile
CHANGED
@@ -34,7 +34,7 @@ Jeweler::Tasks.new do |gem|
|
|
34
34
|
gem.authors = ["Adrian Webb"]
|
35
35
|
gem.summary = %Q{Cluster Orchestration and Research Library}
|
36
36
|
gem.description = %Q{Framework that provides a simple foundation for growing organically in the cloud}
|
37
|
-
gem.required_ruby_version = '>=
|
37
|
+
gem.required_ruby_version = '>= 2.0'
|
38
38
|
gem.has_rdoc = true
|
39
39
|
gem.rdoc_options << '--title' << 'Cluster Orchestration and Research Library' <<
|
40
40
|
'--main' << 'README.rdoc' <<
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.16
|
data/bootstrap/bootstrap.sh
CHANGED
@@ -16,6 +16,9 @@ Systems initialized:
|
|
16
16
|
|
17
17
|
* Git - Git packages installed
|
18
18
|
|
19
|
+
* Vim - Vim and vim script packages installed
|
20
|
+
- Vim configured
|
21
|
+
|
19
22
|
* Ruby - Ruby 1.9.x packages installed
|
20
23
|
- Execution alternative configuration (if applicable)
|
21
24
|
|
@@ -29,8 +32,8 @@ Systems initialized:
|
|
29
32
|
Tested under Ubuntu 12.04 LTS
|
30
33
|
Licensed under GPLv3
|
31
34
|
|
32
|
-
See the project page at: http://github.com/coralnexus/
|
33
|
-
Report issues here: http://github.com/coralnexus/
|
35
|
+
See the project page at: http://github.com/coralnexus/corl-bootstrap
|
36
|
+
Report issues here: http://github.com/coralnexus/corl-bootstrap/issues
|
34
37
|
"
|
35
38
|
fi
|
36
39
|
|
@@ -14,4 +14,4 @@ echo "nameserver 208.67.222.222" | tee /etc/resolvconf/resolv.conf.d/base > /dev
|
|
14
14
|
apt-get update || exit 4
|
15
15
|
|
16
16
|
# Install basic build packages.
|
17
|
-
apt-get -y install build-essential curl || exit 5
|
17
|
+
apt-get -y install build-essential python-software-properties curl || exit 5
|
@@ -3,3 +3,12 @@
|
|
3
3
|
|
4
4
|
# Install Git.
|
5
5
|
apt-get -y install git || exit 10
|
6
|
+
|
7
|
+
echo "Hello $USER"
|
8
|
+
|
9
|
+
# Make sure it is easy to communicate with repo hosts
|
10
|
+
mkdir -p ~/.ssh || exit 11
|
11
|
+
touch ~/.ssh/known_hosts || exit 12
|
12
|
+
|
13
|
+
ssh-keygen -R github.com 2>&1 || exit 13 # No duplicates
|
14
|
+
ssh-keyscan -H github.com >> ~/.ssh/known_hosts || exit 14
|
@@ -2,12 +2,15 @@
|
|
2
2
|
#-------------------------------------------------------------------------------
|
3
3
|
|
4
4
|
# Install Ruby.
|
5
|
-
apt-
|
6
|
-
|
7
|
-
|
5
|
+
add-apt-repository ppa:brightbox/ruby-ng-experimental 2>&1 || exit 51
|
6
|
+
apt-get update || exit 52
|
7
|
+
|
8
|
+
apt-get -y install ruby2.1 ruby2.1-dev || exit 53
|
9
|
+
update-alternatives --set ruby /usr/bin/ruby2.1 || exit 54
|
10
|
+
update-alternatives --set gem /usr/bin/gem2.1 || exit 55
|
8
11
|
|
9
12
|
# Set Gem options
|
10
13
|
( cat <<'EOP'
|
11
14
|
gem: --no-rdoc --no-ri
|
12
15
|
EOP
|
13
|
-
) > "$HOME/.gemrc" || exit
|
16
|
+
) > "$HOME/.gemrc" || exit 56
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#-------------------------------------------------------------------------------
|
3
3
|
|
4
4
|
# Set up Puppet Apt repositories
|
5
|
-
apt-key adv --recv-key --keyserver pgp.mit.edu 4BD6EC30 || exit 60
|
5
|
+
apt-key adv --recv-key --keyserver pgp.mit.edu 4BD6EC30 2>&1 || exit 60
|
6
6
|
|
7
7
|
( cat <<'EOP'
|
8
8
|
deb http://apt.puppetlabs.com precise main dependencies
|
@@ -34,4 +34,4 @@ EOP
|
|
34
34
|
) > /etc/hiera.yaml || exit 66
|
35
35
|
chmod 0440 /etc/hiera.yaml || exit 67
|
36
36
|
|
37
|
-
ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 68
|
37
|
+
ln -fs /etc/hiera.yaml /etc/puppet/hiera.yaml || exit 68
|
data/corl.gemspec
CHANGED
@@ -2,14 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: corl 0.4.16 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
8
|
s.name = "corl"
|
8
|
-
s.version = "0.4.
|
9
|
+
s.version = "0.4.16"
|
9
10
|
|
10
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib"]
|
11
13
|
s.authors = ["Adrian Webb"]
|
12
|
-
s.date = "2014-
|
14
|
+
s.date = "2014-04-08"
|
13
15
|
s.description = "Framework that provides a simple foundation for growing organically in the cloud"
|
14
16
|
s.email = "adrian.webb@coralnexus.com"
|
15
17
|
s.executables = ["corl"]
|
@@ -51,6 +53,7 @@ Gem::Specification.new do |s|
|
|
51
53
|
"lib/CORL/action/exec.rb",
|
52
54
|
"lib/CORL/action/image.rb",
|
53
55
|
"lib/CORL/action/images.rb",
|
56
|
+
"lib/CORL/action/ip.rb",
|
54
57
|
"lib/CORL/action/keypair.rb",
|
55
58
|
"lib/CORL/action/lookup.rb",
|
56
59
|
"lib/CORL/action/machines.rb",
|
@@ -61,15 +64,18 @@ Gem::Specification.new do |s|
|
|
61
64
|
"lib/CORL/action/ssh.rb",
|
62
65
|
"lib/CORL/action/start.rb",
|
63
66
|
"lib/CORL/action/stop.rb",
|
67
|
+
"lib/CORL/action/vagrantfile.rb",
|
64
68
|
"lib/CORL/configuration/file.rb",
|
65
69
|
"lib/CORL/event/puppet.rb",
|
66
70
|
"lib/CORL/machine/aws.rb",
|
67
71
|
"lib/CORL/machine/physical.rb",
|
68
72
|
"lib/CORL/machine/rackspace.rb",
|
73
|
+
"lib/CORL/machine/vagrant.rb",
|
69
74
|
"lib/CORL/network/default.rb",
|
70
75
|
"lib/CORL/node/aws.rb",
|
71
76
|
"lib/CORL/node/local.rb",
|
72
77
|
"lib/CORL/node/rackspace.rb",
|
78
|
+
"lib/CORL/node/vagrant.rb",
|
73
79
|
"lib/CORL/provisioner/puppetnode.rb",
|
74
80
|
"lib/CORL/template/environment.rb",
|
75
81
|
"lib/core/errors.rb",
|
@@ -91,6 +97,12 @@ Gem::Specification.new do |s|
|
|
91
97
|
"lib/core/util/puppet.rb",
|
92
98
|
"lib/core/util/puppet/resource.rb",
|
93
99
|
"lib/core/util/puppet/resource_group.rb",
|
100
|
+
"lib/core/vagrant/Vagrantfile",
|
101
|
+
"lib/core/vagrant/commands/launcher.rb",
|
102
|
+
"lib/core/vagrant/config.rb",
|
103
|
+
"lib/core/vagrant/plugins.rb",
|
104
|
+
"lib/core/vagrant/provisioner/config.rb",
|
105
|
+
"lib/core/vagrant/provisioner/provisioner.rb",
|
94
106
|
"lib/corl.rb",
|
95
107
|
"lib/facter/corl_build.rb",
|
96
108
|
"lib/facter/corl_config_ready.rb",
|
@@ -129,17 +141,16 @@ Gem::Specification.new do |s|
|
|
129
141
|
s.homepage = "http://github.com/coralnexus/corl"
|
130
142
|
s.licenses = ["GPLv3"]
|
131
143
|
s.rdoc_options = ["--title", "Cluster Orchestration and Research Library", "--main", "README.rdoc", "--line-numbers"]
|
132
|
-
s.
|
133
|
-
s.required_ruby_version = Gem::Requirement.new(">= 1.8.1")
|
144
|
+
s.required_ruby_version = Gem::Requirement.new(">= 2.0")
|
134
145
|
s.rubyforge_project = "corl"
|
135
|
-
s.rubygems_version = "
|
146
|
+
s.rubygems_version = "2.2.2"
|
136
147
|
s.summary = "Cluster Orchestration and Research Library"
|
137
148
|
|
138
149
|
if s.respond_to? :specification_version then
|
139
|
-
s.specification_version =
|
150
|
+
s.specification_version = 4
|
140
151
|
|
141
152
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
142
|
-
s.add_runtime_dependency(%q<nucleon>, ["~> 0.1"])
|
153
|
+
s.add_runtime_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
|
143
154
|
s.add_runtime_dependency(%q<fog>, ["~> 1.20"])
|
144
155
|
s.add_runtime_dependency(%q<unf>, ["~> 0.1"])
|
145
156
|
s.add_runtime_dependency(%q<facter>, ["~> 1.7"])
|
@@ -150,8 +161,9 @@ Gem::Specification.new do |s|
|
|
150
161
|
s.add_development_dependency(%q<rspec>, ["~> 2.10"])
|
151
162
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
152
163
|
s.add_development_dependency(%q<yard>, ["~> 0.8"])
|
164
|
+
s.add_development_dependency(%q<vagrant>, ["~> 1.5"])
|
153
165
|
else
|
154
|
-
s.add_dependency(%q<nucleon>, ["~> 0.1"])
|
166
|
+
s.add_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
|
155
167
|
s.add_dependency(%q<fog>, ["~> 1.20"])
|
156
168
|
s.add_dependency(%q<unf>, ["~> 0.1"])
|
157
169
|
s.add_dependency(%q<facter>, ["~> 1.7"])
|
@@ -162,9 +174,10 @@ Gem::Specification.new do |s|
|
|
162
174
|
s.add_dependency(%q<rspec>, ["~> 2.10"])
|
163
175
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
164
176
|
s.add_dependency(%q<yard>, ["~> 0.8"])
|
177
|
+
s.add_dependency(%q<vagrant>, ["~> 1.5"])
|
165
178
|
end
|
166
179
|
else
|
167
|
-
s.add_dependency(%q<nucleon>, ["~> 0.1"])
|
180
|
+
s.add_dependency(%q<nucleon>, [">= 0.1.10", "~> 0.1"])
|
168
181
|
s.add_dependency(%q<fog>, ["~> 1.20"])
|
169
182
|
s.add_dependency(%q<unf>, ["~> 0.1"])
|
170
183
|
s.add_dependency(%q<facter>, ["~> 1.7"])
|
@@ -175,6 +188,7 @@ Gem::Specification.new do |s|
|
|
175
188
|
s.add_dependency(%q<rspec>, ["~> 2.10"])
|
176
189
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
177
190
|
s.add_dependency(%q<yard>, ["~> 0.8"])
|
191
|
+
s.add_dependency(%q<vagrant>, ["~> 1.5"])
|
178
192
|
end
|
179
193
|
end
|
180
194
|
|
@@ -8,8 +8,7 @@ class Authorize < Plugin::CloudAction
|
|
8
8
|
|
9
9
|
def configure
|
10
10
|
super do
|
11
|
-
codes :
|
12
|
-
:key_store_failure
|
11
|
+
codes :key_store_failure
|
13
12
|
|
14
13
|
register :public_key, :str, nil
|
15
14
|
end
|
@@ -28,7 +27,7 @@ class Authorize < Plugin::CloudAction
|
|
28
27
|
super do |node, network|
|
29
28
|
info('corl.actions.authorize.start')
|
30
29
|
|
31
|
-
|
30
|
+
ensure_node(node) do
|
32
31
|
ssh_path = Util::SSH.key_path
|
33
32
|
authorized_keys = File.join(ssh_path, 'authorized_keys')
|
34
33
|
public_key = settings[:public_key].strip
|
@@ -47,8 +46,6 @@ class Authorize < Plugin::CloudAction
|
|
47
46
|
myself.status = code.key_store_failure
|
48
47
|
end
|
49
48
|
end
|
50
|
-
else
|
51
|
-
myself.status = code.network_failure
|
52
49
|
end
|
53
50
|
end
|
54
51
|
end
|
@@ -8,8 +8,6 @@ class Bootstrap < Plugin::CloudAction
|
|
8
8
|
|
9
9
|
def configure
|
10
10
|
super do
|
11
|
-
codes :network_failure
|
12
|
-
|
13
11
|
register :auth_files, :array, [] do |values|
|
14
12
|
success = true
|
15
13
|
values.each do |value|
|
@@ -69,7 +67,7 @@ class Bootstrap < Plugin::CloudAction
|
|
69
67
|
|
70
68
|
def execute
|
71
69
|
super do |local_node, network|
|
72
|
-
|
70
|
+
ensure_network(network) do
|
73
71
|
batch_success = network.batch(settings[:bootstrap_nodes], settings[:node_provider], settings[:parallel]) do |node|
|
74
72
|
render_options = { :id => node.id, :hostname => node.hostname }
|
75
73
|
|
@@ -84,8 +82,6 @@ class Bootstrap < Plugin::CloudAction
|
|
84
82
|
success
|
85
83
|
end
|
86
84
|
myself.status = code.batch_error unless batch_success
|
87
|
-
else
|
88
|
-
myself.status = code.network_failure
|
89
85
|
end
|
90
86
|
end
|
91
87
|
end
|
data/lib/CORL/action/build.rb
CHANGED
@@ -6,22 +6,14 @@ class Build < Plugin::CloudAction
|
|
6
6
|
#-----------------------------------------------------------------------------
|
7
7
|
# Settings
|
8
8
|
|
9
|
-
def configure
|
10
|
-
super do
|
11
|
-
codes :network_failure
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
9
|
#-----------------------------------------------------------------------------
|
16
10
|
# Operations
|
17
11
|
|
18
12
|
def execute
|
19
13
|
super do |node, network|
|
20
|
-
|
21
|
-
|
14
|
+
info('corl.actions.build.start')
|
15
|
+
ensure_node(node) do
|
22
16
|
node.build
|
23
|
-
else
|
24
|
-
myself.status = code.network_failure
|
25
17
|
end
|
26
18
|
end
|
27
19
|
end
|
data/lib/CORL/action/destroy.rb
CHANGED
@@ -8,8 +8,6 @@ class Destroy < Plugin::CloudAction
|
|
8
8
|
|
9
9
|
def configure
|
10
10
|
super do
|
11
|
-
codes :network_failure
|
12
|
-
|
13
11
|
register :destroy_nodes, :array, nil do |values|
|
14
12
|
if values.nil?
|
15
13
|
warn('corl.actions.destroy.errors.destroy_nodes_empty')
|
@@ -47,15 +45,12 @@ class Destroy < Plugin::CloudAction
|
|
47
45
|
|
48
46
|
def execute
|
49
47
|
super do |local_node, network|
|
50
|
-
|
51
|
-
|
52
|
-
if network
|
48
|
+
ensure_network(network) do
|
53
49
|
batch_success = network.batch(settings[:destroy_nodes], settings[:node_provider], settings[:parallel]) do |node|
|
50
|
+
info('corl.actions.stop.start', { :provider => node.plugin_provider, :name => node.plugin_name })
|
54
51
|
node.destroy
|
55
52
|
end
|
56
53
|
myself.status = code.batch_error unless batch_success
|
57
|
-
else
|
58
|
-
myself.status = code.network_failure
|
59
54
|
end
|
60
55
|
end
|
61
56
|
end
|
data/lib/CORL/action/exec.rb
CHANGED
@@ -8,8 +8,6 @@ class Exec < Plugin::CloudAction
|
|
8
8
|
|
9
9
|
def configure
|
10
10
|
super do
|
11
|
-
codes :network_failure
|
12
|
-
|
13
11
|
register :command, :array, nil
|
14
12
|
end
|
15
13
|
end
|
@@ -25,7 +23,7 @@ class Exec < Plugin::CloudAction
|
|
25
23
|
|
26
24
|
def execute
|
27
25
|
super do |node, network|
|
28
|
-
|
26
|
+
ensure_node(node) do
|
29
27
|
if settings[:command].length > 1
|
30
28
|
settings[:command].collect! do |value|
|
31
29
|
if value.strip.match(/\s+/)
|
@@ -38,8 +36,6 @@ class Exec < Plugin::CloudAction
|
|
38
36
|
command_str = settings[:command].join(' ')
|
39
37
|
result = node.exec({ :commands => [ command_str ] }).first
|
40
38
|
myself.status = result.status
|
41
|
-
else
|
42
|
-
myself.status = code.network_failure
|
43
39
|
end
|
44
40
|
end
|
45
41
|
end
|
data/lib/CORL/action/image.rb
CHANGED
@@ -8,8 +8,6 @@ class Image < Plugin::CloudAction
|
|
8
8
|
|
9
9
|
def configure
|
10
10
|
super do
|
11
|
-
codes :network_failure
|
12
|
-
|
13
11
|
register :image_nodes, :array, nil do |values|
|
14
12
|
if values.nil?
|
15
13
|
warn('corl.actions.image.errors.image_nodes_empty')
|
@@ -47,14 +45,12 @@ class Image < Plugin::CloudAction
|
|
47
45
|
|
48
46
|
def execute
|
49
47
|
super do |local_node, network|
|
50
|
-
|
48
|
+
ensure_network(network) do
|
51
49
|
batch_success = network.batch(settings[:image_nodes], settings[:node_provider], settings[:parallel]) do |node|
|
52
50
|
info('corl.actions.image.start', { :provider => node.plugin_provider, :name => node.plugin_name })
|
53
51
|
node.create_image
|
54
52
|
end
|
55
53
|
myself.status = code.batch_error unless batch_success
|
56
|
-
else
|
57
|
-
myself.status = code.network_failure
|
58
54
|
end
|
59
55
|
end
|
60
56
|
end
|
data/lib/CORL/action/images.rb
CHANGED
@@ -35,19 +35,21 @@ class Images < Plugin::CloudAction
|
|
35
35
|
super do |local_node, network|
|
36
36
|
info('corl.actions.images.start')
|
37
37
|
|
38
|
-
|
39
|
-
if
|
40
|
-
images.
|
41
|
-
|
42
|
-
|
38
|
+
ensure_network(network) do
|
39
|
+
if node = network.test_node(settings[:node_provider], { :region => settings[:region] })
|
40
|
+
if images = node.images(settings[:search], settings)
|
41
|
+
images.each do |image|
|
42
|
+
render(node.render_image(image), { :prefix => false })
|
43
|
+
end
|
43
44
|
|
44
|
-
|
45
|
-
|
45
|
+
myself.result = images
|
46
|
+
success('corl.actions.images.results', { :images => images.length }) if images.length > 1
|
47
|
+
else
|
48
|
+
myself.status = code.image_load_failure
|
49
|
+
end
|
46
50
|
else
|
47
|
-
myself.status = code.
|
51
|
+
myself.status = code.node_load_failure
|
48
52
|
end
|
49
|
-
else
|
50
|
-
myself.status = code.node_load_failure
|
51
53
|
end
|
52
54
|
end
|
53
55
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
module CORL
|
3
|
+
module Action
|
4
|
+
class Ip < Plugin::CloudAction
|
5
|
+
|
6
|
+
#-----------------------------------------------------------------------------
|
7
|
+
# Settings
|
8
|
+
|
9
|
+
#-----------------------------------------------------------------------------
|
10
|
+
# Operations
|
11
|
+
|
12
|
+
def execute
|
13
|
+
super do |node, network|
|
14
|
+
ensure_node(node) do
|
15
|
+
ui.info(CORL.public_ip)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/CORL/action/lookup.rb
CHANGED
@@ -23,10 +23,12 @@ class Lookup < Plugin::CloudAction
|
|
23
23
|
|
24
24
|
def execute
|
25
25
|
super do |node, network|
|
26
|
-
|
27
|
-
|
26
|
+
ensure_node(node) do
|
27
|
+
property = settings[:property]
|
28
|
+
value = node.lookup(property)
|
28
29
|
|
29
|
-
|
30
|
+
ui.info(sprintf("#{property} = %s", value.inspect))
|
31
|
+
end
|
30
32
|
end
|
31
33
|
end
|
32
34
|
end
|
data/lib/CORL/action/machines.rb
CHANGED
@@ -30,19 +30,21 @@ class Machines < Plugin::CloudAction
|
|
30
30
|
super do |local_node, network|
|
31
31
|
info('corl.actions.machines.start')
|
32
32
|
|
33
|
-
|
34
|
-
if
|
35
|
-
machine_types
|
36
|
-
|
37
|
-
|
33
|
+
ensure_network(network) do
|
34
|
+
if node = network.test_node(settings[:node_provider])
|
35
|
+
if machine_types = node.machine_types
|
36
|
+
machine_types.each do |machine_type|
|
37
|
+
render(node.render_machine_type(machine_type), { :prefix => false })
|
38
|
+
end
|
38
39
|
|
39
|
-
|
40
|
-
|
40
|
+
myself.result = machine_types
|
41
|
+
success('corl.actions.machines.results', { :machines => machine_types.length }) if machine_types.length > 1
|
42
|
+
else
|
43
|
+
myself.status = code.machine_load_failure
|
44
|
+
end
|
41
45
|
else
|
42
|
-
myself.status = code.
|
46
|
+
myself.status = code.node_load_failure
|
43
47
|
end
|
44
|
-
else
|
45
|
-
myself.status = code.node_load_failure
|
46
48
|
end
|
47
49
|
end
|
48
50
|
end
|