beaker 2.6.0 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- Yjk0OGJjNzMzZmM2NTA1OWFlMDRlNzI3YmM0MTI5MjUxZGQwNTU5MA==
4
+ YzZhNGFhMzQyMzkyNjUwODVjNmQ1NmZiNGRmNGRkMTZhZjEyOGE5NA==
5
5
  data.tar.gz: !binary |-
6
- Mjk2ZDUyY2JkY2MzZTc2Yjg2YTcwYWNkN2RjZThjMmVjZWY0ZGU0Zg==
6
+ NGQ0ZDIwOTRiNDBkMGE2ZDI3OWMyM2FlMmY0MGMxNGQzYjVjMWZjZA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MTAwMDc2MTllMzg1NTU5ODQ0ODUxY2U3N2I5NGRiMTA3MGE3ZDQ4ZDFlMTQ1
10
- Y2JmNTY0N2MxNmI0ZjUzYjE2ZDhkNTdhYWNmZDIxOWViMWYxNWNiZDlkN2Qx
11
- YWQxMjVlNGZjZDA0OGEwODZjYmY0NjM3YjAwYzI2MDUyYTI4NWU=
9
+ MTE4NjJjYjY4YTYyNDJkYmU4MzFjNTgzNGM3ODZlZTJmMjMxNjEyNzkyNzBi
10
+ YzU3ZjQ5YTU3NTA2NTg1Mjc5ZDM4OTNiMWNkZDcwY2JkODJlMmI1NGI5MmU2
11
+ YmVhNGVlNDgzYzRiOWVlNDY0OTIyOWQ1ODcxYmI3YjBkYmM2ZTg=
12
12
  data.tar.gz: !binary |-
13
- MjZmZWZkYjYyMTkzN2Y1MmJiNmJiNjYxMDQ5ZWZjZTljNjFmNDU3N2M3MmIy
14
- NGE4ZDAzYWNlZmIwNWVlMDQ4ODEzN2EyYTI5ZTEwOGU1N2NkMzRlNzk3ZjRj
15
- YmE0YzU4NDAxMDFhNzM4ZjY2YTVlZWYyNjExMmMxYzU2MDg2YWE=
13
+ OTc4YzgyZDNhMjA5MDkxM2ZhOTdkNTA0MmRiMjJlZWI2NzY1YjAxMDE2ZmQz
14
+ YjkyODY3ZDQxZGMwZDg2ZDllYjBlODM0ZTQ2ZTUxMjNlMWE4NzUyYTg0ZWRh
15
+ ZWQ3NmViZmNjNDg4N2Y2MWMxNzQ2MmM5YjQ5MTEyODcyZjJlNjI=
data/CONTRIBUTING.md CHANGED
@@ -8,8 +8,7 @@
8
8
  * Clearly describe the issue including steps to reproduce when it is a bug.
9
9
  * File in the appropriate location:
