onceover 3.19.0 → 3.19.1

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.
@@ -1,104 +1,104 @@
1
- {
2
- "name": "vagrant-hb9g3rd.lan.asio",
3
- "values": {
4
- "puppetversion": "6.0.2",
5
- "puppet_inventory_metadata": {
6
- "packages": {
7
- "collection_enabled": false,
8
- "last_collection_time": "0.0s"
9
- }
10
- },
11
- "package_provider": "windows",
12
- "pe_concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/pe_concat",
13
- "is_pe": false,
14
- "platform_symlink_writable": false,
15
- "puppet_files_dir_present": false,
16
- "puppet_vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
17
- "puppet_environmentpath": "C:/ProgramData/PuppetLabs/code/environments",
18
- "puppet_server": "pe-puppet.localdomain",
19
- "service_provider": "windows",
20
- "staging_http_get": "curl",
21
- "common_appdata": "C:\\ProgramData",
22
- "architecture": "x64",
23
- "kernel": "windows",
24
- "virtual": "vmware",
25
- "is_virtual": true,
26
- "hardwaremodel": "x64",
27
- "operatingsystem": "windows",
28
- "os": {
29
- "name": "windows",
30
- "family": "windows",
31
- "release": {
32
- "major": "10",
33
- "full": "10"
34
- }
35
- },
36
- "facterversion": "2.5.1",
37
- "fqdn": "VAGRANT-HB9G3RD",
38
- "hostname": "VAGRANT-HB9G3RD",
39
- "id": "vagrant-hb9g3rd\\vagrant",
40
- "interfaces": "Ethernet0_2",
41
- "ipaddress_ethernet0_2": "192.168.43.174",
42
- "ipaddress6_ethernet0_2": "fd72:b3ab:b8dd:0:f563:fac2:928c:6aa",
43
- "macaddress_ethernet0_2": "00:0C:29:A3:53:54",
44
- "netmask_ethernet0_2": "255.255.255.0",
45
- "mtu_ethernet0_2": 0,
46
- "ipaddress": "192.168.43.174",
47
- "ipaddress6": "fd72:b3ab:b8dd:0:f563:fac2:928c:6aa",
48
- "kernelmajversion": "10.0",
49
- "kernelrelease": "10.0.17134",
50
- "kernelversion": "10.0.17134",
51
- "macaddress": "00:0C:29:A3:53:54",
52
- "manufacturer": "Phoenix Technologies LTD",
53
- "serialnumber": "VMware-56 4d 36 2e 2e a4 81 f9-0d 05 ae d0 e5 a3 53 54",
54
- "productname": "VMware Virtual Platform",
55
- "memorysize": "4.00 GB",
56
- "memoryfree": "2.30 GB",
57
- "memorysize_mb": "4095.49",
58
- "memoryfree_mb": "2360.00",
59
- "netmask": "255.255.255.0",
60
- "network_ethernet0_2": "192.168.43.0",
61
- "operatingsystemmajrelease": "10",
62
- "operatingsystemrelease": "10",
63
- "osfamily": "windows",
64
- "path": "C:\\tools\\ruby24\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\vim\\vim80;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Users\\vagrant\\AppData\\Local\\Microsoft\\WindowsApps;",
65
- "physicalprocessorcount": 4,
66
- "processors": {
67
- "models": [
68
- "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
69
- "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
70
- "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
71
- "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz"
72
- ],
73
- "count": 4,
74
- "physicalcount": 4
75
- },
76
- "processor0": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
77
- "processor1": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
78
- "processor2": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
79
- "processor3": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
80
- "processorcount": 4,
81
- "ps": "tasklist.exe",
82
- "rubyplatform": "x64-mingw32",
83
- "rubysitedir": "C:/tools/ruby24/lib/ruby/site_ruby/2.4.0",
84
- "rubyversion": "2.4.3",
85
- "system32": "C:\\Windows\\system32",
86
- "choco_install_path": "C:\\ProgramData\\chocolatey",
87
- "system_uptime": {
88
- "seconds": 1113359,
89
- "hours": 309,
90
- "days": 12,
91
- "uptime": "12 days"
92
- },
93
- "timezone": "GMT Standard Time",
94
- "uptime": "12 days",
95
- "uptime_days": 12,
96
- "uptime_hours": 309,
97
- "uptime_seconds": 1113359,
98
- "clientcert": "vagrant-hb9g3rd.lan.asio",
99
- "clientversion": "6.0.2",
100
- "clientnoop": false
101
- },
102
- "timestamp": "2018-12-10T21:43:07.468533000+00:00",
103
- "expiration": "2018-12-10T22:13:07.468533000+00:00"
104
- }
1
+ {
2
+ "name": "vagrant-hb9g3rd.lan.asio",
3
+ "values": {
4
+ "puppetversion": "6.0.2",
5
+ "puppet_inventory_metadata": {
6
+ "packages": {
7
+ "collection_enabled": false,
8
+ "last_collection_time": "0.0s"
9
+ }
10
+ },
11
+ "package_provider": "windows",
12
+ "pe_concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/pe_concat",
13
+ "is_pe": false,
14
+ "platform_symlink_writable": false,
15
+ "puppet_files_dir_present": false,
16
+ "puppet_vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
17
+ "puppet_environmentpath": "C:/ProgramData/PuppetLabs/code/environments",
18
+ "puppet_server": "pe-puppet.localdomain",
19
+ "service_provider": "windows",
20
+ "staging_http_get": "curl",
21
+ "common_appdata": "C:\\ProgramData",
22
+ "architecture": "x64",
23
+ "kernel": "windows",
24
+ "virtual": "vmware",
25
+ "is_virtual": true,
26
+ "hardwaremodel": "x64",
27
+ "operatingsystem": "windows",
28
+ "os": {
29
+ "name": "windows",
30
+ "family": "windows",
31
+ "release": {
32
+ "major": "10",
33
+ "full": "10"
34
+ }
35
+ },
36
+ "facterversion": "2.5.1",
37
+ "fqdn": "VAGRANT-HB9G3RD",
38
+ "hostname": "VAGRANT-HB9G3RD",
39
+ "id": "vagrant-hb9g3rd\\vagrant",
40
+ "interfaces": "Ethernet0_2",
41
+ "ipaddress_ethernet0_2": "192.168.43.174",
42
+ "ipaddress6_ethernet0_2": "fd72:b3ab:b8dd:0:f563:fac2:928c:6aa",
43
+ "macaddress_ethernet0_2": "00:0C:29:A3:53:54",
44
+ "netmask_ethernet0_2": "255.255.255.0",
45
+ "mtu_ethernet0_2": 0,
46
+ "ipaddress": "192.168.43.174",
47
+ "ipaddress6": "fd72:b3ab:b8dd:0:f563:fac2:928c:6aa",
48
+ "kernelmajversion": "10.0",
49
+ "kernelrelease": "10.0.17134",
50
+ "kernelversion": "10.0.17134",
51
+ "macaddress": "00:0C:29:A3:53:54",
52
+ "manufacturer": "Phoenix Technologies LTD",
53
+ "serialnumber": "VMware-56 4d 36 2e 2e a4 81 f9-0d 05 ae d0 e5 a3 53 54",
54
+ "productname": "VMware Virtual Platform",
55
+ "memorysize": "4.00 GB",
56
+ "memoryfree": "2.30 GB",
57
+ "memorysize_mb": "4095.49",
58
+ "memoryfree_mb": "2360.00",
59
+ "netmask": "255.255.255.0",
60
+ "network_ethernet0_2": "192.168.43.0",
61
+ "operatingsystemmajrelease": "10",
62
+ "operatingsystemrelease": "10",
63
+ "osfamily": "windows",
64
+ "path": "C:\\tools\\ruby24\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\System32\\OpenSSH\\;C:\\ProgramData\\chocolatey\\bin;C:\\Program Files (x86)\\vim\\vim80;C:\\Program Files\\Git\\cmd;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Users\\vagrant\\AppData\\Local\\Microsoft\\WindowsApps;",
65
+ "physicalprocessorcount": 4,
66
+ "processors": {
67
+ "models": [
68
+ "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
69
+ "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
70
+ "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
71
+ "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz"
72
+ ],
73
+ "count": 4,
74
+ "physicalcount": 4
75
+ },
76
+ "processor0": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
77
+ "processor1": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
78
+ "processor2": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
79
+ "processor3": "Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz",
80
+ "processorcount": 4,
81
+ "ps": "tasklist.exe",
82
+ "rubyplatform": "x64-mingw32",
83
+ "rubysitedir": "C:/tools/ruby24/lib/ruby/site_ruby/2.4.0",
84
+ "rubyversion": "2.4.3",
85
+ "system32": "C:\\Windows\\system32",
86
+ "choco_install_path": "C:\\ProgramData\\chocolatey",
87
+ "system_uptime": {
88
+ "seconds": 1113359,
89
+ "hours": 309,
90
+ "days": 12,
91
+ "uptime": "12 days"
92
+ },
93
+ "timezone": "GMT Standard Time",
94
+ "uptime": "12 days",
95
+ "uptime_days": 12,
96
+ "uptime_hours": 309,
97
+ "uptime_seconds": 1113359,
98
+ "clientcert": "vagrant-hb9g3rd.lan.asio",
99
+ "clientversion": "6.0.2",
100
+ "clientnoop": false
101
+ },
102
+ "timestamp": "2018-12-10T21:43:07.468533000+00:00",
103
+ "expiration": "2018-12-10T22:13:07.468533000+00:00"
104
+ }
@@ -14,7 +14,7 @@ Feature: Create and maintain a .onceover cache
14
14
  Then the cache should exist
