beaker 1.11.0 → 1.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +8 -8
  2. data/lib/beaker/answers/version30.rb +1 -1
  3. data/lib/beaker/cli.rb +13 -2
  4. data/lib/beaker/dsl/helpers.rb +6 -6
  5. data/lib/beaker/dsl/install_utils.rb +18 -5
  6. data/lib/beaker/host/unix.rb +1 -1
  7. data/lib/beaker/host/unix/pkg.rb +1 -1
  8. data/lib/beaker/host/windows/pkg.rb +3 -3
  9. data/lib/beaker/host_prebuilt_steps.rb +6 -6
  10. data/lib/beaker/hypervisor.rb +3 -3
  11. data/lib/beaker/hypervisor/blimper.rb +3 -3
  12. data/lib/beaker/hypervisor/docker.rb +4 -8
  13. data/lib/beaker/hypervisor/fusion.rb +3 -3
  14. data/lib/beaker/hypervisor/google_compute.rb +17 -7
  15. data/lib/beaker/hypervisor/google_compute_helper.rb +1 -1
  16. data/lib/beaker/hypervisor/solaris.rb +1 -1
  17. data/lib/beaker/hypervisor/vagrant.rb +1 -1
  18. data/lib/beaker/hypervisor/vcloud.rb +1 -1
  19. data/lib/beaker/hypervisor/vcloud_pooled.rb +3 -3
  20. data/lib/beaker/hypervisor/vsphere.rb +1 -1
  21. data/lib/beaker/logger.rb +14 -14
  22. data/lib/beaker/network_manager.rb +5 -5
  23. data/lib/beaker/options/command_line_parser.rb +12 -13
  24. data/lib/beaker/options/hosts_file_parser.rb +1 -1
  25. data/lib/beaker/options/options_file_parser.rb +4 -4
  26. data/lib/beaker/options/parser.rb +11 -5
  27. data/lib/beaker/options/pe_version_scraper.rb +2 -2
  28. data/lib/beaker/platform.rb +4 -4
  29. data/lib/beaker/shared/error_handler.rb +2 -2
  30. data/lib/beaker/shared/host_role_parser.rb +7 -7
  31. data/lib/beaker/ssh_connection.rb +2 -2
  32. data/lib/beaker/test_suite.rb +1 -1
  33. data/lib/beaker/version.rb +1 -1
  34. data/spec/beaker/hypervisor/docker_spec.rb +19 -13
  35. data/spec/beaker/options/command_line_parser_spec.rb +2 -2
  36. data/spec/beaker/options/parser_spec.rb +108 -85
  37. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGI2MDZhMzFhYTIwNGMwNzViMzQ4MjU5NjczOWJhMmY3OGNmOWU2ZQ==
4
+ MGQ0YzFjMDg1ZWEzZmIxNTgzOWQ0NmM4MmIyODM1NmNiZjA2YzBjZg==
5
5
  data.tar.gz: !binary |-
6
- MWM4MTYyNjdlYzM2NWNhYmU2OWFkMjc1NjhlZTZkNjI4MzRlOTNkNA==
6
+ NzMxOTllOGEwMWRjZDQ0MzMxY2VkMDI4ZDBmZWExZGE4NGVhZTgwNw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MjY3ZDE5N2MwYjEzMzYxYzk0ZGE3YTA1MzE4NjBjY2UyMzU0OTA3YjFjNzYw
10
- NWUxZDJlYWM1N2JjYWM2YWU5YjJlMzRjZTNiMGViNjQ3ZTUzNzI1MTUxNGVk
11
- ZmRjYzIzMDZlOGU5M2M5NzEzNmI5MTM1NGEyN2VmMDc3MGM1M2U=
9
+ ZmFiYjE3ODI1NWRiZDc0ZDg0ODJmYjdmOTU0ZjczYmE3YTc2OTdkNDY2ZTQx
10
+ MjJkYTRjYjM5MzQwZDIxNWYyMTAwYTllNzRkNGZjZWFmZDNhNDhmMmRlZjQ0
11
+ OTc3YTBhYTgwYTg5Nzc2ZWI0ZWVhODA3YjI5NTlmNDc4NmVhYmQ=
12
12
  data.tar.gz: !binary |-