10
10
  * Using your [Jira account](http://tickets.puppetlabs.com)
11
- * Beaker bugs are submitted in the `QENG` project with the `Beaker` component.
12
- * As a [GitHub issue](https://github.com/puppetlabs/beaker/issues?direction=desc&sort=updated&state=open)
11
+ * Beaker bugs are submitted in the [BKR project](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR)
13
12
  * Fork the [Beaker repository on GitHub](https://github.com/puppetlabs/beaker)
14
13
 
15
14
  ## Making Changes
@@ -19,10 +18,10 @@
19
18
  * To quickly create a topic branch based on master use `git checkout -b my_contribution master`. Please avoid working directly on the `master` branch.
20
19
  * Make commits of logical units.
21
20
  * Check for unnecessary whitespace with `git diff --check` before committing.
22
- * Make sure your commit messages are in the proper format.
21
+ * Make sure your commit messages are in the proper format.
23
22
 
24
23
  ````
25
- (QENG-1234 OR gh-1234) Make the example in CONTRIBUTING imperative and concrete
24
+ (BKR-1234) Make the example in CONTRIBUTING imperative and concrete
26
25
 
27
26
  Without this patch applied the example commit message in the CONTRIBUTING
28
27
  document is not a concrete example. This is a problem because the
@@ -39,7 +38,7 @@
39
38
  * Beaker uses RSpec 3.1.0+, and you should **NOT USE** deprecated `should`/`stub` methods - **USE** `expect`/`allow`. Use of deprecated RSpec methods will result in your patch being rejected. See a nice blog post from 2013 on [RSpec's new message expectation syntax](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/).
40
39
  * Make sure that you have added documentation using [Yard](http://yardoc.org/), new methods/classes without apporpriate documentation will be rejected.
41
40
  * Run the tests to assure nothing else was accidentally broken, using `rake test`
42
- * **Bonus**: if possible ensure that `rake test` runs without failures for additional Ruby versions (1.9, 1.8, 2.0). Beaker supports Ruby 1.8+, and breakage of support for older/newer rubies will cause a patch to be rejected.
41
+ * **Bonus**: if possible ensure that `rake test` runs without failures for additional Ruby versions (1.9, 2.0, etc). Beaker supports Ruby 1.9+, and breakage of support for older/newer rubies will cause a patch to be rejected.
43
42
  * During the time that you are working on your patch the master Beaker branch may have changed - you'll want to [rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) before you submit your PR with `git rebase master`. A successful rebase ensures that your patch will cleanly merge into Beaker.
44
43
  * Submitted patches will be smoke tested through a series of acceptance level tests that ensures basic Beaker functionality - the results of these tests will be evaluated by a Beaker team member. Failures associated with the submitted patch will result in the patch being rejected.
45
44
 
@@ -47,7 +46,7 @@
47
46
 
48
47
  ### Maintenance
49
48
 
50
- For changes of a trivial nature, it is not always necessary to create a new ticket in Jira or GitHub. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
49
+ For changes of a trivial nature, it is not always necessary to create a new ticket in Jira. In this case, it is appropriate to start the first line of a commit with `(MAINT)` instead of a ticket/issue number.
51
50
 
52
51
  ````
53
52
  (MAINT) Fix whitespace
@@ -74,16 +73,15 @@ To prepare for a new gem release of Beaker (after the version has been bumped) t
74
73
  * Push your changes to a topic branch in your fork of the repository.
75
74
  * Submit a pull request to [Beaker](https://github.com/puppetlabs/beaker)
76
75
  * Update your ticket
77
- * Update your [Jira](http://tickets.puppetlabs.com) ticket to mark that you have submitted code and are ready for it to be reviewed (Status: Ready for Review).
76
+ * Update your [Jira](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR) ticket to mark that you have submitted code and are ready for it to be considered for merge (Status: Ready for Merge).
78
77
  * Include a link to the pull request in the ticket.
79
- * Update your [GitHub issue](https://github.com/puppetlabs/beaker/issues?direction=desc&sort=updated&state=open)
80
- * Include a link to the pull request in the issue.
81
78
  * PRs are reviewed as time permits.
82
79
 
83
80
  # Additional Resources
84
81
 
85
82
  * [More information on contributing](http://links.puppetlabs.com/contribute-to-puppet)
86
83
  * [Bug tracker (Jira)](http://tickets.puppetlabs.com)
84
+ * [BKR Jira Project](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR)
87
85
  * [Contributor License Agreement](http://links.puppetlabs.com/cla)
88
86
  * [General GitHub documentation](http://help.github.com/)
89
87
  * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source "http://rubygems.org"
1
+ source ENV['GEM_SOURCE'] || "https://rubygems.org"
2
2
 
3
3
  gemspec
data/README.md CHANGED
@@ -21,5 +21,5 @@ See [LICENSE](LICENSE) file.
21
21
 
22
22
  #Support
23
23
 
24
- Please log tickets and issues at our [Beaker Issue Tracker](https://github.com/puppetlabs/beaker/issues). In addition there is an active #puppet-dev channel on Freenode.
24
+ Please log tickets and issues at our [Beaker Issue Tracker](https://tickets.puppetlabs.com/issues/?jql=project%20%3D%20BKR). In addition there is an active #puppet-dev channel on Freenode.
25
25
 
@@ -20,7 +20,7 @@ module Beaker
20
20
  when /\A3\.99/
21
21
  return Version40.new(version, hosts, options)
22
22
  when /\A3\.8/
23
- return Version34.new(version, hosts, options)
23
+ return Version38.new(version, hosts, options)
24
24
  when /\A3\.7/
25
25
  return Version34.new(version, hosts, options)
26
26
  when /\A3\.4/
@@ -0,0 +1,26 @@
1
+ require 'beaker/answers/version34'
2
+
3
+ module Beaker
4
+ # This class provides answer file information for PE version 4.0
5
+ #
6
+ # @api private
7
+ class Version38 < Version34
8
+ def generate_answers
9
+ masterless = @options[:masterless]
10
+ return super if masterless
11
+
12
+ the_answers = super
13
+
14
+ # add new answers
15
+ exit_for_nc_migrate = answer_for(@options, :q_exit_for_nc_migrate, 'n')
16
+ enable_future_parser = answer_for(@options, :q_enable_future_parser, 'n')
17
+
18
+ the_answers.map do |key, value|
19
+ the_answers[key][:q_exit_for_nc_migrate] = exit_for_nc_migrate
20
+ the_answers[key][:q_enable_future_parser] = enable_future_parser
21
+ end
22
+
23
+ return the_answers
24
+ end
25
+ end
26
+ end
@@ -1,10 +1,10 @@
1
- require 'beaker/answers/version34'
1
+ require 'beaker/answers/version38'
2
2
 
3
3
  module Beaker
4
4
  # This class provides answer file information for PE version 4.0
5
5
  #
6
6
  # @api private
7
- class Version40 < Version34
7
+ class Version40 < Version38
8
8
  def generate_answers
9
9
  masterless = @options[:masterless]
10
10
  return super if masterless
@@ -29,6 +29,7 @@ module Windows
29
29
  'sitemoduledir' => 'C:/usr/share/puppet/modules',
30
30
  #let's just add both potential bin dirs to the path
31
31
  'puppetbindir' => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet Enterprise/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet Enterprise/bin',
32
+ 'privatebindir' => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet Enterprise/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet Enterprise/sys/ruby/bin',
32
33
  'pathseparator' => ';',
33
34
  })
34
35
  end
@@ -47,8 +48,9 @@ module Windows
47
48
  'sitemoduledir' => 'C:/usr/share/puppet/modules',
48
49
  'hieralibdir' => '`cygpath -w /opt/puppet-git-repos/hiera/lib`',
49
50
  'hierapuppetlibdir' => '`cygpath -w /opt/puppet-git-repos/hiera-puppet/lib`',
50
- #let's just add both potential bin dirs to the path, include ruby too for `gem`, `ruby`, etc
51
- 'puppetbindir' => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/sys/ruby/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/sys/ruby/bin',
51
+ #let's just add both potential bin dirs to the path
52
+ 'puppetbindir' => '/cygdrive/c/Program Files (x86)/Puppet Labs/Puppet/bin:/cygdrive/c/Program Files/Puppet Labs/Puppet/bin',
53
+ 'privatebindir' => '/usr/bin',
52
54
  'hierabindir' => '/opt/puppet-git-repos/hiera/bin',
53
55
  'pathseparator' => ';',
54
56
  })
@@ -453,7 +453,7 @@ module Beaker
453
453
  def construct_env host, opts
454
454
  env = additive_hash_merge(host[:host_env], opts[:host_env])
455
455
 
456
- #Add PATH and RUBYLIB
456
+ #Add PATH
457
457
 
458
458
  #prepend any PATH already set for this host
459
459
 
@@ -464,16 +464,12 @@ module Beaker
464
464
  #run the paths through echo to see if they have any subcommands that need processing
465
465
  env['PATH'].map! { |val| echo_on_host(host, val) }
466
466
 
467
- #prepend any RUBYLIB already set for this host
468
- env['RUBYLIB'] = (%w(hieralibdir hierapuppetlibdir pluginlibpath puppetlibdir facterlibdir) << env['RUBYLIB']).compact.reject(&:empty?)
469
- #get the RUBYLIB defaults
470
- env['RUBYLIB'].map! { |val| host[val] }
471
- env['RUBYLIB'] = env['RUBYLIB'].compact.reject(&:empty?)
472
- #run the paths through echo to see if they have any subcommands that need processing
473
- env['RUBYLIB'].map! { |val| echo_on_host(host, val) }
474
-
475
467
  env.each_key do |key|
476
- env[key] = env[key].join(host['pathseparator'])
468
+ separator = host['pathseparator']
469
+ if key == 'PATH' && host.is_cygwin?
470
+ separator = ':'
471
+ end
472
+ env[key] = env[key].join(separator)
477
473
  end
478
474
  env
479
475
  end
@@ -525,7 +521,6 @@ module Beaker
525
521
  host.exec(Command.new("chmod 0600 #{Pathname.new(host[:ssh_env_file]).dirname}"))
526
522
  host.exec(Command.new("touch #{host[:ssh_env_file]}"))
527
523
  #add the constructed env vars to this host
528
- host.add_env_var('RUBYLIB', '$RUBYLIB')
529
524
  host.add_env_var('PATH', '$PATH')
530
525
  end
531
526
  #add the env var set to this test host
@@ -190,6 +190,8 @@ module Beaker
190
190
  :q_rbac_database_name => 'pe-rbac',
191
191
  :q_rbac_database_password => '~!@#$%^*-/ aZ',
192
192
  :q_install_update_server => 'y',
193
+ :q_exit_for_nc_migrate => 'n',
194
+ :q_enable_future_parser => 'n',
193
195
  },
194
196
  :dot_fog => File.join(ENV['HOME'], '.fog'),
195
197
  :ec2_yaml => 'config/image_templates/ec2.yaml',
@@ -1,5 +1,5 @@
1
1
  module Beaker
2
2
  module Version
3
- STRING = '2.6.0'
3
+ STRING = '2.7.0'
4
4
  end
5
5
  end
@@ -19,6 +19,11 @@ module Beaker
19
19
  expect( answers ).to be_a_kind_of Version40
20
20
  end
21
21
 
22
+ it 'generates 3.8 answers for 3.8 hosts' do
23
+ @ver = '3.8'
24
+ expect( answers ).to be_a_kind_of Version38
25
+ end
26
+
22
27
  it 'generates 3.4 answers for 3.4 hosts' do
23
28
  @ver = '3.4'
24
29
  expect( answers ).to be_a_kind_of Version34
@@ -163,6 +168,40 @@ module Beaker
163
168
 
164
169
  end
165
170
 
171
+ describe Version38 do
172
+ let( :options ) { Beaker::Options::Presets.new.presets }
173
+ let( :basic_hosts ) { make_hosts( {'pe_ver' => @ver } ) }
174
+ let( :hosts ) { basic_hosts[0]['roles'] = ['master', 'agent']
175
+ basic_hosts[1]['roles'] = ['dashboard', 'agent']
176
+ basic_hosts[2]['roles'] = ['database', 'agent']
177
+ basic_hosts }
178
+ let( :answers ) { Beaker::Answers.create(@ver, hosts, options) }
179
+ let( :upgrade_answers ) { Beaker::Answers.create(@ver, hosts, options.merge( {:type => :upgrade}) ) }
180
+
181
+ before :each do
182
+ @ver = '3.8'
183
+ @answers = answers.answers
184
+ end
185
+
186
+ it 'adds :q_enable_future_parser to all hosts, default to "n"' do
187
+ hosts.each do |host|
188
+ expect( host[:answers][:q_enable_future_parser] ).to be == 'n'
189
+ end
190
+ end
191
+
192
+ it 'adds :q_exit_for_nc_migrate to all hosts, default to "n"' do
193
+ hosts.each do |host|
194
+ expect( host[:answers][:q_exit_for_nc_migrate] ).to be == 'n'
195
+ end
196
+ end
197
+
198
+ it 'should add answers to the host objects' do
199
+ hosts.each do |host|
200
+ expect( host[:answers] ).to be === @answers[host.name]
201
+ end
202
+ end
203
+ end
204
+
166
205
  describe Version40 do
167
206
  let( :options ) { Beaker::Options::Presets.new.presets }
168
207
  let( :basic_hosts ) { make_hosts( {'pe_ver' => @ver } ) }
@@ -514,7 +514,6 @@ describe Beaker do
514
514
  expect( Beaker::Command ).to receive( :new ).with( "chmod 0600 #{Pathname.new(host[:ssh_env_file]).dirname}" ).once
515
515
  expect( Beaker::Command ).to receive( :new ).with( "touch #{host[:ssh_env_file]}" ).once
516
516
  expect( Beaker::Command ).to receive( :new ).with( "cat #{host[:ssh_env_file]}" ).once
517
- expect( host ).to receive( :add_env_var ).with( 'RUBYLIB', '$RUBYLIB' ).once
518
517
  expect( host ).to receive( :add_env_var ).with( 'PATH', '$PATH' ).once
519
518
  opts.each_pair do |key, value|
520
519
  expect( host ).to receive( :add_env_var ).with( key, value ).once
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.6.0
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppetlabs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-12 00:00:00.000000000 Z
11
+ date: 2015-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -405,6 +405,7 @@ files:
405
405
  - lib/beaker/answers/version30.rb
406
406
  - lib/beaker/answers/version32.rb
407
407
  - lib/beaker/answers/version34.rb
408
+ - lib/beaker/answers/version38.rb
408
409
  - lib/beaker/answers/version40.rb
409
410
  - lib/beaker/cli.rb
410
411
  - lib/beaker/command.rb