spec/unit/plugins/linux/mdadm_spec.rb in ohai-14.2.0 vs spec/unit/plugins/linux/mdadm_spec.rb in ohai-14.3.0
- old
+ new
@@ -18,50 +18,50 @@
require_relative "../../../spec_helper.rb"
describe Ohai::System, "Linux Mdadm Plugin" do
before(:each) do
- @md0 = <<-MD
-/dev/md0:
- Version : 1.2
- Creation Time : Thu Jan 30 03:11:40 2014
- Raid Level : raid10
- Array Size : 2929893888 (2794.16 GiB 3000.21 GB)
- Used Dev Size : 976631296 (931.39 GiB 1000.07 GB)
- Raid Devices : 6
- Total Devices : 6
- Persistence : Superblock is persistent
+ @md0 = <<~MD
+ /dev/md0:
+ Version : 1.2
+ Creation Time : Thu Jan 30 03:11:40 2014
+ Raid Level : raid10
+ Array Size : 2929893888 (2794.16 GiB 3000.21 GB)
+ Used Dev Size : 976631296 (931.39 GiB 1000.07 GB)
+ Raid Devices : 6
+ Total Devices : 6
+ Persistence : Superblock is persistent
- Update Time : Tue May 6 23:30:32 2014
- State : clean
- Active Devices : 6
-Working Devices : 6
- Failed Devices : 0
- Spare Devices : 0
+ Update Time : Tue May 6 23:30:32 2014
+ State : clean
+ Active Devices : 6
+ Working Devices : 6
+ Failed Devices : 0
+ Spare Devices : 0
- Layout : near=2
- Chunk Size : 256K
+ Layout : near=2
+ Chunk Size : 256K
- Name : host.therealtimsmith.com:3 (local to host host.therealtimsmith.com)
- UUID : 5ed74d5b:70bfe21d:8cd57792:c1e13d65
- Events : 155
+ Name : host.therealtimsmith.com:3 (local to host host.therealtimsmith.com)
+ UUID : 5ed74d5b:70bfe21d:8cd57792:c1e13d65
+ Events : 155
- Number Major Minor RaidDevice State
- 0 8 32 0 active sync /dev/sdc
- 1 8 48 1 active sync /dev/sdd
- 2 8 64 2 active sync /dev/sde
- 3 8 80 3 active sync /dev/sdf
- 4 8 96 4 active sync /dev/sdg
- 5 8 112 5 active sync /dev/sdh
+ Number Major Minor RaidDevice State
+ 0 8 32 0 active sync /dev/sdc
+ 1 8 48 1 active sync /dev/sdd
+ 2 8 64 2 active sync /dev/sde
+ 3 8 80 3 active sync /dev/sdf
+ 4 8 96 4 active sync /dev/sdg
+ 5 8 112 5 active sync /dev/sdh
MD
@plugin = get_plugin("linux/mdadm")
allow(@plugin).to receive(:collect_os).and_return(:linux)
@double_file = double("/proc/mdstat")
- allow(@double_file).to receive(:each).
- and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]").
- and_yield("md0 : active raid10 sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]").
- and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
+ allow(@double_file).to receive(:each)
+ .and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]")
+ .and_yield("md0 : active raid10 sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]")
+ .and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
allow(File).to receive(:open).with("/proc/mdstat").and_return(@double_file)
allow(File).to receive(:exist?).with("/proc/mdstat").and_return(true)
allow(@plugin).to receive(:shell_out).with("mdadm --detail /dev/md0").and_return(mock_shell_out(0, @md0, ""))
end
@@ -89,11 +89,11 @@
it "should detect raid metadata level" do
@plugin.run
expect(@plugin[:mdadm][:md0][:version]).to eq(1.2)
end
- device_counts = { :raid => 6, :total => 6, :active => 6, :working => 6, :failed => 0, :spare => 0 }
+ device_counts = { raid: 6, total: 6, active: 6, working: 6, failed: 0, spare: 0 }
device_counts.each_pair do |item, expected_value|
it "should detect device count of \"#{item}\"" do
@plugin.run
expect(@plugin[:mdadm][:md0][:device_counts][item]).to eq(expected_value)
end
@@ -106,62 +106,62 @@
)
end
it "should detect member devices even if there are multi-digit numbers" do
new_mdstat = double("/proc/mdstat2")
- allow(new_mdstat).to receive(:each).
- and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]").
- and_yield("md0 : active raid10 sdj[2010] sdi[99] sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]").
- and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
+ allow(new_mdstat).to receive(:each)
+ .and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]")
+ .and_yield("md0 : active raid10 sdj[2010] sdi[99] sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]")
+ .and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
allow(File).to receive(:open).with("/proc/mdstat").and_return(new_mdstat)
@plugin.run
expect(@plugin[:mdadm][:md0][:members].sort).to eq(
%w{sdc sdd sde sdf sdg sdh sdi sdj}
)
end
it "should detect member devices even if mdstat has extra entries" do
new_mdstat = double("/proc/mdstat2")
- allow(new_mdstat).to receive(:each).
- and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]").
- and_yield("md0 : active (somecraphere) <morestuff> raid10 sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]").
- and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
+ allow(new_mdstat).to receive(:each)
+ .and_yield("Personalities : [raid1] [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid10]")
+ .and_yield("md0 : active (somecraphere) <morestuff> raid10 sdh[5] sdg[4] sdf[3] sde[2] sdd[1] sdc[0]")
+ .and_yield(" 2929893888 blocks super 1.2 256K chunks 2 near-copies [6/6] [UUUUUU]")
allow(File).to receive(:open).with("/proc/mdstat").and_return(new_mdstat)
@plugin.run
expect(@plugin[:mdadm][:md0][:members].sort).to eq(
%w{sdc sdd sde sdf sdg sdh}
)
end
it "should accurately report inactive arrays" do
new_mdstat = double("/proc/mdstat_inactive")
- allow(new_mdstat).to receive(:each).
- and_yield("Personalities :").
- and_yield("md0 : inactive nvme2n1p3[2](S)")
+ allow(new_mdstat).to receive(:each)
+ .and_yield("Personalities :")
+ .and_yield("md0 : inactive nvme2n1p3[2](S)")
allow(File).to receive(:open).with("/proc/mdstat").and_return(new_mdstat)
@plugin.run
expect(@plugin[:mdadm][:md0][:spares]).to eq(%w{nvme2n1p3})
end
it "should report journal devices" do
new_mdstat = double("/proc/mdstat_journal")
- allow(new_mdstat).to receive(:each).
- and_yield("Personalies : [raid6]").
- and_yield("md0 : active (somecraphere) <morestuff raid6 sdbc1[7] sdd1[6] sde1[5] sdd1[4] sde1[3] sdf1[2] sdg1[1] nvme2n1p3[0](J)")
+ allow(new_mdstat).to receive(:each)
+ .and_yield("Personalies : [raid6]")
+ .and_yield("md0 : active (somecraphere) <morestuff raid6 sdbc1[7] sdd1[6] sde1[5] sdd1[4] sde1[3] sdf1[2] sdg1[1] nvme2n1p3[0](J)")
allow(File).to receive(:open).with("/proc/mdstat").and_return(new_mdstat)
@plugin.run
expect(@plugin[:mdadm][:md0][:journal]).to eq("nvme2n1p3")
end
it "should report spare devices" do
new_mdstat = double("/proc/mdstat_spare")
- allow(new_mdstat).to receive(:each).
- and_yield("Personalies : [raid6]").
- and_yield("md0 : active (somecraphere) <morestuff raid6 sdbc1[7] sdd1[6] sde1[5] sdd1[4] sde1[3] sdf1[2] sdg1[1] sdh1[0](S)")
+ allow(new_mdstat).to receive(:each)
+ .and_yield("Personalies : [raid6]")
+ .and_yield("md0 : active (somecraphere) <morestuff raid6 sdbc1[7] sdd1[6] sde1[5] sdd1[4] sde1[3] sdf1[2] sdg1[1] sdh1[0](S)")
allow(File).to receive(:open).with("/proc/mdstat").and_return(new_mdstat)
@plugin.run
expect(@plugin[:mdadm][:md0][:spares]).to eq(%w{sdh1})
end