13
- MWU4NmVmN2I0MTQyMjgzZDk1YzI5NGZmOWJiZGEwMGU1MzZmMGI0OTg5NjI4
14
- MzNiMTVhNWQ4M2JhMTIzM2E0YTM3MDI3YzFjMjU0NzRjNzI5MGYyN2U4MjNi
15
- NjEzNWRiODVjY2UxNGVkOTA1MjU0MWM3OGY2YWY0Zjg3MGFmZjM=
13
+ Zjk0OGFhOWE5MGY2NDk4MzY3MjNiNGMyZWRmNjhlNjM4NWUzNTRiZTJmODE0
14
+ OTE4ZWIwNzkxZTJiMjY3N2ZmMjY1OTE2YzQ5NDdiYjIxMDEzOTdiN2JkNWJj
15
+ OGJjZjFlOTg3NzA4NWJkODk3YTRiNWRjM2FhYzM4ZDI1ZjJlNTA=
@@ -66,7 +66,7 @@ module Beaker
66
66
  end
67
67
 
68
68
  # Common answers for console and database
69
- dashboard_password = "'#{options[:answers][:q_puppet_enterpriseconsole_auth_password]}'"
69
+ dashboard_password = "'#{options[:answers][:q_puppet_enterpriseconsole_auth_password]}'"
70
70
  puppetdb_password = "'#{options[:answers][:q_puppetdb_password]}'"
71
71
 
72
72
  console_database_a = {
data/lib/beaker/cli.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Beaker
2
2
  class CLI
3
- VERSION_STRING =
3
+ VERSION_STRING =
4
4
  " wWWWw
5
5
  |o o|
6
6
  | O | %s!
@@ -105,7 +105,11 @@ module Beaker
105
105
  @network_manager.cleanup
106
106
  end
107
107
  end
108
- raise "Failed to execute tests!"
108
+
109
+ @logger.error "\nFailed to execute tests!\n"
110
+ print_reproduction_info( :error )
111
+
112
+ exit 1
109
113
  else
110
114
  #cleanup on success
111
115
  if @options[:preserve_hosts] =~ /(never)|(onfail)/
@@ -114,6 +118,7 @@ module Beaker
114
118
  @network_manager.cleanup
115
119
  end
116
120
  end
121
+ print_reproduction_info( :debug ) if @logger.is_debug?
117
122
  end
118
123
  end
119
124
 
@@ -131,5 +136,11 @@ module Beaker
131
136
  ).run_and_raise_on_failure
132
137
  end
133
138
 
139
+ def print_reproduction_info( log_level = :debug )
140
+ puts ''
141
+ @logger.send(log_level, "You can reproduce this run with:\n")
142
+ @logger.send(log_level, @options[:command_line])
143
+ puts ''
144
+ end
134
145
  end
135
146
  end
@@ -92,7 +92,7 @@ module Beaker
92
92
  when 0
93
93
  yield self
94
94
  #block with arity of 1 or greater, hand back the result object
95
- else
95
+ else
96
96
  yield @result
97
97
  end
98
98
  end
@@ -665,7 +665,7 @@ module Beaker
665
665
  # codes that will NOT raise an error when found upon
666
666
  # command completion. If provided, these values will
667
667
  # be combined with those used in :catch_failures and
668
- # :expect_failures to create the full list of
668
+ # :expect_failures to create the full list of
669
669
  # passing exit codes.
670
670
  #
671
671
  # @option opts [Hash] :environment Additional environment variables to be
@@ -695,14 +695,14 @@ module Beaker
695
695
  # failure during its execution.
696
696
  #
697
697
  # @option opts [Boolean] :future_parser (false) This option enables
698
- # the future parser option that is available
698
+ # the future parser option that is available
699
699
  # from Puppet verion 3.2
700
700
  # By default it will use the 'current' parser.
701
701
  #
702
702
  # @option opts [String] :modulepath The search path for modules, as
703
703
  # a list of directories separated by the system
704
704
  # path separator character. (The POSIX path separator
705
- # is ‘:’, and the Windows path separator is ‘;’.)
705
+ # is ‘:’, and the Windows path separator is ‘;’.)
706
706
  #
707
707
  # @param [Block] block This method will yield to a block of code passed
708
708
  # by the caller; this can be used for additional
@@ -867,7 +867,7 @@ module Beaker
867
867
  # forge api v3 canonical source is forgeapi.puppetlabs.com
868
868
  #
869
869
  # @param machine [String] the host to perform the stub on
870
- # @param forge_host [String] The URL to use as the forge alias, will default to using :forge_host in the
870
+ # @param forge_host [String] The URL to use as the forge alias, will default to using :forge_host in the
871
871
  # global options hash
