onceover 3.19.2 → 3.21.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 +4 -4
- data/.devcontainer/devcontainer.json +33 -0
- data/.github/workflows/tests.yaml +5 -8
- data/.gitignore +0 -1
- data/.rubocop.yml +1 -1
- data/.vscode/extensions.json +4 -0
- data/Gemfile +9 -0
- data/README.md +83 -2
- data/Rakefile +15 -1
- data/factsets/Windows_Server-2008r2-64.json +184 -184
- data/factsets/Windows_Server-2012r2-64.json +165 -165
- data/factsets/windows-10-64.json +104 -104
- data/features/factsets.feature +33 -4
- data/features/step_definitions/common.rb +6 -0
- data/features/zzz_run.feature +8 -7
- data/lib/onceover/cli/run.rb +1 -0
- data/lib/onceover/cli/show.rb +1 -1
- data/lib/onceover/controlrepo.rb +64 -32
- data/lib/onceover/deploy.rb +6 -3
- data/lib/onceover/node.rb +19 -2
- data/lib/onceover/runner.rb +1 -0
- data/lib/onceover/testconfig.rb +4 -2
- data/onceover.gemspec +4 -2
- data/spec/fixtures/controlrepos/caching/Puppetfile +17 -17
- data/spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_extensions.pp +6 -0
- data/spec/fixtures/controlrepos/factsets/site/role/manifests/trusted_external.pp +6 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/README.md +7 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_notrusted.json +530 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_nested.json +535 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_extensions_top.json +533 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_nested.json +537 -0
- data/spec/fixtures/controlrepos/factsets/spec/factsets/centos7_trusted_external_top.json +535 -0
- data/templates/test_spec.rb.erb +4 -0
- metadata +22 -13
@@ -1,165 +1,165 @@
|
|
1
|
-
{
|
2
|
-
"name": "win-e5k8tm30719",
|
3
|
-
"values": {
|
4
|
-
"agent_specified_environment": "production",
|
5
|
-
"architecture": "x64",
|
6
|
-
"dhcp_servers": {
|
7
|
-
"Ethernet": "10.0.2.2",
|
8
|
-
"system": "10.0.2.2"
|
9
|
-
},
|
10
|
-
"dmi": {
|
11
|
-
"manufacturer": "innotek GmbH",
|
12
|
-
"product": {
|
13
|
-
"name": "VirtualBox",
|
14
|
-
"serial_number": "0"
|
15
|
-
}
|
16
|
-
},
|
17
|
-
"env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
|
18
|
-
"facterversion": "3.1.1",
|
19
|
-
"fqdn": "WIN-E5K8TM30719",
|
20
|
-
"hardwareisa": "x64",
|
21
|
-
"hardwaremodel": "x86_64",
|
22
|
-
"hostname": "WIN-E5K8TM30719",
|
23
|
-
"id": "WIN-E5K8TM30719\\vagrant",
|
24
|
-
"identity": {
|
25
|
-
"user": "WIN-E5K8TM30719\\vagrant"
|
26
|
-
},
|
27
|
-
"interfaces": "Ethernet",
|
28
|
-
"ipaddress": "10.0.2.15",
|
29
|
-
"ipaddress6": "fe80::a180:36e0:3a6e:1005%12",
|
30
|
-
"ipaddress6_Ethernet": "fe80::a180:36e0:3a6e:1005%12",
|
31
|
-
"ipaddress_Ethernet": "10.0.2.15",
|
32
|
-
"is_virtual": true,
|
33
|
-
"kernel": "windows",
|
34
|
-
"kernelmajversion": "6.3",
|
35
|
-
"kernelrelease": "6.3.9600",
|
36
|
-
"kernelversion": "6.3.9600",
|
37
|
-
"macaddress": "08:00:27:81:38:FA",
|
38
|
-
"macaddress_Ethernet": "08:00:27:81:38:FA",
|
39
|
-
"manufacturer": "innotek GmbH",
|
40
|
-
"memory": {
|
41
|
-
"system": {
|
42
|
-
"available": "1.42 GiB",
|
43
|
-
"available_bytes": 1521610752,
|
44
|
-
"capacity": "29.13%",
|
45
|
-
"total": "2.00 GiB",
|
46
|
-
"total_bytes": 2147012608,
|
47
|
-
"used": "596.43 MiB",
|
48
|
-
"used_bytes": 625401856
|
49
|
-
}
|
50
|
-
},
|
51
|
-
"memoryfree": "1.42 GiB",
|
52
|
-
"memoryfree_mb": 1451.12109375,
|
53
|
-
"memorysize": "2.00 GiB",
|
54
|
-
"memorysize_mb": 2047.55078125,
|
55
|
-
"mtu_Ethernet": 1500,
|
56
|
-
"netmask": "255.255.255.0",
|
57
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
58
|
-
"netmask6_Ethernet": "ffff:ffff:ffff:ffff::",
|
59
|
-
"netmask_Ethernet": "255.255.255.0",
|
60
|
-
"network": "10.0.2.0",
|
61
|
-
"network6": "fe80::%12",
|
62
|
-
"network6_Ethernet": "fe80::%12",
|
63
|
-
"network_Ethernet": "10.0.2.0",
|
64
|
-
"networking": {
|
65
|
-
"dhcp": "10.0.2.2",
|
66
|
-
"fqdn": "WIN-E5K8TM30719",
|
67
|
-
"hostname": "WIN-E5K8TM30719",
|
68
|
-
"interfaces": {
|
69
|
-
"Ethernet": {
|
70
|
-
"bindings": [
|
71
|
-
{
|
72
|
-
"address": "10.0.2.15",
|
73
|
-
"netmask": "255.255.255.0",
|
74
|
-
"network": "10.0.2.0"
|
75
|
-
}
|
76
|
-
],
|
77
|
-
"bindings6": [
|
78
|
-
{
|
79
|
-
"address": "fe80::a180:36e0:3a6e:1005%12",
|
80
|
-
"netmask": "ffff:ffff:ffff:ffff::",
|
81
|
-
"network": "fe80::%12"
|
82
|
-
}
|
83
|
-
],
|
84
|
-
"dhcp": "10.0.2.2",
|
85
|
-
"ip": "10.0.2.15",
|
86
|
-
"ip6": "fe80::a180:36e0:3a6e:1005%12",
|
87
|
-
"mac": "08:00:27:81:38:FA",
|
88
|
-
"mtu": 1500,
|
89
|
-
"netmask": "255.255.255.0",
|
90
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
91
|
-
"network": "10.0.2.0",
|
92
|
-
"network6": "fe80::%12"
|
93
|
-
}
|
94
|
-
},
|
95
|
-
"ip": "10.0.2.15",
|
96
|
-
"ip6": "fe80::a180:36e0:3a6e:1005%12",
|
97
|
-
"mac": "08:00:27:81:38:FA",
|
98
|
-
"mtu": 1500,
|
99
|
-
"netmask": "255.255.255.0",
|
100
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
101
|
-
"network": "10.0.2.0",
|
102
|
-
"network6": "fe80::%12",
|
103
|
-
"primary": "Ethernet"
|
104
|
-
},
|
105
|
-
"operatingsystem": "windows",
|
106
|
-
"operatingsystemmajrelease": "2012 R2",
|
107
|
-
"operatingsystemrelease": "2012 R2",
|
108
|
-
"os": {
|
109
|
-
"architecture": "x64",
|
110
|
-
"family": "windows",
|
111
|
-
"hardware": "x86_64",
|
112
|
-
"name": "windows",
|
113
|
-
"release": {
|
114
|
-
"full": "2012 R2",
|
115
|
-
"major": "2012 R2"
|
116
|
-
},
|
117
|
-
"windows": {
|
118
|
-
"system32": "C:\\Windows\\system32"
|
119
|
-
}
|
120
|
-
},
|
121
|
-
"osfamily": "windows",
|
122
|
-
"path": "C:/Program Files/Puppet Labs/Puppet/facter/bin;C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\facter\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\hiera\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\mcollective\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\sys\\tools\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Git\\cmd;C:\\Program Files (x86)\\Git\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin",
|
123
|
-
"physicalprocessorcount": 1,
|
124
|
-
"processor0": "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz",
|
125
|
-
"processorcount": 1,
|
126
|
-
"processors": {
|
127
|
-
"count": 1,
|
128
|
-
"isa": "x64",
|
129
|
-
"models": [
|
130
|
-
"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"
|
131
|
-
],
|
132
|
-
"physicalcount": 1
|
133
|
-
},
|
134
|
-
"productname": "VirtualBox",
|
135
|
-
"puppetversion": "4.2.3",
|
136
|
-
"ruby": {
|
137
|
-
"platform": "x64-mingw32",
|
138
|
-
"sitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
139
|
-
"version": "2.1.7"
|
140
|
-
},
|
141
|
-
"rubyplatform": "x64-mingw32",
|
142
|
-
"rubysitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
143
|
-
"rubyversion": "2.1.7",
|
144
|
-
"serialnumber": "0",
|
145
|
-
"system32": "C:\\Windows\\system32",
|
146
|
-
"choco_install_path": "C:\\ProgramData\\chocolatey",
|
147
|
-
"system_uptime": {
|
148
|
-
"days": 0,
|
149
|
-
"hours": 0,
|
150
|
-
"seconds": 287,
|
151
|
-
"uptime": "0:04 hours"
|
152
|
-
},
|
153
|
-
"timezone": "Coordinated Universal Time",
|
154
|
-
"uptime": "0:04 hours",
|
155
|
-
"uptime_days": 0,
|
156
|
-
"uptime_hours": 0,
|
157
|
-
"uptime_seconds": 287,
|
158
|
-
"virtual": "virtualbox",
|
159
|
-
"clientcert": "win-e5k8tm30719",
|
160
|
-
"clientversion": "4.2.3",
|
161
|
-
"clientnoop": false
|
162
|
-
},
|
163
|
-
"timestamp": "2015-11-19T01:47:05.215450000+00:00",
|
164
|
-
"expiration": "2015-11-19T02:17:05.215450000+00:00"
|
165
|
-
}
|
1
|
+
{
|
2
|
+
"name": "win-e5k8tm30719",
|
3
|
+
"values": {
|
4
|
+
"agent_specified_environment": "production",
|
5
|
+
"architecture": "x64",
|
6
|
+
"dhcp_servers": {
|
7
|
+
"Ethernet": "10.0.2.2",
|
8
|
+
"system": "10.0.2.2"
|
9
|
+
},
|
10
|
+
"dmi": {
|
11
|
+
"manufacturer": "innotek GmbH",
|
12
|
+
"product": {
|
13
|
+
"name": "VirtualBox",
|
14
|
+
"serial_number": "0"
|
15
|
+
}
|
16
|
+
},
|
17
|
+
"env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
|
18
|
+
"facterversion": "3.1.1",
|
19
|
+
"fqdn": "WIN-E5K8TM30719",
|
20
|
+
"hardwareisa": "x64",
|
21
|
+
"hardwaremodel": "x86_64",
|
22
|
+
"hostname": "WIN-E5K8TM30719",
|
23
|
+
"id": "WIN-E5K8TM30719\\vagrant",
|
24
|
+
"identity": {
|
25
|
+
"user": "WIN-E5K8TM30719\\vagrant"
|
26
|
+
},
|
27
|
+
"interfaces": "Ethernet",
|
28
|
+
"ipaddress": "10.0.2.15",
|
29
|
+
"ipaddress6": "fe80::a180:36e0:3a6e:1005%12",
|
30
|
+
"ipaddress6_Ethernet": "fe80::a180:36e0:3a6e:1005%12",
|
31
|
+
"ipaddress_Ethernet": "10.0.2.15",
|
32
|
+
"is_virtual": true,
|
33
|
+
"kernel": "windows",
|
34
|
+
"kernelmajversion": "6.3",
|
35
|
+
"kernelrelease": "6.3.9600",
|
36
|
+
"kernelversion": "6.3.9600",
|
37
|
+
"macaddress": "08:00:27:81:38:FA",
|
38
|
+
"macaddress_Ethernet": "08:00:27:81:38:FA",
|
39
|
+
"manufacturer": "innotek GmbH",
|
40
|
+
"memory": {
|
41
|
+
"system": {
|
42
|
+
"available": "1.42 GiB",
|
43
|
+
"available_bytes": 1521610752,
|
44
|
+
"capacity": "29.13%",
|
45
|
+
"total": "2.00 GiB",
|
46
|
+
"total_bytes": 2147012608,
|
47
|
+
"used": "596.43 MiB",
|
48
|
+
"used_bytes": 625401856
|
49
|
+
}
|
50
|
+
},
|
51
|
+
"memoryfree": "1.42 GiB",
|
52
|
+
"memoryfree_mb": 1451.12109375,
|
53
|
+
"memorysize": "2.00 GiB",
|
54
|
+
"memorysize_mb": 2047.55078125,
|
55
|
+
"mtu_Ethernet": 1500,
|
56
|
+
"netmask": "255.255.255.0",
|
57
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
58
|
+
"netmask6_Ethernet": "ffff:ffff:ffff:ffff::",
|
59
|
+
"netmask_Ethernet": "255.255.255.0",
|
60
|
+
"network": "10.0.2.0",
|
61
|
+
"network6": "fe80::%12",
|
62
|
+
"network6_Ethernet": "fe80::%12",
|
63
|
+
"network_Ethernet": "10.0.2.0",
|
64
|
+
"networking": {
|
65
|
+
"dhcp": "10.0.2.2",
|
66
|
+
"fqdn": "WIN-E5K8TM30719",
|
67
|
+
"hostname": "WIN-E5K8TM30719",
|
68
|
+
"interfaces": {
|
69
|
+
"Ethernet": {
|
70
|
+
"bindings": [
|
71
|
+
{
|
72
|
+
"address": "10.0.2.15",
|
73
|
+
"netmask": "255.255.255.0",
|
74
|
+
"network": "10.0.2.0"
|
75
|
+
}
|
76
|
+
],
|
77
|
+
"bindings6": [
|
78
|
+
{
|
79
|
+
"address": "fe80::a180:36e0:3a6e:1005%12",
|
80
|
+
"netmask": "ffff:ffff:ffff:ffff::",
|
81
|
+
"network": "fe80::%12"
|
82
|
+
}
|
83
|
+
],
|
84
|
+
"dhcp": "10.0.2.2",
|
85
|
+
"ip": "10.0.2.15",
|
86
|
+
"ip6": "fe80::a180:36e0:3a6e:1005%12",
|
87
|
+
"mac": "08:00:27:81:38:FA",
|
88
|
+
"mtu": 1500,
|
89
|
+
"netmask": "255.255.255.0",
|
90
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
91
|
+
"network": "10.0.2.0",
|
92
|
+
"network6": "fe80::%12"
|
93
|
+
}
|
94
|
+
},
|
95
|
+
"ip": "10.0.2.15",
|
96
|
+
"ip6": "fe80::a180:36e0:3a6e:1005%12",
|
97
|
+
"mac": "08:00:27:81:38:FA",
|
98
|
+
"mtu": 1500,
|
99
|
+
"netmask": "255.255.255.0",
|
100
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
101
|
+
"network": "10.0.2.0",
|
102
|
+
"network6": "fe80::%12",
|
103
|
+
"primary": "Ethernet"
|
104
|
+
},
|
105
|
+
"operatingsystem": "windows",
|
106
|
+
"operatingsystemmajrelease": "2012 R2",
|
107
|
+
"operatingsystemrelease": "2012 R2",
|
108
|
+
"os": {
|
109
|
+
"architecture": "x64",
|
110
|
+
"family": "windows",
|
111
|
+
"hardware": "x86_64",
|
112
|
+
"name": "windows",
|
113
|
+
"release": {
|
114
|
+
"full": "2012 R2",
|
115
|
+
"major": "2012 R2"
|
116
|
+
},
|
117
|
+
"windows": {
|
118
|
+
"system32": "C:\\Windows\\system32"
|
119
|
+
}
|
120
|
+
},
|
121
|
+
"osfamily": "windows",
|
122
|
+
"path": "C:/Program Files/Puppet Labs/Puppet/facter/bin;C:\\Program Files\\Puppet Labs\\Puppet\\puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\facter\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\hiera\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\mcollective\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\sys\\ruby\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\sys\\tools\\bin;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Git\\cmd;C:\\Program Files (x86)\\Git\\bin;C:\\Program Files\\Puppet Labs\\Puppet\\bin",
|
123
|
+
"physicalprocessorcount": 1,
|
124
|
+
"processor0": "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz",
|
125
|
+
"processorcount": 1,
|
126
|
+
"processors": {
|
127
|
+
"count": 1,
|
128
|
+
"isa": "x64",
|
129
|
+
"models": [
|
130
|
+
"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"
|
131
|
+
],
|
132
|
+
"physicalcount": 1
|
133
|
+
},
|
134
|
+
"productname": "VirtualBox",
|
135
|
+
"puppetversion": "4.2.3",
|
136
|
+
"ruby": {
|
137
|
+
"platform": "x64-mingw32",
|
138
|
+
"sitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
139
|
+
"version": "2.1.7"
|
140
|
+
},
|
141
|
+
"rubyplatform": "x64-mingw32",
|
142
|
+
"rubysitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
143
|
+
"rubyversion": "2.1.7",
|
144
|
+
"serialnumber": "0",
|
145
|
+
"system32": "C:\\Windows\\system32",
|
146
|
+
"choco_install_path": "C:\\ProgramData\\chocolatey",
|
147
|
+
"system_uptime": {
|
148
|
+
"days": 0,
|
149
|
+
"hours": 0,
|
150
|
+
"seconds": 287,
|
151
|
+
"uptime": "0:04 hours"
|
152
|
+
},
|
153
|
+
"timezone": "Coordinated Universal Time",
|
154
|
+
"uptime": "0:04 hours",
|
155
|
+
"uptime_days": 0,
|
156
|
+
"uptime_hours": 0,
|
157
|
+
"uptime_seconds": 287,
|
158
|
+
"virtual": "virtualbox",
|
159
|
+
"clientcert": "win-e5k8tm30719",
|
160
|
+
"clientversion": "4.2.3",
|
161
|
+
"clientnoop": false
|
162
|
+
},
|
163
|
+
"timestamp": "2015-11-19T01:47:05.215450000+00:00",
|
164
|
+
"expiration": "2015-11-19T02:17:05.215450000+00:00"
|
165
|
+
}
|
data/factsets/windows-10-64.json
CHANGED
@@ -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
|
+
}
|
data/features/factsets.feature
CHANGED
@@ -5,15 +5,44 @@ Feature: Handle factsets properly
|
|
5
5
|
Background:
|
6
6
|
Given onceover executable
|
7
7
|
|
8
|
-
Scenario:
|
8
|
+
Scenario: Selecting existing factsets
|
9
9
|
Given control repo "factsets"
|
10
10
|
When I run onceover command "init"
|
11
11
|
Then the config should contain "centos_with_env"
|
12
12
|
|
13
13
|
# This needs to be tested because an environment fact, if not handled, makes
|
14
|
-
# compilation fail
|
14
|
+
# compilation fail because it breaks all of the workarounds that have been
|
15
15
|
# put in place within rspec-puppet for the environment
|
16
|
-
|
16
|
+
@puppet6
|
17
|
+
Scenario: Run with a factset containing an environment facts
|
17
18
|
Given existing control repo "factsets"
|
18
|
-
When I run onceover command "run spec"
|
19
|
+
When I run onceover command "run spec" with class "role::example"
|
19
20
|
Then I should not see any errors
|
21
|
+
|
22
|
+
@puppet6
|
23
|
+
Scenario: Run trusted_extensions tests on nodes where pp_datacenter is PDK
|
24
|
+
Given existing control repo "factsets"
|
25
|
+
When I run onceover command "run spec" with class "role::trusted_extensions" on nodes "centos7_trusted_extensions_top,centos7_trusted_extensions_nested"
|
26
|
+
Then I should not see any errors
|
27
|
+
|
28
|
+
# Spec tests should only pass on the centos7_trusted_extensions_top and
|
29
|
+
# centos7_trusted_extensions_nested factsets. The rest should fail
|
30
|
+
@puppet6
|
31
|
+
Scenario: Run trusted_extensions tests on nodes where pp_datacenter is not set
|
32
|
+
Given existing control repo "factsets"
|
33
|
+
When I run onceover command "run spec" with class "role::trusted_extensions"
|
34
|
+
Then I should see error with message pattern "Evaluation Error: Error while evaluating a Function Call, pp_datacenter is not set to PDX"
|
35
|
+
|
36
|
+
@puppet6
|
37
|
+
Scenario: Run trusted_external tests on nodes where $trusted['external']['example']['foo'] is set to 'bar'
|
38
|
+
Given existing control repo "factsets"
|
39
|
+
When I run onceover command "run spec" with class "role::trusted_external" on nodes "centos7_trusted_external_top,centos7_trusted_external_nested"
|
40
|
+
Then I should not see any errors
|
41
|
+
|
42
|
+
# Spec tests should only pass on the centos7_trusted_externalq_top and
|
43
|
+
# centos7_trusted_external_nested factsets. The rest should fail
|
44
|
+
@puppet6
|
45
|
+
Scenario: Run trusted_external tests on nodes where $trusted['external'] is not specified
|
46
|
+
Given existing control repo "factsets"
|
47
|
+
When I run onceover command "run spec" with class "role::trusted_external"
|
48
|
+
Then I should see error with message pattern "Evaluation Error: Operator \'\[\]\' is not applicable to an Undef Value."
|
@@ -39,6 +39,12 @@ When(/^I run onceover command "([^"]*)" with class "([^"]*)"$/) do |command, cl
|
|
39
39
|
@cmd.run
|
40
40
|
end
|
41
41
|
|
42
|
+
When(/^I run onceover command "([^"]*)" with class "([^"]*)" on nodes "([^"]*)"$/) do |command, cls, nodes|
|
43
|
+
@cmd.command = "#{command} --classes #{cls} --nodes #{nodes}"
|
44
|
+
log(@cmd)
|
45
|
+
@cmd.run
|
46
|
+
end
|
47
|
+
|
42
48
|
# The below can be used to skip tests if they only work on one os
|
43
49
|
When(/^test osfamily is "(\w*)"$/) do |osfamily|
|
44
50
|
require 'facter'
|
data/features/zzz_run.feature
CHANGED
@@ -38,12 +38,13 @@ Feature: Run rspec and acceptance test suites
|
|
38
38
|
When I run onceover command "run spec"
|
39
39
|
Then I should see error with message pattern "The module acme-not_exists does not exist"
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
41
|
+
# TODO: Work out why this is fialing on windows
|
42
|
+
# Scenario: Run with local modifications
|
43
|
+
# Given initialized control repo "basic"
|
44
|
+
# When I run onceover command "run spec"
|
45
|
+
# And I make local modifications
|
46
|
+
# And I run onceover command "run spec"
|
47
|
+
# Then I should see message pattern "local modifications"
|
47
48
|
|
48
49
|
Scenario: Force overwrite local modifications
|
49
50
|
Given initialized control repo "basic"
|
@@ -83,7 +84,7 @@ Feature: Run rspec and acceptance test suites
|
|
83
84
|
When I run onceover command "run spec" with --puppetfile Puppetfile.custom
|
84
85
|
Then Puppetfile.custom should be copied to Puppetfile
|
85
86
|
And I should see message pattern "Using Puppetfile .*Puppetfile"
|
86
|
-
And I should see message pattern "
|
87
|
+
And I should see message pattern ".*extlib"
|
87
88
|
|
88
89
|
Scenario: Testing that --tags works with native rspec tags
|
89
90
|
Given control repo "puppet_controlrepo"
|
data/lib/onceover/cli/run.rb
CHANGED
@@ -43,6 +43,7 @@ This includes deploying using r10k and running all custom tests.
|
|
43
43
|
optional :p, :parallel, 'Runs spec tests in parallel. This increases speed at the cost of poorly formatted logs and irrelevant junit output.'
|
44
44
|
optional nil, :format, 'Which RSpec formatter to use, valid options are: documentation, progress, FailureCollector, OnceoverFormatter. You also specify this multiple times', multiple: true, default: :defaults
|
45
45
|
optional nil, :no_workarounds, 'Disables workarounds that have been added for convenience to get around common RSPec issues such as https://github.com/rodjek/rspec-puppet/issues/665'
|
46
|
+
optional :ff, :fail_fast, 'Abort the run after the first failure'
|
46
47
|
|
47
48
|
run do |opts, args, cmd|
|
48
49
|
repo = Onceover::Controlrepo.new(opts)
|