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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4efb9fe2eee59809e38c373cbc31ea99eeb314b0ddd631b9242789da7174609c
|
4
|
+
data.tar.gz: 0a4186e296c4d0cf3eb99ef4f5214d110622de95e8037138bb9e1fb66d45d1d4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e3bdc3f4114ddd8291a798c73585677a2855522d63d425d55d19a8a47c0ea4a9dbd7d31544fce7554133076a5be82779a4ffeffc6650e8f04fbc5c43d76847e5
|
7
|
+
data.tar.gz: 06ef6823ba3371f6f259e9c4f85ed97d17f623297a368baa2dc0cf9bc9c3255162244a27b32e3376958dbe522e642850450a562ff4b648af04b04cb8632e9537
|
@@ -0,0 +1,33 @@
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
2
|
+
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
|
3
|
+
{
|
4
|
+
"name": "Debian",
|
5
|
+
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
|
6
|
+
"image": "mcr.microsoft.com/devcontainers/base:bullseye",
|
7
|
+
"features": {
|
8
|
+
"ghcr.io/devcontainers/features/ruby:1": {},
|
9
|
+
"ghcr.io/devcontainers/features/github-cli:1": {}
|
10
|
+
},
|
11
|
+
|
12
|
+
"postAttachCommand": "bundle",
|
13
|
+
"customizations": {
|
14
|
+
"vscode": {
|
15
|
+
"extensions": [
|
16
|
+
"castwide.ruby-debug",
|
17
|
+
"CucumberOpen.cucumber-official"
|
18
|
+
]
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
// Features to add to the dev container. More info: https://containers.dev/features.
|
23
|
+
// "features": {},
|
24
|
+
|
25
|
+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
26
|
+
// "forwardPorts": [],
|
27
|
+
|
28
|
+
// Configure tool-specific properties.
|
29
|
+
// "customizations": {},
|
30
|
+
|
31
|
+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
32
|
+
// "remoteUser": "root"
|
33
|
+
}
|
@@ -8,20 +8,17 @@ jobs:
|
|
8
8
|
fail-fast: false
|
9
9
|
matrix:
|
10
10
|
os:
|
11
|
-
- windows-
|
11
|
+
- windows-latest
|
12
12
|
- ubuntu-latest
|
13
13
|
- macos-latest
|
14
14
|
puppet:
|
15
|
-
- "~> 5.0"
|
16
|
-
- "~> 6.0"
|
17
15
|
- "~> 7.0"
|
16
|
+
- "~> 8.0"
|
18
17
|
include:
|
19
|
-
- puppet: "~> 5.0"
|
20
|
-
ruby: 2.4
|
21
|
-
- puppet: "~> 6.0"
|
22
|
-
ruby: 2.5
|
23
18
|
- puppet: "~> 7.0"
|
24
19
|
ruby: 2.7
|
20
|
+
- puppet: "~> 8.0"
|
21
|
+
ruby: 3.2
|
25
22
|
|
26
23
|
runs-on: ${{ matrix.os }}
|
27
24
|
steps:
|
@@ -33,7 +30,7 @@ jobs:
|
|
33
30
|
env:
|
34
31
|
PUPPET_VERSION: ${{ matrix.puppet }}
|
35
32
|
- name: Set long paths on Windows
|
36
|
-
if: ${{ matrix.os == 'windows-
|
33
|
+
if: ${{ matrix.os == 'windows-latest' }}
|
37
34
|
run: Set-ItemProperty 'HKLM:\System\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -value 1
|
38
35
|
- env:
|
39
36
|
PUPPET_VERSION: ${{ matrix.puppet }}
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/Gemfile
CHANGED
@@ -8,6 +8,15 @@ if ENV['PUPPET_VERSION']
|
|
8
8
|
gem 'puppet', ENV['PUPPET_VERSION']
|
9
9
|
end
|
10
10
|
|
11
|
+
group :test do
|
12
|
+
# Required for the final controlrepo tests
|
13
|
+
gem 'toml-rb'
|
14
|
+
end
|
15
|
+
|
16
|
+
group :development do
|
17
|
+
gem 'pry'
|
18
|
+
end
|
19
|
+
|
11
20
|
# Evaluate Gemfile.local if it exists
|
12
21
|
if File.exist? "#{__FILE__}.local"
|
13
22
|
eval(File.read("#{__FILE__}.local"), binding)
|
data/README.md
CHANGED
@@ -146,7 +146,7 @@ Hopefully this config file will be fairly self explanatory once you see it, but
|
|
146
146
|
|
147
147
|
In this section we can add functions that we want to mock when running spec tests.
|
148
148
|
|
149
|
-
Each function takes the `
|
149
|
+
Each function takes the `returns` arguments, e.g.
|
150
150
|
|
151
151
|
```yaml
|
152
152
|
functions:
|
@@ -330,6 +330,18 @@ puppet facts > fact_set_name.json
|
|
330
330
|
|
331
331
|
Its recommended to run this on each of the types of nodes that you run in your infrastructure to have good coverage.
|
332
332
|
|
333
|
+
If you are using [Trusted Facts](#trusted-facts) or [Trusted External Data](#trusted-external-data) and can use the [PE client tools](https://puppet.com/docs/pe/latest/installing_pe_client_tools.html) you can generate a factset which contains this information by running:
|
334
|
+
|
335
|
+
```shell
|
336
|
+
puppet facts --terminus puppetdb > fact_set_name.json
|
337
|
+
```
|
338
|
+
|
339
|
+
or
|
340
|
+
|
341
|
+
```shell
|
342
|
+
puppet facts --terminus puppetdb <node certname> > fact_set_name.json
|
343
|
+
```
|
344
|
+
|
333
345
|
Factsets are named based on their filename, i.e. `myfactset` in `onceover.yaml` refers `spec/factsets/myfactset.json`
|
334
346
|
|
335
347
|
#### Trusted Facts
|
@@ -351,6 +363,73 @@ You can add trusted facts to the factsets by creating a new section called trust
|
|
351
363
|
|
352
364
|
Notice that the `extensions` part is implied. The first fact in that example translates to `$trusted['extensions']['pp_role']` in Puppet code.
|
353
365
|
|
366
|
+
Alternatively, if you generated your factset using the PE client tools your trusted facts will be nested under the **values** hash. For example:
|
367
|
+
|
368
|
+
```json
|
369
|
+
{
|
370
|
+
"name": "node.puppetlabs.net",
|
371
|
+
"values": {
|
372
|
+
"aio_agent_build": "1.10.4",
|
373
|
+
"aio_agent_version": "1.10.4",
|
374
|
+
"architecture": "x86_64",
|
375
|
+
"trusted": {
|
376
|
+
"extensions": {
|
377
|
+
"pp_role": "agent",
|
378
|
+
"pp_datacenter": "puppet"
|
379
|
+
}
|
380
|
+
}
|
381
|
+
```
|
382
|
+
|
383
|
+
In this case, you're all set and onceover will auto-magically pick those up for you.
|
384
|
+
|
385
|
+
**Note**: The top level `trusted` hash takes precidence over the `trusted[extensions]` hash nested under `values`. Meaning that if you have any specified at the top level, any nested ones will not be considered. So pick **ONE** method and stick with that.
|
386
|
+
|
387
|
+
#### Trusted External Data
|
388
|
+
|
389
|
+
**Note:** This feature requires `rspec-puppet` >= 2.8.0.
|
390
|
+
|
391
|
+
You can add trusted external data to the factsets by creating a new section called trusted_external:
|
392
|
+
|
393
|
+
```json
|
394
|
+
{
|
395
|
+
"name": "node.puppetlabs.net",
|
396
|
+
"trusted_external": {
|
397
|
+
"example_forager": {
|
398
|
+
"globalRegion": "EMEA",
|
399
|
+
"serverOwner": "John Doe"
|
400
|
+
}
|
401
|
+
},
|
402
|
+
"values": {
|
403
|
+
"aio_agent_build": "1.10.4",
|
404
|
+
"aio_agent_version": "1.10.4",
|
405
|
+
"architecture": "x86_64",
|
406
|
+
```
|
407
|
+
|
408
|
+
Notice that the `external` part is implied, though the foragers name will still need to be provided. The first fact in that example translates to `$trusted['external']['example_forager']['globalRegion']` in Puppet code.
|
409
|
+
|
410
|
+
Alternatively, if you generated your factset using the PE client tools your trusted external data will be nested under the **values** hash. For example:
|
411
|
+
|
412
|
+
```json
|
413
|
+
{
|
414
|
+
"name": "node.puppetlabs.net",
|
415
|
+
"values": {
|
416
|
+
"aio_agent_build": "1.10.4",
|
417
|
+
"aio_agent_version": "1.10.4",
|
418
|
+
"architecture": "x86_64",
|
419
|
+
"trusted": {
|
420
|
+
"external": {
|
421
|
+
"example_forager": {
|
422
|
+
"globalRegion": "EMEA",
|
423
|
+
"serverOwner": "John Doe"
|
424
|
+
}
|
425
|
+
}
|
426
|
+
}
|
427
|
+
```
|
428
|
+
|
429
|
+
In this case, you're all set and onceover will auto-magically pick those up for you.
|
430
|
+
|
431
|
+
**Note**: The top level `trusted_external` hash takes precidence over the `trusted[external]` hash nested under `values`. Meaning that if you have any specified at the top level, any nested ones will not be considered. So pick **ONE** method and stick with that.
|
432
|
+
|
354
433
|
### Hiera
|
355
434
|
|
356
435
|
If you have hiera data inside your controlrepo (or somewhere else) `onceover` can be configured to use it.
|
@@ -587,10 +666,12 @@ require 'spec_helper'
|
|
587
666
|
require 'onceover/controlrepo'
|
588
667
|
require 'helpers/shared_examples'
|
589
668
|
|
590
|
-
Onceover::Controlrepo.new.spec_tests do |class_name,node_name,facts,pre_conditions|
|
669
|
+
Onceover::Controlrepo.new.spec_tests do |class_name, node_name, facts, trusted_facts, trusted_external_data, pre_conditions|
|
591
670
|
describe class_name do
|
592
671
|
context "on #{node_name}" do
|
593
672
|
let(:facts) { facts }
|
673
|
+
let(:trusted_facts) { trusted_facts }
|
674
|
+
let(:trusted_external_data) { trusted_external_data }
|
594
675
|
let(:pre_condition) { pre_conditions }
|
595
676
|
|
596
677
|
it_behaves_like 'soe'
|
data/Rakefile
CHANGED
@@ -2,6 +2,7 @@ require 'rubygems/tasks'
|
|
2
2
|
require 'rspec/core/rake_task'
|
3
3
|
require 'cucumber/rake/task'
|
4
4
|
require 'rubocop/rake_task'
|
5
|
+
require 'puppet/version'
|
5
6
|
Gem::Tasks.new
|
6
7
|
|
7
8
|
def windows?
|
@@ -18,7 +19,20 @@ RSpec::Core::RakeTask.new(:acceptance) do |t|
|
|
18
19
|
t.rspec_opts = '--pattern spec/acceptance/**/*_spec.rb'
|
19
20
|
end
|
20
21
|
|
21
|
-
Cucumber
|
22
|
+
# Cucumber task that intelligently skips test tagged with a minimum puppet
|
23
|
+
# version in the format "@puppet6"
|
24
|
+
Cucumber::Rake::Task.new(:cucumber) do |t|
|
25
|
+
major_version = Gem::Version.new(Puppet.version).segments[0]
|
26
|
+
|
27
|
+
# Create a list of tags to skip based on the next 3 major versions
|
28
|
+
skip_tags = ((major_version + 1)..(major_version + 3)).map { |v| "@puppet#{v}"}
|
29
|
+
|
30
|
+
# Generate logic string
|
31
|
+
skip_string = "not #{skip_tags.join(' and not ')}"
|
32
|
+
|
33
|
+
t.cucumber_opts = "--tags \"#{skip_string}\"" # Any valid command line option can go here.
|
34
|
+
end
|
35
|
+
|
22
36
|
|
23
37
|
task default: :full_tests
|
24
38
|
|
@@ -1,184 +1,184 @@
|
|
1
|
-
{
|
2
|
-
"name": "server2008r2a.pdx.puppetlabs.demo",
|
3
|
-
"values": {
|
4
|
-
"agent_specified_environment": "production",
|
5
|
-
"aio_agent_build": "1.2.2",
|
6
|
-
"aio_agent_version": "1.2.2",
|
7
|
-
"architecture": "x64",
|
8
|
-
"common_appdata": "C:\\ProgramData",
|
9
|
-
"concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/concat",
|
10
|
-
"custom_auth_conf": "false",
|
11
|
-
"datacenter": "portland",
|
12
|
-
"dhcp_servers": {
|
13
|
-
"Local Area Connection": "10.0.2.2"
|
14
|
-
},
|
15
|
-
"dmi": {
|
16
|
-
"manufacturer": "innotek GmbH",
|
17
|
-
"product": {
|
18
|
-
"name": "VirtualBox",
|
19
|
-
"serial_number": "0"
|
20
|
-
}
|
21
|
-
},
|
22
|
-
"domain": "pdx.puppetlabs.demo",
|
23
|
-
"env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
|
24
|
-
"facterversion": "3.0.2",
|
25
|
-
"fqdn": "server2008r2a.pdx.puppetlabs.demo",
|
26
|
-
"hardwareisa": "x64",
|
27
|
-
"hardwaremodel": "x86_64",
|
28
|
-
"hostname": "server2008r2a",
|
29
|
-
"id": "SERVER2008R2A\\vagrant",
|
30
|
-
"identity": {
|
31
|
-
"user": "SERVER2008R2A\\vagrant"
|
32
|
-
},
|
33
|
-
"iis_version": "Get-ItemProperty : Cannot find path 'HKLM:\\SOFTWARE\\Microsoft\\InetStp\\' because it does not exist.\nAt line:1 char:18\n+ (Get-ItemProperty <<<< HKLM:\\SOFTWARE\\Microsoft\\InetStp\\ -Name VersionString).VersionString.SubString(8,3)\n + CategoryInfo : ObjectNotFound: (HKLM:\\SOFTWARE\\Microsoft\\InetStp\\:String) [Get-ItemProperty], ItemNotFo \n undException\n + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand\n \nYou cannot call a method on a null-valued expression.\nAt line:1 char:97\n+ (Get-ItemProperty HKLM:\\SOFTWARE\\Microsoft\\InetStp\\ -Name VersionString).VersionString.SubString <<<< (8,3)\n + CategoryInfo : InvalidOperation: (SubString:String) [], RuntimeException\n + FullyQualifiedErrorId : InvokeMethodOnNull\n \n",
|
34
|
-
"interfaces": "Local Area Connection 2,Local Area Connection",
|
35
|
-
"ipaddress": "10.20.1.101",
|
36
|
-
"ipaddress6": "fe80::2c34:c353:1aaa:a872%13",
|
37
|
-
"ipaddress6_Local Area Connection": "fe80::50f8:86eb:f103:75b%12",
|
38
|
-
"ipaddress6_Local Area Connection 2": "fe80::2c34:c353:1aaa:a872%13",
|
39
|
-
"ipaddress_Local Area Connection": "10.0.2.15",
|
40
|
-
"ipaddress_Local Area Connection 2": "10.20.1.101",
|
41
|
-
"is_admin": true,
|
42
|
-
"is_pe": false,
|
43
|
-
"is_virtual": true,
|
44
|
-
"kernel": "windows",
|
45
|
-
"kernelmajversion": "6.1",
|
46
|
-
"kernelrelease": "6.1.7600",
|
47
|
-
"kernelversion": "6.1.7600",
|
48
|
-
"macaddress": "08:00:27:7B:C7:40",
|
49
|
-
"macaddress_Local Area Connection": "08:00:27:AB:52:FB",
|
50
|
-
"macaddress_Local Area Connection 2": "08:00:27:7B:C7:40",
|
51
|
-
"manufacturer": "innotek GmbH",
|
52
|
-
"memory": {
|
53
|
-
"system": {
|
54
|
-
"available": "448.14 MiB",
|
55
|
-
"available_bytes": 469909504,
|
56
|
-
"capacity": "56.22%",
|
57
|
-
"total": "1023.55 MiB",
|
58
|
-
"total_bytes": 1073274880,
|
59
|
-
"used": "575.41 MiB",
|
60
|
-
"used_bytes": 603365376
|
61
|
-
}
|
62
|
-
},
|
63
|
-
"memoryfree": "448.14 MiB",
|
64
|
-
"memoryfree_mb": 448.140625,
|
65
|
-
"memorysize": "1023.55 MiB",
|
66
|
-
"memorysize_mb": 1023.5546875,
|
67
|
-
"mtu_Local Area Connection": 1500,
|
68
|
-
"mtu_Local Area Connection 2": 1500,
|
69
|
-
"mysql_server_id": 8583088,
|
70
|
-
"netmask": "255.255.255.0",
|
71
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
72
|
-
"netmask6_Local Area Connection": "ffff:ffff:ffff:ffff::",
|
73
|
-
"netmask6_Local Area Connection 2": "ffff:ffff:ffff:ffff::",
|
74
|
-
"netmask_Local Area Connection": "255.255.255.0",
|
75
|
-
"netmask_Local Area Connection 2": "255.255.255.0",
|
76
|
-
"network": "10.20.1.0",
|
77
|
-
"network6": "fe80::%13",
|
78
|
-
"network6_Local Area Connection": "fe80::%12",
|
79
|
-
"network6_Local Area Connection 2": "fe80::%13",
|
80
|
-
"network_Local Area Connection": "10.0.2.0",
|
81
|
-
"network_Local Area Connection 2": "10.20.1.0",
|
82
|
-
"networking": {
|
83
|
-
"domain": "pdx.puppetlabs.demo",
|
84
|
-
"fqdn": "server2008r2a.pdx.puppetlabs.demo",
|
85
|
-
"hostname": "server2008r2a",
|
86
|
-
"interfaces": {
|
87
|
-
"Local Area Connection": {
|
88
|
-
"dhcp": "10.0.2.2",
|
89
|
-
"ip": "10.0.2.15",
|
90
|
-
"ip6": "fe80::50f8:86eb:f103:75b%12",
|
91
|
-
"mac": "08:00:27:AB:52:FB",
|
92
|
-
"mtu": 1500,
|
93
|
-
"netmask": "255.255.255.0",
|
94
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
95
|
-
"network": "10.0.2.0",
|
96
|
-
"network6": "fe80::%12"
|
97
|
-
},
|
98
|
-
"Local Area Connection 2": {
|
99
|
-
"ip": "10.20.1.101",
|
100
|
-
"ip6": "fe80::2c34:c353:1aaa:a872%13",
|
101
|
-
"mac": "08:00:27:7B:C7:40",
|
102
|
-
"mtu": 1500,
|
103
|
-
"netmask": "255.255.255.0",
|
104
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
105
|
-
"network": "10.20.1.0",
|
106
|
-
"network6": "fe80::%13"
|
107
|
-
}
|
108
|
-
},
|
109
|
-
"ip": "10.20.1.101",
|
110
|
-
"ip6": "fe80::2c34:c353:1aaa:a872%13",
|
111
|
-
"mac": "08:00:27:7B:C7:40",
|
112
|
-
"mtu": 1500,
|
113
|
-
"netmask": "255.255.255.0",
|
114
|
-
"netmask6": "ffff:ffff:ffff:ffff::",
|
115
|
-
"network": "10.20.1.0",
|
116
|
-
"network6": "fe80::%13"
|
117
|
-
},
|
118
|
-
"operatingsystem": "windows",
|
119
|
-
"operatingsystemmajrelease": "2008 R2",
|
120
|
-
"operatingsystemrelease": "2008 R2",
|
121
|
-
"os": {
|
122
|
-
"architecture": "x64",
|
123
|
-
"family": "windows",
|
124
|
-
"hardware": "x86_64",
|
125
|
-
"name": "windows",
|
126
|
-
"release": {
|
127
|
-
"full": "2008 R2",
|
128
|
-
"major": "2008 R2"
|
129
|
-
},
|
130
|
-
"windows": {
|
131
|
-
"system32": "C:\\Windows\\system32"
|
132
|
-
}
|
133
|
-
},
|
134
|
-
"osfamily": "windows",
|
135
|
-
"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;%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\ProgramData\\chocolatey\\bin;",
|
136
|
-
"pe_concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/pe_concat",
|
137
|
-
"physicalprocessorcount": 1,
|
138
|
-
"platform_symlink_writable": false,
|
139
|
-
"processor0": "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz",
|
140
|
-
"processorcount": 1,
|
141
|
-
"processors": {
|
142
|
-
"count": 1,
|
143
|
-
"isa": "x64",
|
144
|
-
"models": [
|
145
|
-
"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"
|
146
|
-
],
|
147
|
-
"physicalcount": 1
|
148
|
-
},
|
149
|
-
"productname": "VirtualBox",
|
150
|
-
"puppet_files_dir_present": false,
|
151
|
-
"puppet_vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
|
152
|
-
"puppetversion": "4.2.1",
|
153
|
-
"ruby": {
|
154
|
-
"platform": "x64-mingw32",
|
155
|
-
"sitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
156
|
-
"version": "2.1.6"
|
157
|
-
},
|
158
|
-
"rubyplatform": "x64-mingw32",
|
159
|
-
"rubysitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
160
|
-
"rubyversion": "2.1.6",
|
161
|
-
"serialnumber": "0",
|
162
|
-
"staging_http_get": "powershell",
|
163
|
-
"staging_windir": "C:\\ProgramData\\staging",
|
164
|
-
"system32": "C:\\Windows\\system32",
|
165
|
-
"choco_install_path": "C:\\ProgramData\\chocolatey",
|
166
|
-
"system_uptime": {
|
167
|
-
"days": 0,
|
168
|
-
"hours": 0,
|
169
|
-
"seconds": 266,
|
170
|
-
"uptime": "0:04 hours"
|
171
|
-
},
|
172
|
-
"timezone": "Pacific Daylight Time",
|
173
|
-
"uptime": "0:04 hours",
|
174
|
-
"uptime_days": 0,
|
175
|
-
"uptime_hours": 0,
|
176
|
-
"uptime_seconds": 266,
|
177
|
-
"virtual": "virtualbox",
|
178
|
-
"clientcert": "server2008r2a.pdx.puppetlabs.demo",
|
179
|
-
"clientversion": "4.2.1",
|
180
|
-
"clientnoop": false
|
181
|
-
},
|
182
|
-
"timestamp": "2015-09-27T23:37:41.296750000-07:00",
|
183
|
-
"expiration": "2015-09-28T00:07:41.296750000-07:00"
|
184
|
-
}
|
1
|
+
{
|
2
|
+
"name": "server2008r2a.pdx.puppetlabs.demo",
|
3
|
+
"values": {
|
4
|
+
"agent_specified_environment": "production",
|
5
|
+
"aio_agent_build": "1.2.2",
|
6
|
+
"aio_agent_version": "1.2.2",
|
7
|
+
"architecture": "x64",
|
8
|
+
"common_appdata": "C:\\ProgramData",
|
9
|
+
"concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/concat",
|
10
|
+
"custom_auth_conf": "false",
|
11
|
+
"datacenter": "portland",
|
12
|
+
"dhcp_servers": {
|
13
|
+
"Local Area Connection": "10.0.2.2"
|
14
|
+
},
|
15
|
+
"dmi": {
|
16
|
+
"manufacturer": "innotek GmbH",
|
17
|
+
"product": {
|
18
|
+
"name": "VirtualBox",
|
19
|
+
"serial_number": "0"
|
20
|
+
}
|
21
|
+
},
|
22
|
+
"domain": "pdx.puppetlabs.demo",
|
23
|
+
"env_windows_installdir": "C:\\Program Files\\Puppet Labs\\Puppet",
|
24
|
+
"facterversion": "3.0.2",
|
25
|
+
"fqdn": "server2008r2a.pdx.puppetlabs.demo",
|
26
|
+
"hardwareisa": "x64",
|
27
|
+
"hardwaremodel": "x86_64",
|
28
|
+
"hostname": "server2008r2a",
|
29
|
+
"id": "SERVER2008R2A\\vagrant",
|
30
|
+
"identity": {
|
31
|
+
"user": "SERVER2008R2A\\vagrant"
|
32
|
+
},
|
33
|
+
"iis_version": "Get-ItemProperty : Cannot find path 'HKLM:\\SOFTWARE\\Microsoft\\InetStp\\' because it does not exist.\nAt line:1 char:18\n+ (Get-ItemProperty <<<< HKLM:\\SOFTWARE\\Microsoft\\InetStp\\ -Name VersionString).VersionString.SubString(8,3)\n + CategoryInfo : ObjectNotFound: (HKLM:\\SOFTWARE\\Microsoft\\InetStp\\:String) [Get-ItemProperty], ItemNotFo \n undException\n + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemPropertyCommand\n \nYou cannot call a method on a null-valued expression.\nAt line:1 char:97\n+ (Get-ItemProperty HKLM:\\SOFTWARE\\Microsoft\\InetStp\\ -Name VersionString).VersionString.SubString <<<< (8,3)\n + CategoryInfo : InvalidOperation: (SubString:String) [], RuntimeException\n + FullyQualifiedErrorId : InvokeMethodOnNull\n \n",
|
34
|
+
"interfaces": "Local Area Connection 2,Local Area Connection",
|
35
|
+
"ipaddress": "10.20.1.101",
|
36
|
+
"ipaddress6": "fe80::2c34:c353:1aaa:a872%13",
|
37
|
+
"ipaddress6_Local Area Connection": "fe80::50f8:86eb:f103:75b%12",
|
38
|
+
"ipaddress6_Local Area Connection 2": "fe80::2c34:c353:1aaa:a872%13",
|
39
|
+
"ipaddress_Local Area Connection": "10.0.2.15",
|
40
|
+
"ipaddress_Local Area Connection 2": "10.20.1.101",
|
41
|
+
"is_admin": true,
|
42
|
+
"is_pe": false,
|
43
|
+
"is_virtual": true,
|
44
|
+
"kernel": "windows",
|
45
|
+
"kernelmajversion": "6.1",
|
46
|
+
"kernelrelease": "6.1.7600",
|
47
|
+
"kernelversion": "6.1.7600",
|
48
|
+
"macaddress": "08:00:27:7B:C7:40",
|
49
|
+
"macaddress_Local Area Connection": "08:00:27:AB:52:FB",
|
50
|
+
"macaddress_Local Area Connection 2": "08:00:27:7B:C7:40",
|
51
|
+
"manufacturer": "innotek GmbH",
|
52
|
+
"memory": {
|
53
|
+
"system": {
|
54
|
+
"available": "448.14 MiB",
|
55
|
+
"available_bytes": 469909504,
|
56
|
+
"capacity": "56.22%",
|
57
|
+
"total": "1023.55 MiB",
|
58
|
+
"total_bytes": 1073274880,
|
59
|
+
"used": "575.41 MiB",
|
60
|
+
"used_bytes": 603365376
|
61
|
+
}
|
62
|
+
},
|
63
|
+
"memoryfree": "448.14 MiB",
|
64
|
+
"memoryfree_mb": 448.140625,
|
65
|
+
"memorysize": "1023.55 MiB",
|
66
|
+
"memorysize_mb": 1023.5546875,
|
67
|
+
"mtu_Local Area Connection": 1500,
|
68
|
+
"mtu_Local Area Connection 2": 1500,
|
69
|
+
"mysql_server_id": 8583088,
|
70
|
+
"netmask": "255.255.255.0",
|
71
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
72
|
+
"netmask6_Local Area Connection": "ffff:ffff:ffff:ffff::",
|
73
|
+
"netmask6_Local Area Connection 2": "ffff:ffff:ffff:ffff::",
|
74
|
+
"netmask_Local Area Connection": "255.255.255.0",
|
75
|
+
"netmask_Local Area Connection 2": "255.255.255.0",
|
76
|
+
"network": "10.20.1.0",
|
77
|
+
"network6": "fe80::%13",
|
78
|
+
"network6_Local Area Connection": "fe80::%12",
|
79
|
+
"network6_Local Area Connection 2": "fe80::%13",
|
80
|
+
"network_Local Area Connection": "10.0.2.0",
|
81
|
+
"network_Local Area Connection 2": "10.20.1.0",
|
82
|
+
"networking": {
|
83
|
+
"domain": "pdx.puppetlabs.demo",
|
84
|
+
"fqdn": "server2008r2a.pdx.puppetlabs.demo",
|
85
|
+
"hostname": "server2008r2a",
|
86
|
+
"interfaces": {
|
87
|
+
"Local Area Connection": {
|
88
|
+
"dhcp": "10.0.2.2",
|
89
|
+
"ip": "10.0.2.15",
|
90
|
+
"ip6": "fe80::50f8:86eb:f103:75b%12",
|
91
|
+
"mac": "08:00:27:AB:52:FB",
|
92
|
+
"mtu": 1500,
|
93
|
+
"netmask": "255.255.255.0",
|
94
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
95
|
+
"network": "10.0.2.0",
|
96
|
+
"network6": "fe80::%12"
|
97
|
+
},
|
98
|
+
"Local Area Connection 2": {
|
99
|
+
"ip": "10.20.1.101",
|
100
|
+
"ip6": "fe80::2c34:c353:1aaa:a872%13",
|
101
|
+
"mac": "08:00:27:7B:C7:40",
|
102
|
+
"mtu": 1500,
|
103
|
+
"netmask": "255.255.255.0",
|
104
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
105
|
+
"network": "10.20.1.0",
|
106
|
+
"network6": "fe80::%13"
|
107
|
+
}
|
108
|
+
},
|
109
|
+
"ip": "10.20.1.101",
|
110
|
+
"ip6": "fe80::2c34:c353:1aaa:a872%13",
|
111
|
+
"mac": "08:00:27:7B:C7:40",
|
112
|
+
"mtu": 1500,
|
113
|
+
"netmask": "255.255.255.0",
|
114
|
+
"netmask6": "ffff:ffff:ffff:ffff::",
|
115
|
+
"network": "10.20.1.0",
|
116
|
+
"network6": "fe80::%13"
|
117
|
+
},
|
118
|
+
"operatingsystem": "windows",
|
119
|
+
"operatingsystemmajrelease": "2008 R2",
|
120
|
+
"operatingsystemrelease": "2008 R2",
|
121
|
+
"os": {
|
122
|
+
"architecture": "x64",
|
123
|
+
"family": "windows",
|
124
|
+
"hardware": "x86_64",
|
125
|
+
"name": "windows",
|
126
|
+
"release": {
|
127
|
+
"full": "2008 R2",
|
128
|
+
"major": "2008 R2"
|
129
|
+
},
|
130
|
+
"windows": {
|
131
|
+
"system32": "C:\\Windows\\system32"
|
132
|
+
}
|
133
|
+
},
|
134
|
+
"osfamily": "windows",
|
135
|
+
"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;%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Puppet Labs\\Puppet\\bin;C:\\ProgramData\\chocolatey\\bin;",
|
136
|
+
"pe_concat_basedir": "C:/ProgramData/PuppetLabs/puppet/cache/pe_concat",
|
137
|
+
"physicalprocessorcount": 1,
|
138
|
+
"platform_symlink_writable": false,
|
139
|
+
"processor0": "Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz",
|
140
|
+
"processorcount": 1,
|
141
|
+
"processors": {
|
142
|
+
"count": 1,
|
143
|
+
"isa": "x64",
|
144
|
+
"models": [
|
145
|
+
"Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz"
|
146
|
+
],
|
147
|
+
"physicalcount": 1
|
148
|
+
},
|
149
|
+
"productname": "VirtualBox",
|
150
|
+
"puppet_files_dir_present": false,
|
151
|
+
"puppet_vardir": "C:/ProgramData/PuppetLabs/puppet/cache",
|
152
|
+
"puppetversion": "4.2.1",
|
153
|
+
"ruby": {
|
154
|
+
"platform": "x64-mingw32",
|
155
|
+
"sitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
156
|
+
"version": "2.1.6"
|
157
|
+
},
|
158
|
+
"rubyplatform": "x64-mingw32",
|
159
|
+
"rubysitedir": "C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/site_ruby/2.1.0",
|
160
|
+
"rubyversion": "2.1.6",
|
161
|
+
"serialnumber": "0",
|
162
|
+
"staging_http_get": "powershell",
|
163
|
+
"staging_windir": "C:\\ProgramData\\staging",
|
164
|
+
"system32": "C:\\Windows\\system32",
|
165
|
+
"choco_install_path": "C:\\ProgramData\\chocolatey",
|
166
|
+
"system_uptime": {
|
167
|
+
"days": 0,
|
168
|
+
"hours": 0,
|
169
|
+
"seconds": 266,
|
170
|
+
"uptime": "0:04 hours"
|
171
|
+
},
|
172
|
+
"timezone": "Pacific Daylight Time",
|
173
|
+
"uptime": "0:04 hours",
|
174
|
+
"uptime_days": 0,
|
175
|
+
"uptime_hours": 0,
|
176
|
+
"uptime_seconds": 266,
|
177
|
+
"virtual": "virtualbox",
|
178
|
+
"clientcert": "server2008r2a.pdx.puppetlabs.demo",
|
179
|
+
"clientversion": "4.2.1",
|
180
|
+
"clientnoop": false
|
181
|
+
},
|
182
|
+
"timestamp": "2015-09-27T23:37:41.296750000-07:00",
|
183
|
+
"expiration": "2015-09-28T00:07:41.296750000-07:00"
|
184
|
+
}
|