872
872
  def stub_forge_on(machine, forge_host = nil)
873
873
  #use global options hash
@@ -920,7 +920,7 @@ module Beaker
920
920
  agent_running = (result.exit_code == 0)
921
921
  sleep 2 unless agent_running
922
922
  end
923
-
923
+
924
924
  if agent['platform'].include?('solaris')
925
925
  on(agent, '/usr/sbin/svcadm disable -s svc:/network/pe-puppet:default')
926
926
  elsif agent['platform'].include?('aix')
@@ -313,7 +313,7 @@ module Beaker
313
313
  host['pe_installer'] ||= 'puppet-enterprise-installer'
314
314
  if host['platform'] !~ /windows/
315
315
  platform = use_all_tar ? 'all' : host['platform']
316
- version = opts[:pe_ver] || host['pe_ver']
316
+ version = host['pe_ver'] || opts[:pe_ver]
317
317
  host['dist'] = "puppet-enterprise-#{version}-#{platform}"
318
318
  end
319
319
  host['working_dir'] = "/tmp/" + Time.new.strftime("%Y-%m-%d_%H.%M.%S") #unique working dirs make me happy
@@ -329,7 +329,7 @@ module Beaker
329
329
  on host, installer_cmd(host, opts)
330
330
  else
331
331
  # We only need answers if we're using the classic installer
332
- version = opts[:pe_ver] || host['pe_ver']
332
+ version = host['pe_ver'] || opts[:pe_ver]
333
333
  if (! host['roles'].include? 'frictionless') || version_is_less(version, '3.2.0')
334
334
  answers = Beaker::Answers.answers(opts[:pe_ver] || host['pe_ver'], hosts, master_certname, opts)
335
335
  create_remote_file host, "#{host['working_dir']}/answers", Beaker::Answers.answer_string(host, answers)
@@ -448,7 +448,7 @@ module Beaker
448
448
  #
449
449
  # @api dsl
450
450
  # @return nil
451
- def install_puppet
451
+ def install_puppet(opts = {})
452
452
  hosts.each do |host|
453
453
  if host['platform'] =~ /el-(5|6|7)/
454
454
  relver = $1
@@ -469,6 +469,19 @@ module Beaker
469
469
  on host, 'dpkg -i puppetlabs-release-$(lsb_release -c -s).deb'
470
470
  on host, 'apt-get update'
471
471
  on host, 'apt-get install -y puppet'
472
+ elsif host['platform'] =~ /windows/
473
+ relver = opts[:version]
474
+ on host, "curl -O http://downloads.puppetlabs.com/windows/puppet-#{relver}.msi"
475
+ on host, "msiexec /qn /i puppet-#{relver}.msi"
476
+
477
+ #Because the msi installer doesn't add Puppet to the environment path
478
+ if fact_on(host, 'architecture').eql?('x86_64')
479
+ install_dir = '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin'
480
+ else
481
+ install_dir = '/cygdrive/c/Program Files/Puppet Labs/Puppet/bin'
482
+ end
483
+ on host, %Q{ echo 'export PATH=$PATH:"#{install_dir}"' > /etc/bash.bashrc }
484
+
472
485
  else
473
486
  raise "install_puppet() called for unsupported platform '#{host['platform']}' on '#{host.name}'"
474
487
  end
@@ -506,7 +519,7 @@ module Beaker
506
519
  # Will contain a LATEST file indicating the latest build to install.
507
520
  # This is ignored if a pe_upgrade_ver and pe_upgrade_dir are specified
508
521
  # in the host configuration file.
509
- # @example
522
+ # @example
510
523
  # upgrade_pe("http://neptune.puppetlabs.lan/3.0/ci-ready/")
511
524
  #
512
525
  # @note Install file names are assumed to be of the format puppet-enterprise-VERSION-PLATFORM.(tar)|(tar.gz)
@@ -516,7 +529,7 @@ module Beaker
516
529
  hosts.each do |host|
517
530
  host['pe_dir'] = host['pe_upgrade_dir'] || path
518
531
  if host['platform'] =~ /windows/
519
- host['pe_ver'] = host['pe_upgrade_ver'] || options['pe_upgrade_ver'] ||
532
+ host['pe_ver'] = host['pe_upgrade_ver'] || options['pe_upgrade_ver'] ||
520
533
  Options::PEVersionScraper.load_pe_version(host['pe_dir'], options[:pe_version_file_win])