15
15
  And the cache should contain all controlrepo files
16
16
 
17
- Scenario: Runnone onnceover in the caching repo
17
+ Scenario: Run onceover in the caching repo
18
18
  Given control repo "caching"
19
19
  When I run onceover command "run spec --classes role::webserver"
20
20
  Then I should not see any errors
@@ -5,12 +5,12 @@ end
5
5
 
6
6
  Then(/^the cache should contain all controlrepo files/) do
7
7
  # Get all root files
8
- puts "Calculating MD5 hashes in repo"
8
+ log("Calculating MD5 hashes in repo")
9
9
  repo_digest = Cache_Helper.digest(@repo.root_folder)
10
- puts "#{repo_digest.count} MD5 hashes calculated"
11
- puts "Calculating MD5 hashes in cache"
10
+ log("#{repo_digest.count} MD5 hashes calculated")
11
+ log("Calculating MD5 hashes in cache")
12
12
  cache_digest = Cache_Helper.digest(File.join(@repo.root_folder,'.onceover/etc/puppetlabs/code/environments/production/'))
13
- puts "#{cache_digest.count} MD5 hashes calculated"
13
+ log("#{cache_digest.count} MD5 hashes calculated")
14
14
  expect(cache_digest).to include(repo_digest)
15
15
  end
