beaker 2.0.0 → 2.1.0
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 +8 -8
- data/HISTORY.md +119 -2
- data/lib/beaker/answers.rb +2 -0
- data/lib/beaker/command.rb +27 -0
- data/lib/beaker/dsl/assertions.rb +2 -0
- data/lib/beaker/host.rb +7 -6
- data/lib/beaker/host_prebuilt_steps.rb +7 -7
- data/lib/beaker/hypervisor/aws_sdk.rb +15 -0
- data/lib/beaker/hypervisor/vcloud.rb +6 -4
- data/lib/beaker/logger.rb +1 -1
- data/lib/beaker/options/presets.rb +4 -2
- data/lib/beaker/result.rb +1 -1
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/command_spec.rb +36 -0
- data/spec/beaker/host_prebuilt_steps_spec.rb +7 -7
- data/spec/beaker/host_spec.rb +3 -3
- metadata +5 -64
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NjdlNTE1ZjY2ZmUwOGYwN2RhMjU4ZWU5YTA3OTg5NTE0OWUwNmZlNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NjEwMDllZTAyZGVhMTZiOGRkNmE1OTYyODk2YjY5NzllYWMwMDUwZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MTE0ZDdjMmFmNWFkYmQ0YzJkOTVhMmQ3NjhkOGEyNDllZGU5NDBjMjRkYTNi
|
10
|
+
YTc3NjFmMThmM2Y4YjY4MWNiYmYyM2Y3ZTU4NGUxZWE0YjE4NWEwN2QxMmQz
|
11
|
+
OGI5Zjc2MzIwMzVkNjJiYThlNWNmMWViNmYxMjc4OTZiMTRkYzE=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
OGQxYjQ5NmFiYzJhN2U2MGZhYTU2NWZiNDE2ZjFiMzUyY2NkYmNhZTgyZWQy
|
14
|
+
YzU4ZmFiOGJhMjljOTQzNDMwYzZiYTQwNTE1MGU2YzhjYjdiNDVkYjNiNWQw
|
15
|
+
MzE0Njk5OTM3M2QzZGU5MjdkMjcwMzFhNDFmYTA5MWYzYmRjYTI=
|
data/HISTORY.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# default - History
|
2
2
|
## Tags
|
3
|
-
* [LATEST -
|
3
|
+
* [LATEST - 17 Dec, 2014 (747aacee)](#LATEST)
|
4
|
+
* [beaker2.0.0 - 5 Dec, 2014 (fb4b620b)](#beaker2.0.0)
|
4
5
|
* [beaker1.20.1 - 17 Oct, 2014 (be250ad6)](#beaker1.20.1)
|
5
6
|
* [beaker1.20.0 - 17 Oct, 2014 (24acc2d3)](#beaker1.20.0)
|
6
7
|
* [beaker1.19.1 - 19 Sep, 2014 (3aafc71d)](#beaker1.19.1)
|
@@ -65,7 +66,123 @@
|
|
65
66
|
* [pe1.2 - 6 Sep, 2011 (ba3dadd2)](#pe1.2)
|
66
67
|
|
67
68
|
## Details
|
68
|
-
### <a name = "LATEST">LATEST -
|
69
|
+
### <a name = "LATEST">LATEST - 17 Dec, 2014 (747aacee)
|
70
|
+
|
71
|
+
* (GEM) update beaker version to 2.1.0 (747aacee)
|
72
|
+
|
73
|
+
* Merge pull request #576 from anodelman/utf-8-encoding (0ff3e99e)
|
74
|
+
|
75
|
+
|
76
|
+
```
|
77
|
+
Merge pull request #576 from anodelman/utf-8-encoding
|
78
|
+
|
79
|
+
(QENG-1599) force_encoding requires string input, pukes on symbols
|
80
|
+
```
|
81
|
+
* Merge pull request #582 from kevpl/qeng1596_2.0_solaris (d949312b)
|
82
|
+
|
83
|
+
|
84
|
+
```
|
85
|
+
Merge pull request #582 from kevpl/qeng1596_2.0_solaris
|
86
|
+
|
87
|
+
(QENG-1596) fixed sed commands on solaris
|
88
|
+
```
|
89
|
+
* Merge pull request #580 from anodelman/fix-ssh-login (ff448494)
|
90
|
+
|
91
|
+
|
92
|
+
```
|
93
|
+
Merge pull request #580 from anodelman/fix-ssh-login
|
94
|
+
|
95
|
+
(QENG-1594) Beaker 2.0.0 breaks Centos 7 sshd
|
96
|
+
```
|
97
|
+
* Merge pull request #583 from anodelman/aws (9e68d52e)
|
98
|
+
|
99
|
+
|
100
|
+
```
|
101
|
+
Merge pull request #583 from anodelman/aws
|
102
|
+
|
103
|
+
(QENG-1529) beaker support to query aws instance information
|
104
|
+
```
|
105
|
+
* Merge pull request #579 from puppetlabs/vcloud_hypervisor_improvements (32ff90c9)
|
106
|
+
|
107
|
+
|
108
|
+
```
|
109
|
+
Merge pull request #579 from puppetlabs/vcloud_hypervisor_improvements
|
110
|
+
|
111
|
+
(QENG-1548) vcloud hypervisor improvements
|
112
|
+
```
|
113
|
+
* (QENG-1596) added aix and osx to SedCommand fix (e2c0aecd)
|
114
|
+
|
115
|
+
* (QENG-1596) fixed sed commands on solaris (c1894743)
|
116
|
+
|
117
|
+
* (QENG-1594) Beaker 2.0.0 breaks Centos 7 sshd (f2c1b1ef)
|
118
|
+
|
119
|
+
|
120
|
+
```
|
121
|
+
(QENG-1594) Beaker 2.0.0 breaks Centos 7 sshd
|
122
|
+
|
123
|
+
- append newline to end of sshd_config file
|
124
|
+
```
|
125
|
+
* (QENG-1548) Don't generate a hostname if 'name' is specified (11d918bb)
|
126
|
+
|
127
|
+
* (QENG-1548) Allow 'resourcepool' to be an optional param for 'vcloud' hypervisor (780dfb68)
|
128
|
+
|
129
|
+
* Merge pull request #574 from anodelman/maint (b89073d3)
|
130
|
+
|
131
|
+
|
132
|
+
```
|
133
|
+
Merge pull request #574 from anodelman/maint
|
134
|
+
|
135
|
+
(MAINT) missing assert_not_match method
|
136
|
+
```
|
137
|
+
* (QENG-1599) force_encoding requires string input, pukes on symbols (77488bc1)
|
138
|
+
|
139
|
+
* Merge pull request #575 from anodelman/tagging (1984b158)
|
140
|
+
|
141
|
+
|
142
|
+
```
|
143
|
+
Merge pull request #575 from anodelman/tagging
|
144
|
+
|
145
|
+
(MAINT) update ec2 tags with 'created_by'
|
146
|
+
```
|
147
|
+
* (MAINT) update ec2 tags with 'created_by' (d760570c)
|
148
|
+
|
149
|
+
|
150
|
+
```
|
151
|
+
(MAINT) update ec2 tags with 'created_by'
|
152
|
+
|
153
|
+
- now tag ec2 instances with Name, department, project,
|
154
|
+
jenkins_build_url and created_by
|
155
|
+
```
|
156
|
+
* (MAINT) missing assert_not_match method (779f61bc)
|
157
|
+
|
158
|
+
|
159
|
+
```
|
160
|
+
(MAINT) missing assert_not_match method
|
161
|
+
|
162
|
+
- just add alias to assert_no_match
|
163
|
+
```
|
164
|
+
* (QENG-1529) beaker support to query aws instance information (c2d2a33c)
|
165
|
+
|
166
|
+
|
167
|
+
```
|
168
|
+
(QENG-1529) beaker support to query aws instance information
|
169
|
+
|
170
|
+
- access to individual instances by id
|
171
|
+
- access to array of all instances
|
172
|
+
```
|
173
|
+
* Merge pull request #565 from puppetlabs/add_40_answers (56d896a5)
|
174
|
+
|
175
|
+
|
176
|
+
```
|
177
|
+
Merge pull request #565 from puppetlabs/add_40_answers
|
178
|
+
|
179
|
+
(maint) Make beaker support 4.0
|
180
|
+
```
|
181
|
+
* (maint) Make beaker support 4.0 (e9fcdaf6)
|
182
|
+
|
183
|
+
### <a name = "beaker2.0.0">beaker2.0.0 - 5 Dec, 2014 (fb4b620b)
|
184
|
+
|
185
|
+
* (HISTORY) update beaker history for gem release 2.0.0 (fb4b620b)
|
69
186
|
|
70
187
|
* (GEM) update beaker version to 2.0.0 (6a1295f2)
|
71
188
|
|
data/lib/beaker/answers.rb
CHANGED
data/lib/beaker/command.rb
CHANGED
@@ -170,4 +170,31 @@ module Beaker
|
|
170
170
|
eval "\"#{@command}\""
|
171
171
|
end
|
172
172
|
end
|
173
|
+
|
174
|
+
class SedCommand < Command
|
175
|
+
|
176
|
+
# sets up a SedCommand for a particular platform
|
177
|
+
#
|
178
|
+
# the purpose is to abstract away platform-dependent details of the sed command
|
179
|
+
#
|
180
|
+
# @param [String] platform The host platform string
|
181
|
+
# @param [String] expression The sed expression
|
182
|
+
# @param [String] filename The file to apply the sed expression to
|
183
|
+
# @param [Hash{Symbol=>String}] opts Additional options
|
184
|
+
# @option opts [String] :temp_file The temp file to use for in-place substitution
|
185
|
+
# (only applies to solaris hosts, they don't provide the -i option)
|
186
|
+
#
|
187
|
+
# @return a new {SedCommand} object
|
188
|
+
def initialize platform, expression, filename, opts = {}
|
189
|
+
command = "sed -i -e \"#{expression}\" #{filename}"
|
190
|
+
if platform =~ /solaris|aix|osx/
|
191
|
+
command.slice! '-i '
|
192
|
+
temp_file = opts[:temp_file] ? opts[:temp_file] : "#{filename}.tmp"
|
193
|
+
command << " > #{temp_file} && mv #{temp_file} #{filename} && rm -f #{temp_file}"
|
194
|
+
end
|
195
|
+
args = []
|
196
|
+
opts['ENV'] ||= Hash.new
|
197
|
+
super( command, args, opts )
|
198
|
+
end
|
199
|
+
end
|
173
200
|
end
|
data/lib/beaker/host.rb
CHANGED
@@ -214,14 +214,15 @@ module Beaker
|
|
214
214
|
def add_env_var key, val
|
215
215
|
key = key.to_s.upcase
|
216
216
|
escaped_val = Regexp.escape(val).gsub('/', '\/').gsub(';', '\;')
|
217
|
+
env_file = self[:ssh_env_file]
|
217
218
|
#see if the key/value pair already exists
|
218
|
-
if exec(Beaker::Command.new("grep -e #{key}=.*#{escaped_val} #{
|
219
|
+
if exec(Beaker::Command.new("grep -e #{key}=.*#{escaped_val} #{env_file}"), :acceptable_exit_codes => (0..255) ).exit_code == 0
|
219
220
|
return #nothing to do here, key value pair already exists
|
220
221
|
#see if the key already exists
|
221
|
-
elsif exec(Beaker::Command.new("grep #{key} #{
|
222
|
-
exec(Beaker::
|
222
|
+
elsif exec(Beaker::Command.new("grep #{key} #{env_file}"), :acceptable_exit_codes => (0..255) ).exit_code == 0
|
223
|
+
exec(Beaker::SedCommand.new(self['HOSTS'][name]['platform'], "s/#{key}=/#{key}=#{escaped_val}:/", env_file))
|
223
224
|
else
|
224
|
-
exec(Beaker::Command.new("echo \"#{key}=#{val}\" >> #{
|
225
|
+
exec(Beaker::Command.new("echo \"#{key}=#{val}\" >> #{env_file}"))
|
225
226
|
end
|
226
227
|
end
|
227
228
|
|
@@ -233,9 +234,9 @@ module Beaker
|
|
233
234
|
def delete_env_var key, val
|
234
235
|
val = Regexp.escape(val).gsub('/', '\/').gsub(';', '\;')
|
235
236
|
#if the key only has that single value remove the entire line
|
236
|
-
exec(Beaker::
|
237
|
+
exec(Beaker::SedCommand.new(self['HOSTS'][name]['platform'], "/#{key}=#{val}$/d", self[:ssh_env_file]))
|
237
238
|
#if the key has multiple values and we only need to remove the provided val
|
238
|
-
exec(Beaker::
|
239
|
+
exec(Beaker::SedCommand.new(self['HOSTS'][name]['platform'], "s/#{key}=\\(.*[:;]*\\)#{val}[:;]*/#{key}=\\1/", self[:ssh_env_file]))
|
239
240
|
end
|
240
241
|
|
241
242
|
def connection
|
@@ -479,28 +479,28 @@ module Beaker
|
|
479
479
|
logger.debug("setting local environment on #{host.name}")
|
480
480
|
case host['platform']
|
481
481
|
when /windows/
|
482
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/sshd_config"))
|
482
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/sshd_config"))
|
483
483
|
host.exec(Command.new("cygrunsrv -E sshd"))
|
484
484
|
host.exec(Command.new("cygrunsrv -S sshd"))
|
485
485
|
env['CYGWIN'] = 'nodosfilewarning'
|
486
486
|
when /osx/
|
487
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/sshd_config"))
|
487
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/sshd_config"))
|
488
488
|
host.exec(Command.new("launchctl unload /System/Library/LaunchDaemons/ssh.plist"))
|
489
489
|
host.exec(Command.new("launchctl load /System/Library/LaunchDaemons/ssh.plist"))
|
490
490
|
when /debian|ubuntu|cumulus/
|
491
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config"))
|
491
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config"))
|
492
492
|
host.exec(Command.new("service ssh restart"))
|
493
493
|
when /el-|centos|fedora|redhat|oracle|scientific|eos/
|
494
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config"))
|
494
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config"))
|
495
495
|
host.exec(Command.new("service sshd restart"))
|
496
496
|
when /sles/
|
497
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config"))
|
497
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config"))
|
498
498
|
host.exec(Command.new("rcsshd restart"))
|
499
499
|
when /solaris/
|
500
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config"))
|
500
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config"))
|
501
501
|
host.exec(Command.new("svcadm restart svc:/network/ssh:default"))
|
502
502
|
when /aix/
|
503
|
-
host.exec(Command.new("echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config"))
|
503
|
+
host.exec(Command.new("echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config"))
|
504
504
|
host.exec(Command.new("stopsrc -g ssh"))
|
505
505
|
host.exec(Command.new("startsrc -g ssh"))
|
506
506
|
end
|
@@ -115,6 +115,20 @@ module Beaker
|
|
115
115
|
@logger.notify("#{output}")
|
116
116
|
end
|
117
117
|
|
118
|
+
# Provided an id return an instance object.
|
119
|
+
# Instance object will respond to methods described here: http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2/Instance.html
|
120
|
+
# @param [String] id The id of the instance to return
|
121
|
+
# @return [AWS::EC2::Instance] An AWS::EC2 instance object
|
122
|
+
def instance_by_id(id)
|
123
|
+
@ec2.instances[id]
|
124
|
+
end
|
125
|
+
|
126
|
+
# Return all instances currently on ec2.
|
127
|
+
# @return [Array<AWS::EC2::Instance>] An array of AWS::EC2 instance objects
|
128
|
+
def instances
|
129
|
+
@ec2.instances
|
130
|
+
end
|
131
|
+
|
118
132
|
# Shutdown and destroy ec2 instances idenfitied by key that have been alive
|
119
133
|
# longer than ZOMBIE hours.
|
120
134
|
#
|
@@ -304,6 +318,7 @@ module Beaker
|
|
304
318
|
instance.add_tag("Name", :value => host.name)
|
305
319
|
instance.add_tag("department", :value => @options[:department])
|
306
320
|
instance.add_tag("project", :value => @options[:project])
|
321
|
+
instance.add_tag("created_by", :value => @options[:created_by])
|
307
322
|
end
|
308
323
|
|
309
324
|
nil
|
@@ -9,7 +9,6 @@ module Beaker
|
|
9
9
|
@hosts = vcloud_hosts
|
10
10
|
|
11
11
|
raise 'You must specify a datastore for vCloud instances!' unless @options['datastore']
|
12
|
-
raise 'You must specify a resource pool for vCloud instances!' unless @options['resourcepool']
|
13
12
|
raise 'You must specify a folder for vCloud instances!' unless @options['folder']
|
14
13
|
@vsphere_credentials = VsphereHelper.load_config(@options[:dot_fog])
|
15
14
|
end
|
@@ -73,7 +72,7 @@ module Beaker
|
|
73
72
|
# Put the VM in the specified folder and resource pool
|
74
73
|
relocateSpec = RbVmomi::VIM.VirtualMachineRelocateSpec(
|
75
74
|
:datastore => @vsphere_helper.find_datastore(@options['datastore']),
|
76
|
-
:pool => @vsphere_helper.find_pool(@options['resourcepool']),
|
75
|
+
:pool => @options['resourcepool'] ? @vsphere_helper.find_pool(@options['resourcepool']) : nil,
|
77
76
|
:diskMoveType => :moveChildMostDiskBacking
|
78
77
|
)
|
79
78
|
|
@@ -99,8 +98,11 @@ module Beaker
|
|
99
98
|
start = Time.now
|
100
99
|
tasks = []
|
101
100
|
@hosts.each_with_index do |h, i|
|
102
|
-
|
103
|
-
|
101
|
+
if h['name']
|
102
|
+
h['vmhostname'] = h['name']
|
103
|
+
else
|
104
|
+
h['vmhostname'] = generate_host_name
|
105
|
+
end
|
104
106
|
|
105
107
|
if h['template'] =~ /\//
|
106
108
|
templatefolders = h['template'].split('/')
|
data/lib/beaker/logger.rb
CHANGED
@@ -16,6 +16,7 @@ module Beaker
|
|
16
16
|
:project => ['BEAKER_PROJECT', 'BEAKER_project'],
|
17
17
|
:department => ['BEAKER_DEPARTMENT', 'BEAKER_department'],
|
18
18
|
:jenkins_build_url => ['BEAKER_BUILD_URL', 'BUILD_URL'],
|
19
|
+
:created_by => ['BEAKER_CREATED_BY'],
|
19
20
|
:consoleport => ['BEAKER_CONSOLEPORT', 'consoleport'],
|
20
21
|
:is_pe => ['BEAKER_IS_PE', 'IS_PE'],
|
21
22
|
:pe_dir => ['BEAKER_PE_DIR', 'pe_dist_dir'],
|
@@ -110,9 +111,10 @@ module Beaker
|
|
110
111
|
h = Beaker::Options::OptionsHash.new
|
111
112
|
h.merge({
|
112
113
|
:project => 'Beaker',
|
113
|
-
:department =>
|
114
|
-
:
|
114
|
+
:department => 'unknown',
|
115
|
+
:created_by => ENV['USER'] || ENV['USERNAME'] || 'unknown',
|
115
116
|
:jenkins_build_url => nil,
|
117
|
+
:validate => true,
|
116
118
|
:log_level => 'info',
|
117
119
|
:trace_limit => 10,
|
118
120
|
:"master-start-curl-retries" => 120,
|
data/lib/beaker/result.rb
CHANGED
data/lib/beaker/version.rb
CHANGED
data/spec/beaker/command_spec.rb
CHANGED
@@ -80,4 +80,40 @@ module Beaker
|
|
80
80
|
expect( cmd.cmd_line host ).to be === ""
|
81
81
|
end
|
82
82
|
end
|
83
|
+
describe SedCommand do
|
84
|
+
let(:host) { Hash.new }
|
85
|
+
let(:platform) { @platform || 'unix' }
|
86
|
+
let(:expression) { @expression || 's/b/s/' }
|
87
|
+
let(:filename) { @filename || '/fakefile' }
|
88
|
+
let(:options) { @options || Hash.new }
|
89
|
+
subject(:cmd) { SedCommand.new( platform, expression, filename, options ) }
|
90
|
+
|
91
|
+
it 'forms a basic sed command correctly' do
|
92
|
+
expect( cmd.cmd_line host ).to be === "sed -i -e \"#{expression}\" #{filename}"
|
93
|
+
end
|
94
|
+
|
95
|
+
it 'provides the -i option to rewrite file in-place on non-solaris hosts' do
|
96
|
+
expect( cmd.cmd_line host ).to include('-i')
|
97
|
+
end
|
98
|
+
|
99
|
+
describe 'on solaris hosts' do
|
100
|
+
it 'removes the -i option correctly' do
|
101
|
+
@platform = 'solaris'
|
102
|
+
expect( cmd.cmd_line host ).not_to include('-i')
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'deals with in-place file substitution correctly' do
|
106
|
+
@platform = 'solaris'
|
107
|
+
default_temp_file = "#{filename}.tmp"
|
108
|
+
expect( cmd.cmd_line host ).to include(" > #{default_temp_file} && mv #{default_temp_file} #{filename} && rm -f #{default_temp_file}")
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'allows you to provide the name of the temp file for in-place file substitution' do
|
112
|
+
@platform = 'solaris'
|
113
|
+
temp_file = 'mytemp.tmp'
|
114
|
+
@options = { :temp_file => temp_file }
|
115
|
+
expect( cmd.cmd_line host ).to include(" > #{temp_file} && mv #{temp_file} #{filename} && rm -f #{temp_file}")
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
83
119
|
end
|
@@ -449,7 +449,7 @@ describe Beaker do
|
|
449
449
|
|
450
450
|
it "can set the environment on a windows host" do
|
451
451
|
commands = [
|
452
|
-
"echo 'PermitUserEnvironment yes' >> /etc/sshd_config",
|
452
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/sshd_config",
|
453
453
|
"cygrunsrv -E sshd",
|
454
454
|
"cygrunsrv -S sshd"
|
455
455
|
]
|
@@ -458,7 +458,7 @@ describe Beaker do
|
|
458
458
|
|
459
459
|
it "can set the environment on an OS X host" do
|
460
460
|
commands = [
|
461
|
-
"echo 'PermitUserEnvironment yes' >> /etc/sshd_config",
|
461
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/sshd_config",
|
462
462
|
"launchctl unload /System/Library/LaunchDaemons/ssh.plist",
|
463
463
|
"launchctl load /System/Library/LaunchDaemons/ssh.plist"
|
464
464
|
]
|
@@ -467,7 +467,7 @@ describe Beaker do
|
|
467
467
|
|
468
468
|
it "can set the environment on an ssh-based linux host" do
|
469
469
|
commands = [
|
470
|
-
"echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config",
|
470
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config",
|
471
471
|
"service ssh restart"
|
472
472
|
]
|
473
473
|
set_env_helper('ubuntu', commands)
|
@@ -475,7 +475,7 @@ describe Beaker do
|
|
475
475
|
|
476
476
|
it "can set the environment on an sshd-based linux host" do
|
477
477
|
commands = [
|
478
|
-
"echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config",
|
478
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config",
|
479
479
|
"service sshd restart"
|
480
480
|
]
|
481
481
|
set_env_helper('eos', commands)
|
@@ -483,7 +483,7 @@ describe Beaker do
|
|
483
483
|
|
484
484
|
it "can set the environment on an sles host" do
|
485
485
|
commands = [
|
486
|
-
"echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config",
|
486
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config",
|
487
487
|
"rcsshd restart"
|
488
488
|
]
|
489
489
|
set_env_helper('sles', commands)
|
@@ -491,7 +491,7 @@ describe Beaker do
|
|
491
491
|
|
492
492
|
it "can set the environment on a solaris host" do
|
493
493
|
commands = [
|
494
|
-
"echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config",
|
494
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config",
|
495
495
|
"svcadm restart svc:/network/ssh:default"
|
496
496
|
]
|
497
497
|
set_env_helper('solaris', commands)
|
@@ -499,7 +499,7 @@ describe Beaker do
|
|
499
499
|
|
500
500
|
it "can set the environment on an aix host" do
|
501
501
|
commands = [
|
502
|
-
"echo 'PermitUserEnvironment yes' >> /etc/ssh/sshd_config",
|
502
|
+
"echo 'PermitUserEnvironment yes\n' >> /etc/ssh/sshd_config",
|
503
503
|
"stopsrc -g ssh",
|
504
504
|
"startsrc -g ssh"
|
505
505
|
]
|
data/spec/beaker/host_spec.rb
CHANGED
@@ -200,7 +200,7 @@ module Beaker
|
|
200
200
|
result.exit_code = 0
|
201
201
|
expect( Beaker::Command ).to receive(:new).with(/grep KEY ~\/\.ssh\/environment/)
|
202
202
|
expect( host ).to receive(:exec).and_return(result)
|
203
|
-
expect( Beaker::
|
203
|
+
expect( Beaker::SedCommand ).to receive(:new).with('unix', 's/KEY=/KEY=\\/my\\/first\\/value:/', '~/.ssh/environment')
|
204
204
|
host.add_env_var('key', '/my/first/value')
|
205
205
|
end
|
206
206
|
|
@@ -208,8 +208,8 @@ module Beaker
|
|
208
208
|
|
209
209
|
describe "#delete_env_var" do
|
210
210
|
it "deletes env var" do
|
211
|
-
expect( Beaker::
|
212
|
-
expect( Beaker::
|
211
|
+
expect( Beaker::SedCommand ).to receive(:new).with('unix', '/key=\\/my\\/first\\/value$/d', '~/.ssh/environment')
|
212
|
+
expect( Beaker::SedCommand ).to receive(:new).with('unix', 's/key=\\(.*[:;]*\\)\\/my\\/first\\/value[:;]*/key=\\1/', '~/.ssh/environment')
|
213
213
|
host.delete_env_var('key', '/my/first/value')
|
214
214
|
end
|
215
215
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: beaker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppetlabs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -520,68 +520,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
520
520
|
version: '0'
|
521
521
|
requirements: []
|
522
522
|
rubyforge_project:
|
523
|
-
rubygems_version: 2.
|
523
|
+
rubygems_version: 2.4.5
|
524
524
|
signing_key:
|
525
525
|
specification_version: 4
|
526
526
|
summary: Let's test Puppet!
|
527
|
-
test_files:
|
528
|
-
|
529
|
-
- spec/beaker/cli_spec.rb
|
530
|
-
- spec/beaker/command_spec.rb
|
531
|
-
- spec/beaker/dsl/assertions_spec.rb
|
532
|
-
- spec/beaker/dsl/ezbake_utils_spec.rb
|
533
|
-
- spec/beaker/dsl/helpers_spec.rb
|
534
|
-
- spec/beaker/dsl/install_utils_spec.rb
|
535
|
-
- spec/beaker/dsl/outcomes_spec.rb
|
536
|
-
- spec/beaker/dsl/roles_spec.rb
|
537
|
-
- spec/beaker/dsl/structure_spec.rb
|
538
|
-
- spec/beaker/dsl/wrappers_spec.rb
|
539
|
-
- spec/beaker/host/mac/group_spec.rb
|
540
|
-
- spec/beaker/host/mac/user_spec.rb
|
541
|
-
- spec/beaker/host/unix/pkg_spec.rb
|
542
|
-
- spec/beaker/host/windows/group_spec.rb
|
543
|
-
- spec/beaker/host_prebuilt_steps_spec.rb
|
544
|
-
- spec/beaker/host_spec.rb
|
545
|
-
- spec/beaker/hypervisor/aixer_spec.rb
|
546
|
-
- spec/beaker/hypervisor/aws_sdk_spec.rb
|
547
|
-
- spec/beaker/hypervisor/docker_spec.rb
|
548
|
-
- spec/beaker/hypervisor/ec2_helper_spec.rb
|
549
|
-
- spec/beaker/hypervisor/fusion_spec.rb
|
550
|
-
- spec/beaker/hypervisor/hypervisor_spec.rb
|
551
|
-
- spec/beaker/hypervisor/hypervisor_spec.rb.orig
|
552
|
-
- spec/beaker/hypervisor/solaris_spec.rb
|
553
|
-
- spec/beaker/hypervisor/vagrant_fusion_spec.rb
|
554
|
-
- spec/beaker/hypervisor/vagrant_libvirt_spec.rb
|
555
|
-
- spec/beaker/hypervisor/vagrant_spec.rb
|
556
|
-
- spec/beaker/hypervisor/vagrant_virtualbox_spec.rb
|
557
|
-
- spec/beaker/hypervisor/vagrant_workstation_spec.rb
|
558
|
-
- spec/beaker/hypervisor/vcloud_pooled_spec.rb
|
559
|
-
- spec/beaker/hypervisor/vcloud_spec.rb
|
560
|
-
- spec/beaker/hypervisor/vsphere_helper_spec.rb
|
561
|
-
- spec/beaker/hypervisor/vsphere_spec.rb
|
562
|
-
- spec/beaker/logger_spec.rb
|
563
|
-
- spec/beaker/options/command_line_parser_spec.rb
|
564
|
-
- spec/beaker/options/data/badyaml.cfg
|
565
|
-
- spec/beaker/options/data/hosts.cfg
|
566
|
-
- spec/beaker/options/data/opts.txt
|
567
|
-
- spec/beaker/options/hosts_file_parser_spec.rb
|
568
|
-
- spec/beaker/options/options_file_parser_spec.rb
|
569
|
-
- spec/beaker/options/options_hash_spec.rb
|
570
|
-
- spec/beaker/options/parser_spec.rb
|
571
|
-
- spec/beaker/options/pe_version_scaper_spec.rb
|
572
|
-
- spec/beaker/options/presets_spec.rb
|
573
|
-
- spec/beaker/perf_spec.rb
|
574
|
-
- spec/beaker/platform_spec.rb
|
575
|
-
- spec/beaker/shared/error_handler_spec.rb
|
576
|
-
- spec/beaker/shared/host_manager_spec.rb
|
577
|
-
- spec/beaker/shared/repetition_spec.rb
|
578
|
-
- spec/beaker/ssh_connection_spec.rb
|
579
|
-
- spec/beaker/test_case_spec.rb
|
580
|
-
- spec/beaker/test_suite_spec.rb
|
581
|
-
- spec/helpers.rb
|
582
|
-
- spec/matchers.rb
|
583
|
-
- spec/mock_fission.rb
|
584
|
-
- spec/mock_vsphere.rb
|
585
|
-
- spec/mock_vsphere_helper.rb
|
586
|
-
- spec/mocks.rb
|
587
|
-
- spec/spec_helper.rb
|
527
|
+
test_files: []
|
528
|
+
has_rdoc:
|