Mercurial > repos > other > Puppet
annotate modules/translate/spec/acceptance/spec_helper_acceptance.rb @ 245:b0f8b88fea5c
Add "translate" module used by MySQL module
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 21 Dec 2019 14:12:10 -0500 |
parents | |
children |
rev | line source |
---|---|
245
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
1 # frozen_string_literal: true |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
2 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
3 require 'serverspec' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
4 require 'puppet_litmus' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
5 require 'spec_helper_acceptance_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_acceptance_local.rb')) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
6 include PuppetLitmus |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
7 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
8 if ENV['TARGET_HOST'].nil? || ENV['TARGET_HOST'] == 'localhost' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
9 puts 'Running tests against this machine !' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
10 if Gem.win_platform? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
11 set :backend, :cmd |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
12 else |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
13 set :backend, :exec |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
14 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
15 else |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
16 # load inventory |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
17 inventory_hash = inventory_hash_from_inventory_file |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
18 node_config = config_from_node(inventory_hash, ENV['TARGET_HOST']) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
19 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
20 if target_in_group(inventory_hash, ENV['TARGET_HOST'], 'docker_nodes') |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
21 host = ENV['TARGET_HOST'] |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
22 set :backend, :docker |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
23 set :docker_container, host |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
24 elsif target_in_group(inventory_hash, ENV['TARGET_HOST'], 'ssh_nodes') |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
25 set :backend, :ssh |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
26 options = Net::SSH::Config.for(host) |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
27 options[:user] = node_config.dig('ssh', 'user') unless node_config.dig('ssh', 'user').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
28 options[:port] = node_config.dig('ssh', 'port') unless node_config.dig('ssh', 'port').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
29 options[:keys] = node_config.dig('ssh', 'private-key') unless node_config.dig('ssh', 'private-key').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
30 options[:password] = node_config.dig('ssh', 'password') unless node_config.dig('ssh', 'password').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
31 options[:verify_host_key] = Net::SSH::Verifiers::Null.new unless node_config.dig('ssh', 'host-key-check').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
32 host = if ENV['TARGET_HOST'].include?(':') |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
33 ENV['TARGET_HOST'].split(':').first |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
34 else |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
35 ENV['TARGET_HOST'] |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
36 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
37 set :host, options[:host_name] || host |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
38 set :ssh_options, options |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
39 set :request_pty, true |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
40 elsif target_in_group(inventory_hash, ENV['TARGET_HOST'], 'winrm_nodes') |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
41 require 'winrm' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
42 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
43 set :backend, :winrm |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
44 set :os, family: 'windows' |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
45 user = node_config.dig('winrm', 'user') unless node_config.dig('winrm', 'user').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
46 pass = node_config.dig('winrm', 'password') unless node_config.dig('winrm', 'password').nil? |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
47 endpoint = "http://#{ENV['TARGET_HOST']}:5985/wsman" |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
48 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
49 opts = { |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
50 user: user, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
51 password: pass, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
52 endpoint: endpoint, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
53 operation_timeout: 300, |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
54 } |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
55 |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
56 winrm = WinRM::Connection.new opts |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
57 Specinfra.configuration.winrm = winrm |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
58 end |
b0f8b88fea5c
Add "translate" module used by MySQL module
IBBoard <dev@ibboard.co.uk>
parents:
diff
changeset
|
59 end |