16
16
 
@@ -7,6 +7,8 @@ Given(/^control repo "([^"]*)"$/) do |controlrepo_name|
7
7
  @cmd.controlrepo = @repo
8
8
  FileUtils.rm_rf @repo.root_folder
9
9
  FileUtils.mkdir_p @repo.tmp_folder
10
+
11
+ FileUtils.rm_rf "#{@repo.tmp_folder}#{controlrepo_name}"
10
12
  FileUtils.cp_r "spec/fixtures/controlrepos/#{controlrepo_name}", @repo.tmp_folder
11
13
  end
12
14
 
@@ -27,13 +29,13 @@ end
27
29
 
28
30
  When(/^I run onceover command "([^"]*)"$/) do |command|
29
31
  @cmd.command = "#{command} --debug"
30
- puts @cmd
32
+ log(@cmd)
31
33
  @cmd.run
32
34
  end
33
35
 
34
36
  When(/^I run onceover command "([^"]*)" with class "([^"]*)"$/) do |command, cls|
35
37
  @cmd.command = "#{command} --classes #{cls}"
36
- puts @cmd
38
+ log(@cmd)
37
39
  @cmd.run
38
40
  end
39
41
 
@@ -53,12 +55,12 @@ Then(/^I see help for commands: "([^"]*)"$/) do |commands|
53
55
  commands_help = @cmd.output[/COMMANDS(.*)OPTIONS/m, 1]
54
56
  commands.split(',').each do |command|
55
57
  result = commands_help.match(/^\s+#{command.strip}.+\n/)
56
- puts result.to_s if expect(result).not_to be nil
58
+ log(result.to_s) if expect(result).not_to be nil
57
59
  end
58
60
  end
59
61
 
60
62
  Then(/^I should not see any errors$/) do
61
- puts @cmd.output unless @cmd.success?
63
+ log(@cmd.output) unless @cmd.success?
62
64
  expect(@cmd.success?).to be true
63
65
  end
64
66
 
@@ -73,7 +75,7 @@ end
73
75
 
74
76
  Then(/^I should see error with message pattern "([^"]*)"$/) do |err_msg_regexp|
