facter 2.1.0 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of facter might be problematic. Click here for more details.
- data/COMMITTERS.md +25 -34
- data/CONTRIBUTING.md +27 -5
- data/README.md +32 -0
- data/ext/build_defaults.yaml +1 -1
- data/ext/debian/control +3 -2
- data/ext/osx/file_mapping.yaml +5 -0
- data/ext/redhat/facter.spec.erb +4 -1
- data/lib/facter/Cfkey.rb +2 -2
- data/lib/facter/architecture.rb +2 -2
- data/lib/facter/augeasversion.rb +2 -2
- data/lib/facter/blockdevices.rb +12 -12
- data/lib/facter/dhcp_servers.rb +4 -4
- data/lib/facter/domain.rb +4 -4
- data/lib/facter/ec2.rb +17 -0
- data/lib/facter/ec2/rest.rb +2 -2
- data/lib/facter/facterversion.rb +2 -2
- data/lib/facter/filesystems.rb +10 -3
- data/lib/facter/fqdn.rb +1 -1
- data/lib/facter/gid.rb +16 -0
- data/lib/facter/hardwareisa.rb +3 -3
- data/lib/facter/hardwaremodel.rb +3 -3
- data/lib/facter/hostname.rb +1 -1
- data/lib/facter/id.rb +4 -4
- data/lib/facter/interfaces.rb +3 -0
- data/lib/facter/ipaddress6.rb +9 -9
- data/lib/facter/kernel.rb +2 -2
- data/lib/facter/kernelmajversion.rb +2 -2
- data/lib/facter/kernelrelease.rb +4 -4
- data/lib/facter/kernelversion.rb +3 -3
- data/lib/facter/ldom.rb +11 -0
- data/lib/facter/lsbdistcodename.rb +8 -4
- data/lib/facter/lsbdistdescription.rb +6 -10
- data/lib/facter/lsbdistid.rb +8 -4
- data/lib/facter/lsbdistrelease.rb +8 -4
- data/lib/facter/lsbmajdistrelease.rb +7 -12
- data/lib/facter/lsbminordistrelease.rb +22 -0
- data/lib/facter/lsbrelease.rb +8 -4
- data/lib/facter/macaddress.rb +1 -0
- data/lib/facter/macosx.rb +1 -1
- data/lib/facter/manufacturer.rb +3 -3
- data/lib/facter/memory.rb +8 -8
- data/lib/facter/netmask.rb +2 -1
- data/lib/facter/network.rb +3 -3
- data/lib/facter/operatingsystem.rb +9 -126
- data/lib/facter/operatingsystem/base.rb +61 -0
- data/lib/facter/operatingsystem/cumuluslinux.rb +27 -0
- data/lib/facter/operatingsystem/implementation.rb +30 -0
- data/lib/facter/operatingsystem/linux.rb +467 -0
- data/lib/facter/operatingsystem/sunos.rb +54 -0
- data/lib/facter/operatingsystem/vmkernel.rb +11 -0
- data/lib/facter/operatingsystem/windows.rb +37 -0
- data/lib/facter/operatingsystemmajrelease.rb +14 -33
- data/lib/facter/operatingsystemrelease.rb +14 -235
- data/lib/facter/os.rb +69 -0
- data/lib/facter/osfamily.rb +4 -23
- data/lib/facter/partitions.rb +4 -3
- data/lib/facter/path.rb +2 -2
- data/lib/facter/physicalprocessorcount.rb +10 -74
- data/lib/facter/processor.rb +13 -129
- data/lib/facter/processors.rb +60 -0
- data/lib/facter/processors/os.rb +234 -0
- data/lib/facter/ps.rb +5 -4
- data/lib/facter/puppetversion.rb +1 -1
- data/lib/facter/rackspace.rb +34 -0
- data/lib/facter/rubysitedir.rb +3 -0
- data/lib/facter/rubyversion.rb +2 -2
- data/lib/facter/selinux.rb +57 -2
- data/lib/facter/ssh.rb +1 -0
- data/lib/facter/system_uptime.rb +42 -0
- data/lib/facter/timezone.rb +1 -1
- data/lib/facter/uptime.rb +5 -23
- data/lib/facter/uptime_days.rb +4 -6
- data/lib/facter/uptime_hours.rb +4 -6
- data/lib/facter/uptime_seconds.rb +5 -9
- data/lib/facter/util/formatter.rb +1 -1
- data/lib/facter/util/manufacturer.rb +1 -1
- data/lib/facter/util/partitions.rb +3 -1
- data/lib/facter/util/partitions/linux.rb +1 -1
- data/lib/facter/util/partitions/openbsd.rb +35 -0
- data/lib/facter/util/uptime.rb +4 -3
- data/lib/facter/util/virtual.rb +3 -1
- data/lib/facter/util/xendomains.rb +12 -3
- data/lib/facter/version.rb +1 -1
- data/lib/facter/virtual.rb +24 -23
- data/lib/facter/vlans.rb +1 -1
- data/lib/facter/xendomains.rb +1 -1
- data/lib/facter/zfs_version.rb +6 -2
- data/lib/facter/zones.rb +6 -5
- data/lib/facter/zpool_version.rb +1 -1
- data/spec/fixtures/cpuinfo/amd64dual-grep +2 -0
- data/spec/fixtures/cpuinfo/amd64twentyfour-grep +24 -0
- data/spec/fixtures/cpuinfo/two_multicore-grep +4 -0
- data/spec/fixtures/cpuinfo/two_singlecore-grep +2 -0
- data/spec/fixtures/unit/processors/os/darwin-system-profiler +287 -0
- data/spec/fixtures/unit/zfs_version/zfs_new +61 -0
- data/spec/fixtures/unit/zfs_version/zfs_old +43 -0
- data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +13 -0
- data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +48 -0
- data/spec/unit/ec2/rest_spec.rb +6 -6
- data/spec/unit/gid_spec.rb +22 -0
- data/spec/unit/hardwaremodel_spec.rb +2 -0
- data/spec/unit/lsbdistcodename_spec.rb +22 -17
- data/spec/unit/lsbdistdescription_spec.rb +22 -17
- data/spec/unit/lsbdistid_spec.rb +23 -18
- data/spec/unit/lsbdistrelease_spec.rb +22 -17
- data/spec/unit/lsbmajdistrelease_spec.rb +23 -6
- data/spec/unit/lsbminordistrelease_spec.rb +31 -0
- data/spec/unit/lsbrelease_spec.rb +22 -17
- data/spec/unit/macaddress_spec.rb +3 -0
- data/spec/unit/operatingsystem/base_spec.rb +76 -0
- data/spec/unit/operatingsystem/cumuluslinux_spec.rb +40 -0
- data/spec/unit/operatingsystem/implementation_spec.rb +49 -0
- data/spec/unit/operatingsystem/linux_spec.rb +538 -0
- data/spec/unit/operatingsystem/sunos_spec.rb +144 -0
- data/spec/unit/operatingsystem/vmkernel_spec.rb +13 -0
- data/spec/unit/operatingsystem/windows_spec.rb +68 -0
- data/spec/unit/operatingsystem_spec.rb +10 -153
- data/spec/unit/operatingsystemmajrelease_spec.rb +14 -31
- data/spec/unit/operatingsystemrelease_spec.rb +13 -229
- data/spec/unit/os_spec.rb +131 -0
- data/spec/unit/osfamily_spec.rb +9 -54
- data/spec/unit/partitions_spec.rb +41 -3
- data/spec/unit/physicalprocessorcount_spec.rb +6 -78
- data/spec/unit/processor_spec.rb +18 -381
- data/spec/unit/processors/os_spec.rb +446 -0
- data/spec/unit/processors_spec.rb +203 -0
- data/spec/unit/rackspace_spec.rb +40 -0
- data/spec/unit/system_uptime_spec.rb +80 -0
- data/spec/unit/util/formatter_spec.rb +5 -0
- data/spec/unit/util/macaddress_spec.rb +2 -0
- data/spec/unit/util/processor_spec.rb +120 -0
- data/spec/unit/util/uptime_spec.rb +3 -4
- data/spec/unit/util/virtual_spec.rb +8 -0
- data/spec/unit/util/xendomains_spec.rb +54 -9
- data/spec/unit/virtual_spec.rb +8 -1
- data/spec/unit/zfs_version_spec.rb +20 -8
- data/spec/unit/zpool_version_spec.rb +5 -0
- metadata +652 -589
- checksums.yaml +0 -7
data/COMMITTERS.md
CHANGED
@@ -5,7 +5,7 @@ We would like to make it easier for community members to contribute to facter
|
|
5
5
|
using pull requests, even if it makes the task of reviewing and committing
|
6
6
|
these changes a little harder. Pull requests are only ever based on a single
|
7
7
|
branch, however, we maintain more than one active branch. As a result
|
8
|
-
contributors should target their changes at the
|
8
|
+
contributors should target their changes at the master branch. This makes the
|
9
9
|
process of contributing a little easier for the contributor since they don't
|
10
10
|
need to concern themselves with the question, "What branch do I base my changes
|
11
11
|
on?" This is already called out in the [CONTRIBUTING.md](http://goo.gl/XRH2J).
|
@@ -37,7 +37,8 @@ making the decision what base branch to merge the change set into.
|
|
37
37
|
|
38
38
|
**base branch** - A branch in Git that contains an active history of changes
|
39
39
|
and will eventually be released using semantic version guidelines. The branch
|
40
|
-
named master will always exist as a base branch.
|
40
|
+
named master will always exist as a base branch. All other base branches will
|
41
|
+
be associated with a specific released version of facter, e.g. 1.6.x and 1.7.x.
|
41
42
|
|
42
43
|
Committer Guide
|
43
44
|
====
|
@@ -96,7 +97,7 @@ branch:
|
|
96
97
|
documentation being kept up to date?
|
97
98
|
* Does the change set include clean code? (software code that is formatted
|
98
99
|
correctly and in an organized manner so that another coder can easily read
|
99
|
-
or modify it.) HINT: `git diff --check`
|
100
|
+
or modify it.) HINT: `git diff master --check`
|
100
101
|
* Does the change set conform to the contributing guide?
|
101
102
|
|
102
103
|
|
@@ -112,9 +113,9 @@ paying attention to our automated build tools.
|
|
112
113
|
* Watch the build until your changes have gone through green
|
113
114
|
* Update the ticket status and target version. The target version field in
|
114
115
|
our issue tracker should be updated to be the next release of facter. For
|
115
|
-
example, if the most recent release of facter is
|
116
|
-
backwards compatible change set into
|
117
|
-
be
|
116
|
+
example, if the most recent release of facter is 1.6.17 and you merge a
|
117
|
+
backwards compatible change set into master, then the target version should
|
118
|
+
be 1.7.0 in the issue tracker.)
|
118
119
|
* Ensure the pull request is closed (Hint: amend your merge commit to contain
|
119
120
|
the string `closes #123` where 123 is the pull request number.
|
120
121
|
|
@@ -125,11 +126,11 @@ This section helps a committer rebase a contribution onto an earlier base
|
|
125
126
|
branch, then merge into the base branch and up through all active base
|
126
127
|
branches.
|
127
128
|
|
128
|
-
Suppose a contributor submits a pull request based on
|
129
|
-
fixes a bug reported against facter
|
129
|
+
Suppose a contributor submits a pull request based on master. The change set
|
130
|
+
fixes a bug reported against facter 1.7.1 which is the most recently released
|
130
131
|
version of facter.
|
131
132
|
|
132
|
-
In this example the committer should rebase the change set onto the
|
133
|
+
In this example the committer should rebase the change set onto the 1.7.x
|
133
134
|
branch since this is a bug rather than new functionality.
|
134
135
|
|
135
136
|
First, the committer pulls down the branch using the `hub` gem. This tool
|
@@ -140,55 +141,45 @@ branch to track the remote branch.
|
|
140
141
|
Branch jeffmccune-fix_foo_error set up to track remote branch fix_foo_error from jeffmccune.
|
141
142
|
Switched to a new branch 'jeffmccune-fix_foo_error'
|
142
143
|
|
143
|
-
At this point the topic branch is a descendant of
|
144
|
-
descend from
|
144
|
+
At this point the topic branch is a descendant of master, but we want it to
|
145
|
+
descend from 1.7.x. The committer creates a new branch then re-bases the
|
145
146
|
change set:
|
146
147
|
|
147
|
-
$ git branch bug/
|
148
|
-
$ git rebase --onto
|
148
|
+
$ git branch bug/1.7.x/fix_foo_error
|
149
|
+
$ git rebase --onto 1.7.x master bug/1.7.x/fix_foo_error
|
149
150
|
First, rewinding head to replay your work on top of it...
|
150
|
-
Applying: (#23456) Fix FooError that always bites users in
|
151
|
+
Applying: (#23456) Fix FooError that always bites users in 1.7.1
|
151
152
|
|
152
153
|
The `git rebase` command may be interpreted as, "First, check out the branch
|
153
|
-
named `bug/
|
154
|
-
based on `
|
154
|
+
named `bug/1.7.x/fix_foo_error`, then take the changes that were previously
|
155
|
+
based on `master` and re-base them onto `1.7.x`.
|
155
156
|
|
156
157
|
Now that we have a topic branch containing the change set based on the correct
|
157
158
|
release branch, the committer merges in:
|
158
159
|
|
159
|
-
$ git checkout
|
160
|
-
Switched to branch '
|
161
|
-
$ git merge --no-ff --log bug/
|
160
|
+
$ git checkout 1.7.x
|
161
|
+
Switched to branch '1.7.x'
|
162
|
+
$ git merge --no-ff --log bug/1.7.x/fix_foo_error
|
162
163
|
Merge made by the 'recursive' strategy.
|
163
164
|
foo | 0
|
164
165
|
1 file changed, 0 insertions(+), 0 deletions(-)
|
165
166
|
create mode 100644 foo
|
166
167
|
|
167
|
-
Once merged into the first base branch, the committer merges up
|
168
|
-
|
169
|
-
$ git checkout facter-2
|
170
|
-
Switched to branch 'facter-2'
|
171
|
-
$ git merge --no-ff --log stable
|
172
|
-
Merge made by the 'recursive' strategy.
|
173
|
-
foo | 0
|
174
|
-
1 file changed, 0 insertions(+), 0 deletions(-)
|
175
|
-
create mode 100644 foo
|
176
|
-
|
177
|
-
And then merges up to master:
|
168
|
+
Once merged into the first base branch, the committer merges up:
|
178
169
|
|
179
170
|
$ git checkout master
|
180
171
|
Switched to branch 'master'
|
181
|
-
$ git merge --no-ff --log
|
172
|
+
$ git merge --no-ff --log 1.7.x
|
182
173
|
Merge made by the 'recursive' strategy.
|
183
174
|
foo | 0
|
184
175
|
1 file changed, 0 insertions(+), 0 deletions(-)
|
185
176
|
create mode 100644 foo
|
186
177
|
|
187
178
|
Once the change set has been merged "in and up." the committer pushes. (Note,
|
188
|
-
the checklist should be complete at this point.) Note that the
|
189
|
-
|
179
|
+
the checklist should be complete at this point.) Note that both the 1.7.x and
|
180
|
+
master branches are being pushed at the same time.
|
190
181
|
|
191
|
-
$ git push puppetlabs master:master
|
182
|
+
$ git push puppetlabs master:master 1.7.x:1.7.x
|
192
183
|
|
193
184
|
That's it! The committer then updates the pull request, updates the issue in
|
194
185
|
our issue tracker, and keeps an eye on the build status.
|
data/CONTRIBUTING.md
CHANGED
@@ -19,13 +19,13 @@ top of things.
|
|
19
19
|
## Making Changes
|
20
20
|
|
21
21
|
* Create a topic branch from where you want to base your work.
|
22
|
-
* This is usually the
|
22
|
+
* This is usually the master branch.
|
23
23
|
* Only target release branches if you are certain your fix must be on that
|
24
24
|
branch.
|
25
|
-
* To quickly create a topic branch based on
|
26
|
-
fix/
|
27
|
-
checkout fix/
|
28
|
-
`
|
25
|
+
* To quickly create a topic branch based on master; `git branch
|
26
|
+
fix/master/my_contribution master` then checkout the new branch with `git
|
27
|
+
checkout fix/master/my_contribution`. Please avoid working directly on the
|
28
|
+
`master` branch.
|
29
29
|
* Make commits of logical units.
|
30
30
|
* Check for unnecessary whitespace with `git diff --check` before committing.
|
31
31
|
* Make sure your commit messages are in the proper format.
|
@@ -47,6 +47,28 @@ top of things.
|
|
47
47
|
* Make sure you have added the necessary tests for your changes.
|
48
48
|
* Run _all_ the tests to assure nothing else was accidentally broken.
|
49
49
|
|
50
|
+
## Making Trivial Changes
|
51
|
+
|
52
|
+
### Documentation
|
53
|
+
|
54
|
+
For changes of a trivial nature to comments and documentation, it is not
|
55
|
+
always necessary to create a new ticket in Jira. In this case, it is
|
56
|
+
appropriate to start the first line of a commit with '(doc)' instead of
|
57
|
+
a ticket number.
|
58
|
+
|
59
|
+
````
|
60
|
+
(doc) Add documentation commit example to CONTRIBUTING
|
61
|
+
|
62
|
+
There is no example for contributing a documentation commit
|
63
|
+
to the Facter repository. This is a problem because the contributor
|
64
|
+
is left to assume how a commit of this nature may appear.
|
65
|
+
|
66
|
+
The first line is a real life imperative statement with '(doc)' in
|
67
|
+
place of what would have been the ticket number in a
|
68
|
+
non-documentation related commit. The body describes the nature of
|
69
|
+
the new documentation or comments added.
|
70
|
+
````
|
71
|
+
|
50
72
|
## Submitting Changes
|
51
73
|
|
52
74
|
* Sign the [Contributor License Agreement](http://links.puppetlabs.com/cla).
|
data/README.md
CHANGED
@@ -7,6 +7,13 @@ like the output of `uname`, public ssh keys, the number of processors, etc.
|
|
7
7
|
|
8
8
|
See `bin/facter` for an example of the interface.
|
9
9
|
|
10
|
+
Installation
|
11
|
+
------------
|
12
|
+
|
13
|
+
Generally, you need the following things installed:
|
14
|
+
|
15
|
+
* A supported Ruby version. Ruby 1.8.7, 1.9.3, and 2.0.0 (at least p195) are fully supported.
|
16
|
+
|
10
17
|
Running Facter
|
11
18
|
--------------
|
12
19
|
|
@@ -31,3 +38,28 @@ Further Information
|
|
31
38
|
-------------------
|
32
39
|
|
33
40
|
See http://www.puppetlabs.com/puppet/related-projects/facter for more details.
|
41
|
+
|
42
|
+
Support
|
43
|
+
-------
|
44
|
+
Please log tickets and issues at our [JIRA tracker](http://tickets.puppetlabs.com). A [mailing
|
45
|
+
list](https://groups.google.com/forum/?fromgroups#!forum/puppet-users) is
|
46
|
+
available for asking questions and getting help from others. In addition there
|
47
|
+
is an active #puppet channel on Freenode.
|
48
|
+
|
49
|
+
We use semantic version numbers for our releases, and recommend that users stay
|
50
|
+
as up-to-date as possible by upgrading to patch releases and minor releases as
|
51
|
+
they become available.
|
52
|
+
|
53
|
+
Bugfixes and ongoing development will occur in minor releases for the current
|
54
|
+
major version. Security fixes will be backported to a previous major version on
|
55
|
+
a best-effort basis, until the previous major version is no longer maintained.
|
56
|
+
|
57
|
+
|
58
|
+
For example: If a security vulnerability is discovered in Facter 2.1.0, we
|
59
|
+
would fix it in the 2 series, most likely as 2.1.1. Maintainers would then make
|
60
|
+
a best effort to backport that fix onto the latest Facter 1.7 release.
|
61
|
+
|
62
|
+
Long-term support, including security patches and bug fixes, is available for
|
63
|
+
commercial customers. Please see the following page for more details:
|
64
|
+
|
65
|
+
[Puppet Enterprise Support Lifecycle](http://puppetlabs.com/misc/puppet-enterprise-lifecycle)
|
data/ext/build_defaults.yaml
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
packaging_url: 'git://github.com/puppetlabs/packaging.git --branch=master'
|
3
3
|
packaging_repo: 'packaging'
|
4
4
|
default_cow: 'base-squeeze-i386.cow'
|
5
|
-
cows: 'base-lucid-i386.cow base-lucid-amd64.cow base-precise-i386.cow base-precise-amd64.cow base-
|
5
|
+
cows: 'base-lucid-i386.cow base-lucid-amd64.cow base-precise-i386.cow base-precise-amd64.cow base-squeeze-i386.cow base-squeeze-amd64.cow base-stable-i386.cow base-stable-amd64.cow base-testing-i386.cow base-testing-amd64.cow base-trusty-i386.cow base-trusty-amd64.cow base-wheezy-i386.cow base-wheezy-amd64.cow'
|
6
6
|
pbuild_conf: '/etc/pbuilderrc'
|
7
7
|
packager: 'puppetlabs'
|
8
8
|
gpg_name: 'info@puppetlabs.com'
|
data/ext/debian/control
CHANGED
@@ -7,8 +7,9 @@ Standards-Version: 3.9.1
|
|
7
7
|
Homepage: http://www.puppetlabs.com
|
8
8
|
|
9
9
|
Package: facter
|
10
|
-
Architecture:
|
11
|
-
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter,
|
10
|
+
Architecture: all
|
11
|
+
Depends: ${shlibs:Depends}, ${misc:Depends}, ruby | ruby-interpreter, virt-what, pciutils
|
12
|
+
Recommends: lsb-release, dmidecode
|
12
13
|
Description: Ruby module for collecting simple facts about a host operating system
|
13
14
|
Some of the facts are preconfigured, such as the hostname and the operating
|
14
15
|
system. Additional facts can be added through simple Ruby scripts.
|
data/ext/osx/file_mapping.yaml
CHANGED
data/ext/redhat/facter.spec.erb
CHANGED
@@ -32,7 +32,10 @@ Requires: dmidecode
|
|
32
32
|
Requires: pciutils
|
33
33
|
%endif
|
34
34
|
Requires: virt-what
|
35
|
-
|
35
|
+
# In Fedora 19+ or RHEL 7+ net-tools is required for interface facts
|
36
|
+
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
|
37
|
+
Requires: net-tools
|
38
|
+
%endif
|
36
39
|
BuildRequires: ruby >= 1.8.7
|
37
40
|
|
38
41
|
# In Fedora 17+ or RHEL 7+ ruby-rdoc is called rubygem-rdoc
|
data/lib/facter/Cfkey.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
# Fact:
|
1
|
+
# Fact: cfkey
|
2
2
|
#
|
3
3
|
# Purpose: Return the public key(s) for CFengine.
|
4
4
|
#
|
5
5
|
# Resolution:
|
6
|
-
# Tries each file of standard localhost.pub
|
6
|
+
# Tries each file of standard `localhost.pub` and `cfkey.pub` locations,
|
7
7
|
# checks if they appear to be a public key, and then join them all together.
|
8
8
|
#
|
9
9
|
# Caveats:
|
data/lib/facter/architecture.rb
CHANGED
@@ -4,8 +4,8 @@
|
|
4
4
|
# Return the CPU hardware architecture.
|
5
5
|
#
|
6
6
|
# Resolution:
|
7
|
-
# On non-AIX IBM, OpenBSD, Linux and Debian's kfreebsd, use the hardwaremodel fact.
|
8
|
-
# On AIX get the arch value from lsattr -El proc0 -a type
|
7
|
+
# On non-AIX IBM, OpenBSD, Linux, and Debian's kfreebsd, use the hardwaremodel fact.
|
8
|
+
# On AIX get the arch value from `lsattr -El proc0 -a type`.
|
9
9
|
# Gentoo and Debian call "x86_86" "amd64".
|
10
10
|
# Gentoo also calls "i386" "x86".
|
11
11
|
#
|
data/lib/facter/augeasversion.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# Fact: augeasversion
|
2
2
|
#
|
3
|
-
# Purpose: Report the version of the Augeas library
|
3
|
+
# Purpose: Report the version of the Augeas library.
|
4
4
|
#
|
5
5
|
# Resolution:
|
6
|
-
# Loads ruby-augeas and reports the value of
|
6
|
+
# Loads ruby-augeas and reports the value of `/augeas/version`, the version of
|
7
7
|
# the underlying Augeas library.
|
8
8
|
#
|
9
9
|
# Caveats:
|
data/lib/facter/blockdevices.rb
CHANGED
@@ -1,50 +1,50 @@
|
|
1
1
|
# Fact: blockdevice_<devicename>_size
|
2
2
|
#
|
3
3
|
# Purpose:
|
4
|
-
# Return the size of a block device in bytes
|
4
|
+
# Return the size of a block device in bytes.
|
5
5
|
#
|
6
6
|
# Resolution:
|
7
|
-
# Parse the contents of
|
7
|
+
# Parse the contents of `/sys/block/<device>/size` to receive the size (multiplying by 512 to correct for blocks-to-bytes).
|
8
8
|
#
|
9
9
|
# Caveats:
|
10
|
-
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs
|
10
|
+
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs.
|
11
11
|
#
|
12
12
|
|
13
13
|
# Fact: blockdevice_<devicename>_vendor
|
14
14
|
#
|
15
15
|
# Purpose:
|
16
|
-
# Return the vendor name of block devices attached to the system
|
16
|
+
# Return the vendor name of block devices attached to the system.
|
17
17
|
#
|
18
18
|
# Resolution:
|
19
|
-
# Parse the contents of
|
19
|
+
# Parse the contents of `/sys/block/<device>/device/vendor` to retrieve the vendor for a device.
|
20
20
|
#
|
21
21
|
# Caveats:
|
22
|
-
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs
|
22
|
+
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs.
|
23
23
|
#
|
24
24
|
|
25
25
|
# Fact: blockdevice_<devicename>_model
|
26
26
|
#
|
27
27
|
# Purpose:
|
28
|
-
# Return the model name of block devices attached to the system
|
28
|
+
# Return the model name of block devices attached to the system.
|
29
29
|
#
|
30
30
|
# Resolution:
|
31
|
-
# Parse the contents of
|
31
|
+
# Parse the contents of `/sys/block/<device>/device/model` to retrieve the model name/number for a device.
|
32
32
|
#
|
33
33
|
# Caveats:
|
34
|
-
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs
|
34
|
+
# Only supports Linux 2.6+ at this time, due to the reliance on sysfs.
|
35
35
|
#
|
36
36
|
|
37
37
|
|
38
38
|
# Fact: blockdevices
|
39
39
|
#
|
40
40
|
# Purpose:
|
41
|
-
# Return a comma
|
41
|
+
# Return a comma separated list of block devices.
|
42
42
|
#
|
43
43
|
# Resolution:
|
44
|
-
# Retrieve the block devices that were identified and iterated over in the creation of the blockdevice_ facts
|
44
|
+
# Retrieve the block devices that were identified and iterated over in the creation of the blockdevice_ facts.
|
45
45
|
#
|
46
46
|
# Caveats:
|
47
|
-
# Block devices must have been identified using sysfs information
|
47
|
+
# Block devices must have been identified using sysfs information.
|
48
48
|
#
|
49
49
|
|
50
50
|
# Author: Jason Gill <jasongill@gmail.com>
|
data/lib/facter/dhcp_servers.rb
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
#
|
3
3
|
# Purpose:
|
4
4
|
# Return the DHCP server addresses for all interfaces as a hash.
|
5
|
-
# If the interface that is the default gateway is
|
6
|
-
# will also be a
|
5
|
+
# If the interface that is the default gateway is DHCP assigned, there
|
6
|
+
# will also be a `"system"` entry in the hash.
|
7
7
|
#
|
8
8
|
# Resolution:
|
9
|
-
# Parses the output of nmcli to find the DHCP server for the interface if available
|
9
|
+
# Parses the output of `nmcli` to find the DHCP server for the interface if available.
|
10
10
|
#
|
11
11
|
# Caveats:
|
12
|
-
# Requires nmcli to be available and the interface must use network-manager.
|
12
|
+
# Requires `nmcli` to be available and the interface must use network-manager.
|
13
13
|
#
|
14
14
|
|
15
15
|
require 'facter'
|
data/lib/facter/domain.rb
CHANGED
@@ -5,12 +5,12 @@
|
|
5
5
|
#
|
6
6
|
# Resolution:
|
7
7
|
# On UNIX (excluding Darwin), first try and use the hostname fact,
|
8
|
-
# which uses the hostname system command, and then parse the output
|
8
|
+
# which uses the `hostname` system command, and then parse the output
|
9
9
|
# of that.
|
10
|
-
# Failing that it tries the dnsdomainname system command.
|
11
|
-
# Failing that it uses
|
10
|
+
# Failing that, it tries the `dnsdomainname` system command.
|
11
|
+
# Failing that, it uses `/etc/resolv.conf` and takes the domain from that, or as
|
12
12
|
# a final resort, the search from that.
|
13
|
-
# Otherwise returns nil
|
13
|
+
# Otherwise returns `nil`.
|
14
14
|
#
|
15
15
|
# On Windows uses the win32ole gem and winmgmts to get the DNSDomain value
|
16
16
|
# from the Win32 networking stack.
|
data/lib/facter/ec2.rb
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
# Fact: ec2_<EC2 INSTANCE DATA>
|
2
|
+
#
|
3
|
+
# Purpose:
|
4
|
+
# Returns info retrieved in bulk from the EC2 API. The names of these facts
|
5
|
+
# should be self explanatory, and they are otherwise undocumented. The full
|
6
|
+
# list of these facts is: ec2_ami_id, ec2_ami_launch_index,
|
7
|
+
# ec2_ami_manifest_path, ec2_block_device_mapping_ami,
|
8
|
+
# ec2_block_device_mapping_ephemeral0, ec2_block_device_mapping_root,
|
9
|
+
# ec2_hostname, ec2_instance_id, ec2_instance_type, ec2_kernel_id,
|
10
|
+
# ec2_local_hostname, ec2_local_ipv4, ec2_placement_availability_zone,
|
11
|
+
# ec2_profile, ec2_public_hostname, ec2_public_ipv4,
|
12
|
+
# ec2_public_keys_0_openssh_key, ec2_reservation_id, and ec2_security_groups.
|
13
|
+
#
|
14
|
+
# Resolution:
|
15
|
+
# Directly queries the EC2 metadata endpoint.
|
16
|
+
#
|
17
|
+
|
1
18
|
require 'facter/ec2/rest'
|
2
19
|
|
3
20
|
Facter.define_fact(:ec2_metadata) do
|
data/lib/facter/ec2/rest.rb
CHANGED
@@ -21,7 +21,7 @@ module Facter
|
|
21
21
|
|
22
22
|
begin
|
23
23
|
Timeout.timeout(timeout) do
|
24
|
-
open(@baseurl).read
|
24
|
+
open(@baseurl, :proxy => nil).read
|
25
25
|
end
|
26
26
|
able_to_connect = true
|
27
27
|
rescue OpenURI::HTTPError => e
|
@@ -78,7 +78,7 @@ module Facter
|
|
78
78
|
# @return [Array, NilClass]
|
79
79
|
def fetch_endpoint(path)
|
80
80
|
uri = @baseurl + path
|
81
|
-
body = open(uri).read
|
81
|
+
body = open(uri, :proxy => nil).read
|
82
82
|
parse_results(body)
|
83
83
|
rescue OpenURI::HTTPError => e
|
84
84
|
if e.message.match /404 Not Found/i
|
data/lib/facter/facterversion.rb
CHANGED