gogetit 0.12.2 → 0.12.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gogetit/util.rb +19 -21
- data/lib/gogetit/version.rb +1 -1
- data/lib/providers/libvirt.rb +9 -7
- data/lib/providers/lxd.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0890aeef5f381b7a754be4830c3cb9e4ac68505a
|
4
|
+
data.tar.gz: 3d984331c7ea4ddd357544e6e82161167d054333
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 066366221ebb84db77e72387836b0ae08221caa25d6c8698773e3bfe82c0038bdf4e2742dcb9fea2df65985bea01e3cb1938f913c2a8eb9acb34efb81e6e4fa9
|
7
|
+
data.tar.gz: f549b6db39ab79199e082ba7cef1b237cfaac796404cebf1029a7580363d1c8dd51cdb520d355b50a933f94d84f2ac2530f206dede2a0d490bbc2f8af59e1a2b
|
data/lib/gogetit/util.rb
CHANGED
@@ -8,12 +8,13 @@ require 'timeout'
|
|
8
8
|
|
9
9
|
module Gogetit
|
10
10
|
module Util
|
11
|
-
def run_command(cmd
|
11
|
+
def run_command(cmd)
|
12
12
|
logger.info("Calling <#{__method__.to_s}> to run #{cmd}")
|
13
13
|
system(cmd)
|
14
14
|
end
|
15
15
|
|
16
16
|
def is_port_open?(ip, port)
|
17
|
+
logger.info("Calling <#{__method__.to_s}> to check #{ip}:#{port}")
|
17
18
|
begin
|
18
19
|
Timeout::timeout(1) do
|
19
20
|
begin
|
@@ -50,7 +51,7 @@ module Gogetit
|
|
50
51
|
end
|
51
52
|
end
|
52
53
|
|
53
|
-
def knife_bootstrap(name, provider, config
|
54
|
+
def knife_bootstrap(name, provider, config)
|
54
55
|
logger.info("Calling <#{__method__.to_s}>")
|
55
56
|
config[:chef][:target_environment] ||= '_default'
|
56
57
|
if find_executable 'knife'
|
@@ -71,7 +72,7 @@ module Gogetit
|
|
71
72
|
end
|
72
73
|
end
|
73
74
|
|
74
|
-
def update_databags(config
|
75
|
+
def update_databags(config)
|
75
76
|
logger.info("Calling <#{__method__.to_s}>")
|
76
77
|
data_bags_dir = "#{config[:chef][:chef_repo_root]}/data_bags"
|
77
78
|
|
@@ -89,7 +90,7 @@ module Gogetit
|
|
89
90
|
)
|
90
91
|
case answer
|
91
92
|
when 'y'
|
92
|
-
run_command("knife data bag delete -y #{bag}"
|
93
|
+
run_command("knife data bag delete -y #{bag}")
|
93
94
|
when 'n'
|
94
95
|
puts 'Keeping..'
|
95
96
|
end
|
@@ -98,7 +99,7 @@ module Gogetit
|
|
98
99
|
puts 'Checking databags to create..'
|
99
100
|
(databags_to_be - databags_as_is).each do |bag|
|
100
101
|
puts "Creating databag '#{bag}'.."
|
101
|
-
run_command("knife data bag create #{bag}"
|
102
|
+
run_command("knife data bag create #{bag}")
|
102
103
|
end
|
103
104
|
|
104
105
|
puts 'Checking items..'
|
@@ -113,28 +114,25 @@ module Gogetit
|
|
113
114
|
if items_as_is.include? item
|
114
115
|
run_command(
|
115
116
|
"knife vault update #{bag} #{item} --json #{item_file}"\
|
116
|
-
" --search '*:*' -M client"
|
117
|
-
logger
|
117
|
+
" --search '*:*' -M client"
|
118
118
|
)
|
119
119
|
else
|
120
120
|
run_command(
|
121
121
|
"knife vault create #{bag} #{item} --json #{item_file}"\
|
122
|
-
" --search '*:*' -M client"
|
123
|
-
logger
|
122
|
+
" --search '*:*' -M client"
|
124
123
|
)
|
125
124
|
end
|
126
125
|
run_command(
|
127
|
-
"knife vault refresh #{bag} #{item} --clean-unknown-clients -M client"
|
128
|
-
logger
|
126
|
+
"knife vault refresh #{bag} #{item} --clean-unknown-clients -M client"
|
129
127
|
)
|
130
128
|
else
|
131
|
-
run_command("knife data bag from file #{bag} #{item_file}"
|
129
|
+
run_command("knife data bag from file #{bag} #{item_file}")
|
132
130
|
end
|
133
131
|
end
|
134
132
|
end
|
135
133
|
end
|
136
134
|
|
137
|
-
def knife_remove(name
|
135
|
+
def knife_remove(name)
|
138
136
|
logger.info("Calling <#{__method__.to_s}>")
|
139
137
|
if find_executable 'knife'
|
140
138
|
if system('knife ssl check')
|
@@ -170,29 +168,29 @@ module Gogetit
|
|
170
168
|
end
|
171
169
|
end
|
172
170
|
|
173
|
-
def wait_until_available(ip_or_fqdn, distro_name
|
171
|
+
def wait_until_available(ip_or_fqdn, distro_name)
|
174
172
|
logger.info("Calling <#{__method__.to_s}>")
|
175
|
-
until ping_available?(ip_or_fqdn
|
173
|
+
until ping_available?(ip_or_fqdn)
|
176
174
|
logger.info("Calling <#{__method__.to_s}> for ping to be ready..")
|
177
175
|
sleep 3
|
178
176
|
end
|
179
177
|
logger.info("#{ip_or_fqdn} is now available to ping..")
|
180
178
|
|
181
|
-
until ssh_available?(ip_or_fqdn, distro_name
|
179
|
+
until ssh_available?(ip_or_fqdn, distro_name)
|
182
180
|
logger.info("Calling <#{__method__.to_s}> for ssh to be ready..")
|
183
181
|
sleep 3
|
184
182
|
end
|
185
183
|
logger.info("#{ip_or_fqdn} is now available to ssh..")
|
186
184
|
end
|
187
185
|
|
188
|
-
def ping_available?(host
|
186
|
+
def ping_available?(host)
|
189
187
|
# host can be both IP and ip_or_fqdn.
|
190
188
|
logger.info("Calling <#{__method__.to_s}> for #{host}")
|
191
189
|
`ping -c 1 -W 1 #{host}`
|
192
190
|
$?.exitstatus == 0
|
193
191
|
end
|
194
192
|
|
195
|
-
def ssh_available?(ip_or_fqdn, user
|
193
|
+
def ssh_available?(ip_or_fqdn, user)
|
196
194
|
logger.info("Calling <#{__method__.to_s}>")
|
197
195
|
begin
|
198
196
|
Net::SSH.start(ip_or_fqdn, user).class
|
@@ -201,11 +199,11 @@ module Gogetit
|
|
201
199
|
end
|
202
200
|
end
|
203
201
|
|
204
|
-
def check_ip_available(addresses, maas
|
202
|
+
def check_ip_available(addresses, maas)
|
205
203
|
logger.info("Calling <#{__method__.to_s}>")
|
206
204
|
# to do a ping test
|
207
205
|
addresses.each do |ip|
|
208
|
-
abort("#{ip} is already being used.") if ping_available?(ip
|
206
|
+
abort("#{ip} is already being used.") if ping_available?(ip)
|
209
207
|
end
|
210
208
|
# to check with MAAS
|
211
209
|
ifaces = maas.ip_reserved?(addresses)
|
@@ -214,7 +212,7 @@ module Gogetit
|
|
214
212
|
return ifaces
|
215
213
|
end
|
216
214
|
|
217
|
-
def run_through_ssh(host, distro_name, commands
|
215
|
+
def run_through_ssh(host, distro_name, commands)
|
218
216
|
logger.info("Calling <#{__method__.to_s}>")
|
219
217
|
Net::SSH.start(host, distro_name) do |ssh|
|
220
218
|
commands.each do |cmd|
|
data/lib/gogetit/version.rb
CHANGED
data/lib/providers/libvirt.rb
CHANGED
@@ -153,7 +153,7 @@ module Gogetit
|
|
153
153
|
ifaces = nil
|
154
154
|
|
155
155
|
if options['ipaddresses']
|
156
|
-
ifaces = check_ip_available(options['ipaddresses'], maas
|
156
|
+
ifaces = check_ip_available(options['ipaddresses'], maas)
|
157
157
|
domain = generate_nics(ifaces, domain)
|
158
158
|
elsif options['vlans']
|
159
159
|
#check_vlan_available(options['vlans'])
|
@@ -197,7 +197,7 @@ module Gogetit
|
|
197
197
|
|
198
198
|
fqdn = name + '.' + maas.get_domain
|
199
199
|
distro_name = maas.get_distro_name(system_id)
|
200
|
-
wait_until_available(fqdn, distro_name
|
200
|
+
wait_until_available(fqdn, distro_name)
|
201
201
|
|
202
202
|
# To enable serial console to use 'virsh console'
|
203
203
|
if distro_name == 'ubuntu'
|
@@ -205,7 +205,7 @@ module Gogetit
|
|
205
205
|
'sudo systemctl enable serial-getty@ttyS0.service',
|
206
206
|
'sudo systemctl start serial-getty@ttyS0.service'
|
207
207
|
]
|
208
|
-
run_through_ssh(fqdn, distro_name, commands
|
208
|
+
run_through_ssh(fqdn, distro_name, commands)
|
209
209
|
end
|
210
210
|
|
211
211
|
logger.info("#{domain[:name]} has been created.")
|
@@ -283,7 +283,7 @@ module Gogetit
|
|
283
283
|
|
284
284
|
fqdn = name + '.' + maas.get_domain
|
285
285
|
distro_name = maas.get_distro_name(system_id)
|
286
|
-
wait_until_available(fqdn, distro_name
|
286
|
+
wait_until_available(fqdn, distro_name)
|
287
287
|
|
288
288
|
# To enable serial console to use 'virsh console'
|
289
289
|
if distro_name == 'ubuntu'
|
@@ -291,15 +291,17 @@ module Gogetit
|
|
291
291
|
'sudo systemctl enable serial-getty@ttyS0.service',
|
292
292
|
'sudo systemctl start serial-getty@ttyS0.service'
|
293
293
|
]
|
294
|
-
run_through_ssh(fqdn, distro_name, commands
|
294
|
+
run_through_ssh(fqdn, distro_name, commands)
|
295
295
|
end
|
296
296
|
|
297
297
|
logger.info("#{name} has been created.")
|
298
298
|
puts "ssh #{distro_name}@#{name}"
|
299
299
|
|
300
|
-
|
300
|
+
info = {}
|
301
|
+
info[:distro] = distro
|
302
|
+
info[:default_user] = distro_name
|
301
303
|
|
302
|
-
{ result: true, info:
|
304
|
+
{ result: true, info: info }
|
303
305
|
end
|
304
306
|
|
305
307
|
def release(name)
|
data/lib/providers/lxd.rb
CHANGED
@@ -171,7 +171,7 @@ echo \"RevokedKeys #{config[:cloud_init][:ssh_ca_public_key][:revocation_path]}\
|
|
171
171
|
YAML.dump(args[:config][:"user.network-config"])[4..-1]
|
172
172
|
|
173
173
|
elsif options['ipaddresses']
|
174
|
-
options[:ifaces] = check_ip_available(options['ipaddresses'], maas
|
174
|
+
options[:ifaces] = check_ip_available(options['ipaddresses'], maas)
|
175
175
|
abort("There is no dns server specified for the gateway network.") \
|
176
176
|
unless options[:ifaces][0]['dns_servers'][0]
|
177
177
|
abort("There is no gateway specified for the gateway network.") \
|
@@ -410,7 +410,7 @@ echo \"RevokedKeys #{config[:cloud_init][:ssh_ca_public_key][:revocation_path]}\
|
|
410
410
|
|
411
411
|
args[:default_user] = default_user
|
412
412
|
|
413
|
-
wait_until_available(ip_or_fqdn, default_user
|
413
|
+
wait_until_available(ip_or_fqdn, default_user)
|
414
414
|
logger.info("#{name} has been created.")
|
415
415
|
|
416
416
|
if options['no-maas']
|