Issue #11663 has been updated by Mike Carlson.
Hey Daniel, here is the requested output for each command and fact (for the
tests)
## blockdevices ##
<pre>
"blockdevices = Facter::Util::Resolution.exec('/sbin/sysctl -n
kern.disks').split(' ')":
</pre>
<pre>
# /sbin/sysctl -n kern.disks
ad10,ad12,ad4,ad6,ad8,da0,da1
# facter blockdevices
ad10,ad12,ad4,ad6,ad8,da0,da1
</pre>
## blockdevice_device_size ##
<pre>
Facter.add("blockdevice_#{device}_size".to_sym) do
setcode { Facter::Util::Resolution.exec("/usr/sbin/diskinfo #{device} |
/usr/bin/awk '{print $3}'") }
end
</pre>
### ATA Device ###
<pre>
# /usr/sbin/diskinfo ad10
ad10 512 1000204886016 1953525168 0 0 1938021 16
63
# /usr/sbin/diskinfo ad10 | /usr/bin/awk '{print $3}'
1000204886016
# facter blockdevice_ad10_size
1000204886016
</pre>
### SCSI Device ###
<pre>
# /usr/sbin/diskinfo da0
da0 512 2000398934016 3907029168 0 0 243201 255
63
# /usr/sbin/diskinfo da0 | /usr/bin/awk '{print $3}'
2000398934016
facter blockdevice_da0_size
2000398934016
</pre>
## blockdevice_device_model ##
<pre>
Facter.add("blockdevice_#{device}_model".to_sym) do
if device =~ /ad/
setcode { Facter::Util::Resolution.exec("/sbin/atacontrol list |
/usr/bin/awk -F '<|>' '/#{device}/ { print $2 }'") }
elsif device =~ /mfi/
setcode { "MFI Local Disk" }
else
setcode { Facter::Util::Resolution.exec("/sbin/camcontrol inquiry
#{device} -D | /usr/bin/awk -F '<|>' '{ print $2}'" ) }
end
</pre>
### ATA Device ###
<pre>
# /sbin/atacontrol list
ATA channel 2:
Master: ad4 <ST2000DL003-9VT166/CC98> SATA revision 2.x
Slave: no device present
ATA channel 3:
Master: ad6 <WDC WD1003FBYX-01Y7B0/01.01V01> SATA revision 2.x
Slave: no device present
ATA channel 4:
Master: ad8 <WDC WD1003FBYX-01Y7B0/01.01V01> SATA revision 2.x
Slave: no device present
ATA channel 5:
Master: ad10 <WDC WD1003FBYX-01Y7B0/01.01V01> SATA revision 2.x
Slave: no device present
ATA channel 6:
Master: ad12 <WDC WD1003FBYX-01Y7B0/01.01V01> SATA revision 2.x
Slave: no device present
ATA channel 7:
Master: no device present
Slave: no device present
# /sbin/atacontrol list | /usr/bin/awk -F '<|>' '/ad10/ { print $2}'
WDC WD1003FBYX-01Y7B0/01.01V01
# facter blockdevice_ad10_model
WDC WD1003FBYX-01Y7B0/01.01V01
</pre>
### SCSI Device ###
<pre>
# /sbin/camcontrol inquiry da0
pass0: <Initio INIC-1610P 1.01> Fixed Direct Access SCSI-4 device
pass0: Serial Number 0010101E40000000
pass0: 40.000MB/s transfers
# /sbin/camcontrol inquiry da0 -D | /usr/bin/awk -F '<|>' '{ print $2}'
Initio INIC-1610P 1.01
# facter blockdevice_da0_model
Initio INIC-1610P 1.01
</pre>
----------------------------------------
Feature #11663: Add FreeBSD support to blockdevice fact(s)
https://projects.puppetlabs.com/issues/11663
Author: Mike Carlson
Status: Tests Insufficient
Priority: Normal
Assignee: Mike Carlson
Category: library
Target version:
Keywords:
Branch: https://github.com/puppetlabs/facter/pull/137
Affected Facter version:
I've added to the blockdevice.rb lib in master to support FreeBSD.
You can see the code on a fork I made of facter on
[github](https://github.com/m87carlson/facter/commit/f5f93ad28383f6a245ee89a8accd07b842bd1717)
Here is an example on a FreeBSD Xen guest:
<pre>
blockdevices => ad0,da0,da1
blockdevice_ad0_model => QEMU HARDDISK/0.10.2
blockdevice_ad0_size => 4194304000
blockdevice_da0_model => QEMU QEMU HARDDISK 0.10
blockdevice_da0_size => 42991616000
blockdevice_da1_model => QEMU QEMU HARDDISK 0.10
blockdevice_da1_size => 10695475200
</pre>
And here is a physical system with a combination of USB drives:
<pre>
blockdevices => ad10,ad12,ad4,ad6,ad8,da0,da1
blockdevice_ad10_model => WDC WD1003FBYX-01Y7B0/01.01V01
blockdevice_ad10_size => 1000204886016
blockdevice_ad12_model => WDC WD1003FBYX-01Y7B0/01.01V01
blockdevice_ad12_size => 1000204886016
blockdevice_ad4_model => ST2000DL003-9VT166/CC98
blockdevice_ad4_size => 2000398934016
blockdevice_ad6_model => WDC WD1003FBYX-01Y7B0/01.01V01
blockdevice_ad6_size => 1000204886016
blockdevice_ad8_model => WDC WD1003FBYX-01Y7B0/01.01V01
blockdevice_ad8_size => 1000204886016
blockdevice_da0_model => WD Ext HDD 1021 2021
blockdevice_da0_size => 3000590401536
blockdevice_da1_model => Initio INIC-1610P 1.01
blockdevice_da1_size => 2000398934016
</pre>
size is reported in bytes.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.