521
534
  else
522
535
  host['pe_ver'] = host['pe_upgrade_ver'] || options['pe_upgrade_ver'] ||
@@ -23,7 +23,7 @@ module Unix
23
23
  'user' => 'root',
24
24
  'group' => 'pe-puppet',
25
25
  'service-wait' => false,
26
- 'service-prefix'=> '/etc/init.d/',
26
+ 'service-prefix'=> '/etc/init.d/',
27
27
  'puppetservice' => 'pe-httpd',
28
28
  'puppetpath' => '/etc/puppetlabs/puppet',
29
29
  'puppetbin' => '/opt/puppet/bin/puppet',
@@ -12,7 +12,7 @@ module Unix::Pkg
12
12
  case self['platform']
13
13
  when /solaris-10/
14
14
  result.stdout =~ %r|/.*/#{name}|
15
- else
15
+ else
16
16
  result.exit_code == 0
17
17
  end
18
18
  end
@@ -3,7 +3,7 @@ module Windows::Pkg
3
3
 
4
4
  def check_for_package(name)
5
5
  result = exec(Beaker::Command.new("which #{name}"), :acceptable_exit_codes => (0...127))
6
- result.exit_code == 0
6
+ result.exit_code == 0
7
7
  end
8
8
 
9
9
  def install_package(name, cmdline_args = '')
@@ -23,7 +23,7 @@ module Windows::Pkg
23
23
  if not check_for_package(cygwin)
24
24
  execute("curl --retry 5 http://cygwin.com/#{cygwin} -o /cygdrive/c/Windows/System32/#{cygwin}")
25
25
  end
26
- execute("#{cygwin} -q -n -N -d -R #{cmdline_args} #{rootdir} -s http://cygwin.osuosl.org -P #{name}")
26
+ execute("#{cygwin} -q -n -N -d -R #{cmdline_args} #{rootdir} -s http://cygwin.osuosl.org -P #{name}")
27
27
  end
28
28
 
29
29
  def uninstall_package(name, cmdline_args = '')
@@ -35,7 +35,7 @@ module Windows::Pkg
35
35
  # @api private
36
36
  def identify_windows_architecture
37
37
  arch = nil