75
77
  expect(@cmd.success?).to be false
76
- puts @cmd.output
78
+ log(@cmd.output)
77
79
  expect(@cmd.output.match err_msg_regexp).to_not be nil
78
80
  end
79
81
 
@@ -94,17 +96,17 @@ Then(/^I should (not )?see message pattern "([^"]*)"$/) do |notword, msg_regexp|
94
96
  # If the regex matches and that's what we expected then just print a summary
95
97
  if does_match == expected_match
96
98
  if match
97
- puts match.pre_match[-output_surround..-1] + match.to_s + match.post_match[0..output_surround]
99
+ log(match.pre_match[-output_surround..-1] + match.to_s + match.post_match[0..output_surround])
98
100
  end
99
101
  else
100
- puts @cmd.output
102
+ log(@cmd.output)
101
103
  end
102
104
  end
103
105
 
104
106
  When(/^I run onceover command "([^"]*)" with \-\-puppetfile ([^"]*)$/) do |command, puppetfile|
105
107
  puppetfile_path = @repo.root_folder + puppetfile
106
108
  @cmd.command = "#{command} --puppetfile #{puppetfile_path} --debug"
107
- puts @cmd
109
+ log(@cmd)
108
110
  @cmd.run
109
111
  end
110
112
 
@@ -7,11 +7,11 @@ Then(/^I should see generated all necessary files and folders$/) do
7
7
  folders = [ 'spec/factsets', 'spec/pre_conditions'].map! { |x| @repo.root_folder + x}
8
8
 
9
9
  files.each do |file|
10
- puts file
10
+ log(file)
11
11
  expect( File.exist? file ).to be true
12
12
  end
13
13
  folders.each do |folder|
14
- puts folder
14
+ log(folder)
15
15
  expect( Dir.exist? folder ).to be true
16
16
  end
17
17
  end
@@ -95,5 +95,5 @@ Feature: Run rspec and acceptance test suites
95
95
  # This test is a full test using my controlrepo. It should remain at the end because it takes ages
96
96
  Scenario: Run advanced spec tests
97
97
  Given control repo "puppet_controlrepo"
98
- When I run onceover command "run spec -p"
98
+ When I run onceover command "run spec -p --force"
99
99
  Then I should not see any errors
@@ -123,11 +123,16 @@ class Onceover
123
123
  @profile_regex = opts[:profile_regex] ? Regexp.new(opts[:profile_regex]) : /profile[s]?:{2}/
124
124
  @tempdir = opts[:tempdir] || File.expand_path('./.onceover', @root)
125
125
  $temp_modulepath = nil
126
- manifest = opts[:manifest] || config['manifest'] || 'manifests'
127
- @manifest = File.expand_path(manifest, @root)
128
126
  @opts = opts
129
127
  logger.level = :debug if @opts[:debug]
130
128
  @@existing_controlrepo = self
129
+
130
+ # Set the manifest option to the fully expanded path if it's used,
131
+ # default to nil
132
+ manifest = opts[:manifest] || config['manifest'] || nil
133
+ if manifest
134
+ @manifest = File.expand_path(manifest, @root)
135
+ end
131
136
  end
132
137
 
133
138
 
@@ -123,6 +123,7 @@ class Onceover
123
123
  install_cmd << "--force" if force
124
124
  install_cmd << "--config #{repo.r10k_config_file}" if repo.r10k_config_file
125
125
  install_cmd << (logger.level > 0 ? "--verbose" : "--verbose debug") # Enable debugging if we're debugging
126
+ install_cmd << "--trace" if opts[:trace]
126
127
  install_cmd = install_cmd.join(' ')
127
128
  logger.debug "Running #{install_cmd} from #{prod_dir}"
128
129
  system(install_cmd)
@@ -60,6 +60,7 @@ class Onceover
60
60
  @@all
61
61
  end
62
62
 
63
+ # rubocop:disable Lint/DuplicateBranch
63
64
  def self.valid_members?(members)
64
65
  # Check that they are all the same type
65
66
  # Also catch any errors to assume it's invalid
@@ -75,5 +76,6 @@ class Onceover
75
76
  return false
76
77
  end
77
78
  end
79
+ # rubocop:enable Lint/DuplicateBranch
78
80
  end
79
81
  end
@@ -12,7 +12,9 @@ class OnceoverFormatter
12
12
  )
13
13
 