38
- execute("echo '' | wmic os get osarchitecture",
38
+ execute("echo '' | wmic os get osarchitecture",
39
39
  :acceptable_exit_codes => (0...127)) do |result|
40
40
 
41
41
  arch = if result.exit_code == 0
@@ -71,7 +71,7 @@ module Beaker
71
71
  end
72
72
 
73
73
  #Validate that hosts are prepared to be used as SUTs, if packages are missing attempt to
74
- #install them. Verifies the presence of {HostPrebuiltSteps::PACKAGES} on all hosts,
74
+ #install them. Verifies the presence of {HostPrebuiltSteps::PACKAGES} on all hosts,
75
75
  #{HostPrebuiltSteps::UNIX_PACKAGES} on unix platform hosts and {HostPrebuiltSteps::SLES_PACKAGES}
76
76
  #on sles (SUSE, Enterprise Linux) hosts.
77
77
  # @param [Host, Array<Host>, String, Symbol] host One or more hosts to act upon
@@ -148,8 +148,8 @@ module Beaker
148
148
  report_and_raise(logger, e, "add_master_entry")
149
149
  end
150
150
 
151
- #Install a set of authorized keys using {HostPrebuiltSteps::ROOT_KEYS_SCRIPT}. This is a
152
- #convenience method to allow for easy login to hosts after they have been provisioned with
151
+ #Install a set of authorized keys using {HostPrebuiltSteps::ROOT_KEYS_SCRIPT}. This is a
152
+ #convenience method to allow for easy login to hosts after they have been provisioned with
153
153
  #Beaker.
154
154
  # @param [Host, Array<Host>, String, Symbol] host One or more hosts to act upon
155
155
  # @param [Hash{Symbol=>String}] opts Options to alter execution.
@@ -204,7 +204,7 @@ module Beaker
204
204
  if host.is_a? Array
205
205
  host.map { |h| apt_get_update(h) }
206
206
  else
207
- if host[:platform] =~ /(ubuntu)|(debian)/
207
+ if host[:platform] =~ /(ubuntu)|(debian)/
208
208
  host.exec(Command.new("apt-get update"))
209
209
  end
210
210
  end
@@ -227,7 +227,7 @@ module Beaker
227
227
  end
228
228
 
229
229
  #Alter apt configuration on ubuntu and debian host or hosts to internal Puppet Labs
230
- # proxy {HostPrebuiltSteps::APT_CFG} proxy, alter pkg on solaris-11 host or hosts
230
+ # proxy {HostPrebuiltSteps::APT_CFG} proxy, alter pkg on solaris-11 host or hosts
231
231
  # to point to interal Puppetlabs proxy {HostPrebuiltSteps::IPS_PKG_REPO}. Do nothing
232
232
  # on non-ubuntu, debian or solaris-11 platform host or hosts.
233
233
  # @param [Host, Array<Host>, String, Symbol] host One or more hosts to act upon
@@ -306,7 +306,7 @@ module Beaker
306
306
  return search if search
307
307
  end
308
308
 
309
- #Determine the ip address of the provided host
309
+ #Determine the ip address of the provided host
310
310
  # @param [Host] host the host to act upon
311
311
  # @deprecated use {Host#get_ip}
312
312
  def get_ip(host)
@@ -22,7 +22,7 @@ module Beaker
22
22
  #@param [Hash] options options Options to alter execution
23
23
  def self.create(type, hosts_to_provision, options)
24
24
  @logger = options[:logger]
25
- @logger.notify("Beaker::Hypervisor, found some #{type} boxes to create")
25
+ @logger.notify("Beaker::Hypervisor, found some #{type} boxes to create")
26
26
  hyper_class = case type
27
27
  when /aix/
28
28
  Beaker::Aixer
@@ -51,7 +51,7 @@ module Beaker
51
51
  when /none/
52
52
  Beaker::Hypervisor
53
53
  else
54
- raise "Invalid hypervisor: #{type}"
54
+ raise "Invalid hypervisor: #{type}"
55
55
  end
56
56
 
57
57
  hypervisor = hyper_class.new(hosts_to_provision, options)
@@ -93,7 +93,7 @@ module Beaker
93
93
 
94
94
  #Default validation steps to be run for a given hypervisor
95
95
  def validate
96
- if @options[:validate]
96
+ if @options[:validate]
97
97
  validate_host(@hosts, @options)
98
98
  end
99
99
  end
@@ -19,8 +19,8 @@ module Beaker
19
19
  @hosts.each do |host|
20
20
  amitype = host['vmname'] || host['platform']
21
21
  amisize = host['amisize'] || 'm1.small'
22
- #use snapshot provided for this host
23
- image_type = host['snapshot']
22
+ #use snapshot provided for this host
23
+ image_type = host['snapshot']
24
24
  if not image_type
25
25
  raise "No snapshot/image_type provided for blimpy provisioning"
26
26
  end
@@ -79,7 +79,7 @@ module Beaker
79
79
  host = @hosts.select { |host| host.name == name }[0]
80
80
  host['ip'] = ship.dns
81
81
  host.exec(Command.new("hostname #{name}"))
82
- ip = get_ip(host)
82
+ ip = get_ip(host)
83
83
  domain = get_domain_name(host)
84
84
  etc_hosts += "#{ip}\t#{name}\t#{name}.#{domain}\n"
85
85
  end
@@ -24,15 +24,10 @@ module Beaker
24
24
 
25
25
  @logger.debug("Creating image")
26
26
  image = ::Docker::Image.build(dockerfile_for(host), { :rm => true })
27
- @logger.debug("Tagging image #{image.id} as #{host.name}")
28
- image.tag({
29
- :repo => host.name,
30
- :force => true,
31
- })
32
27
 
33
- @logger.debug("Creating container from image")
28
+ @logger.debug("Creating container from image #{image.id}")
34
29
  container = ::Docker::Container.create({
35
- 'Image' => host.name,
30
+ 'Image' => image.id,
36
31
  'Hostname' => host.name,
37
32
  })
38
33
 
@@ -75,7 +70,8 @@ module Beaker
75
70
  end
76
71
  end
77
72
 
78
- if image = host['docker_image']
73
+ # Do not remove the image if docker_reserve_image is set to true, otherwise remove it
74
+ if image = (host['docker_preserve_image'] ? nil : host['docker_image'])
79
75
  @logger.debug("delete image #{image.id}")
80
76
  begin
81
77
  image.delete
@@ -1,4 +1,4 @@
1
- module Beaker
1
+ module Beaker
2
2
  class Fusion < Beaker::Hypervisor
3
3
 
4
4
  def initialize(fusion_hosts, options)
@@ -29,12 +29,12 @@ module Beaker
29
29
 
30
30
  vm_snapshots = vm.snapshots.data
31
31
  if vm_snapshots.nil? or vm_snapshots.empty?
32
- raise "No snapshots available for VM #{host.name} (vmname: '#{vm_name}')"
32
+ raise "No snapshots available for VM #{host.name} (vmname: '#{vm_name}')"
33
33
  end
34
34
 
35
35
  available_snapshots = vm_snapshots.sort.join(", ")
36
36
  @logger.notify "Available snapshots for #{host.name}: #{available_snapshots}"
37
- snap_name = host["snapshot"]
37
+ snap_name = host["snapshot"]
38
38
  raise "Could not find snapshot '#{snap_name}' for host #{host.name}!" unless vm.snapshots.data.include? snap_name
39
39
 
40
40
  @logger.notify "Reverting #{host.name} to snapshot '#{snap_name}'"
@@ -8,6 +8,14 @@ module Beaker
8
8
  #number of hours before an instance is considered a zombie
9
9
  ZOMBIE = 3
10
10
 
11
+ #Create the array of metaData, each member being a hash with a :key and a :value. Sets
12
+ #:department, :project and :jenkins_build_url.
13
+ def format_metadata
14
+ [ {:key => :department, :value => @options[:department]},
15
+ {:key => :project, :value => @options[:project]},
16
+ {:key => :jenkins_build_url, :value => @options[:jenkins_build_url]} ].delete_if { |member| member[:value].nil? or member[:value].empty?}
17
+ end
18
+
11
19
  #Create a new instance of the Google Compute Engine hypervisor object
12
20
  #@param [<Host>] google_hosts The array of google hosts to provision, may ONLY be of platforms /centos-6-.*/ and
13
21
  # /debian-7-.*/. We currently only support the Google Compute provided templates.
@@ -56,13 +64,15 @@ module Beaker
56
64
  #add a new instance of the image
57
65
  instance = @gce_helper.create_instance(host['vmhostname'], img, machineType, disk, start, attempts)
58
66
  @logger.debug("Created Google Compute instance for #{host.name}: #{host['vmhostname']}")
59
- #add metadata to instance
60
- @gce_helper.setMetadata_on_instance(host['vmhostname'], instance['metadata']['fingerprint'],
61
- [ {:key => :department, :value => @options[:department]},
62
- {:key => :project, :value => @options[:project]},
63
- {:key => :jenkins_build_url, :value => @options[:jenkins_build_url]} ],
64
- start, attempts)
65
- @logger.debug("Added tags to Google Compute instance #{host.name}: #{host['vmhostname']}")
67
+
68
+ #add metadata to instance, if there is any to set
69
+ mdata = format_metadata
70
+ if not mdata.empty?
71
+ @gce_helper.setMetadata_on_instance(host['vmhostname'], instance['metadata']['fingerprint'],
72
+ mdata,
73
+ start, attempts)
74
+ @logger.debug("Added tags to Google Compute instance #{host.name}: #{host['vmhostname']}")
75
+ end
66
76
 
67
77
  #get ip for this host
68
78
  host['ip'] = instance['networkInterfaces'][0]['accessConfigs'][0]['natIP']
@@ -158,7 +158,7 @@ module Beaker
158
158
  end
159
159
  return parsed
160
160
  #retry errors
161
- rescue Faraday::Error::ConnectionFailed => e
161
+ rescue Faraday::Error::ConnectionFailed => e
162
162
  @logger.debug "ConnectionFailed attempting Google Compute execute command"
163
163
  try += 1
164
164
  last_error = e
@@ -14,7 +14,7 @@ module Beaker
14
14
  end
15
15
 
16
16
  def provision
17
- hypername = @fog_file[:default][:solaris_hypervisor_server]
17
+ hypername = @fog_file[:default][:solaris_hypervisor_server]
18
18
  vmpath = @fog_file[:default][:solaris_hypervisor_vmpath]
19
19
  snappaths = @fog_file[:default][:solaris_hypervisor_snappaths]
20
20
 
@@ -117,7 +117,7 @@ module Beaker
117
117
  @logger.debug "configure vagrant boxes (set ssh-config, switch to root user, hack etc/hosts)"
118
118
  @hosts.each do |host|
119
119
  default_user = host['user']
120
-
120
+
121
121
  set_ssh_config host, 'vagrant'
122
122
 
123
123
  copy_ssh_to_root host, @options