14
14
  COMPILATION_ERROR = %r{error during compilation: (?<error>.*)}
15
+ # rubocop:disable Lint/MixedRegexpCaptureTypes
15
16
  ERROR_WITH_LOCATION = %r{(?<error>.*?)\s(at )?(\((file: (?<file>.*?), )?line: (?<line>\d+)(, column: (?<column>\d+))?\))(; )?}
17
+ # rubocop:enable Lint/MixedRegexpCaptureTypes
16
18
  ERROR_WITHOUT_LOCATION = %r{(?<error>.*?)\son node}
17
19
 
18
20
  def initialize output
@@ -72,6 +74,8 @@ class OnceoverFormatter
72
74
  @output << "\n"
73
75
  end
74
76
 
77
+ # rubocop:disable Style/CombinableLoops
78
+ #
75
79
  # This method takes a notification and formats it into a hash that can be
76
80
  # printed easily
77
81
  def extract_failures notification
@@ -90,6 +94,7 @@ class OnceoverFormatter
90
94
 
91
95
  grouped
92
96
  end
97
+ # rubocop:enable Style/CombinableLoops
93
98
 
94
99
  # Extaracts data out of RSpec failres
95
100
  def extract_failure_data(fails)
@@ -309,4 +314,4 @@ class FailureCollector
309
314
  end
310
315
  }
311
316
  end
312
- end
317
+ end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = "onceover"
7
- s.version = "3.19.0"
7
+ s.version = "3.19.1"
8
8
  s.authors = ["Dylan Ratcliffe"]
9
9
  s.email = ["dylan.ratcliffe@puppet.com"]
10
10
  s.homepage = "https://github.com/dylanratcliffe/onceover"
@@ -22,7 +22,6 @@ Gem::Specification.new do |s|
22
22
  s.add_runtime_dependency 'colored', '~> 1.2'
23
23
  s.add_runtime_dependency 'cri', '>= 2.6'
24
24
  s.add_runtime_dependency 'deep_merge', '>= 1.0.0'
25
- s.add_runtime_dependency 'facter', '< 4.0.0'
26
25
  s.add_runtime_dependency 'git'
27
26
  s.add_runtime_dependency 'logging', '>= 2.0.0'
28
27
  s.add_runtime_dependency 'multi_json', '~> 1.10'
@@ -37,4 +36,8 @@ Gem::Specification.new do |s|
37
36
  s.add_runtime_dependency 'terminal-table', '>= 1.8.0'
38
37
  s.add_runtime_dependency 'versionomy', '>= 0.5.0'
39
38
 
39
+ s.add_development_dependency 'cucumber', '~> 4.1'
40
+ s.add_development_dependency 'pry', '~> 0.13.1'
41
+ s.add_development_dependency 'rubocop', '~> 1.6', '>= 1.6.1'
42
+ s.add_development_dependency 'rubygems-tasks', '~> 0.2.5'
40
43
  end
@@ -1,17 +1,17 @@
1
- forge "http://forge.puppetlabs.com"
2
- #
3
- # I want to download some modules to check if r10k feature in Onceover works correctly.
4
- #
5
-
6
- # Versions should be updated to be the latest at the time you start
7
- mod "puppetlabs/stdlib", '4.11.0'
8
-
9
- # Modules from Git
10
- # Examples: https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd#examples
11
- mod 'apache',
12
- :git => 'https://github.com/puppetlabs/puppetlabs-apache',
13
- :commit => '83401079053dca11d61945bd9beef9ecf7576cbf'
14
-
15
- #mod 'apache',
16
- # :git => 'https://github.com/puppetlabs/puppetlabs-apache',
17
- # :branch => 'docs_experiment'
1
+ forge "http://forge.puppetlabs.com"
2
+ #
3
+ # I want to download some modules to check if r10k feature in Onceover works correctly.
4
+ #
5
+
6
+ # Versions should be updated to be the latest at the time you start
7
+ mod "puppetlabs/stdlib", '4.11.0'
8
+
9
+ # Modules from Git
10
+ # Examples: https://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd#examples
11
+ mod 'apache',
12
+ :git => 'https://github.com/puppetlabs/puppetlabs-apache',
13
+ :commit => '83401079053dca11d61945bd9beef9ecf7576cbf'
14
+
15
+ #mod 'apache',
16
+ # :git => 'https://github.com/puppetlabs/puppetlabs-apache',
17
+ # :branch => 'docs_experiment'