specinfra 2.43.3 → 2.43.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 95b470a3c79b70d4ad58ea8f7e7fc91b39479a7b
4
- data.tar.gz: 13898b2f4af620e05d1377fab1c1c65f0ab7945c
3
+ metadata.gz: 703f43204811bef2b8d6a652f6bff4884af76f35
4
+ data.tar.gz: 25566911bfc3b5053e8de83f5dfa915974c9d7d7
5
5
  SHA512:
6
- metadata.gz: e7a5dffb749f8d90fb700c3b01fb350b3baf07af22b51705758fe3b277884fa3107ac004541579176e8fcf97cded126934ba9f1d1643ef2cfdfacc2c006661f3
7
- data.tar.gz: 81ed9e06277284cacc36ab274c2fd8ceb20a18756b2027ed9549db5cd719c9373575535bcbbfde04e064c566bf8d560431e176b7367e0447abdec0674b520301
6
+ metadata.gz: d25a4b8f3518d8fb00bea86c135c0205a3921eebcc9fafe687eca9dd036a276a6c49265a5df849377ab78d6b36333576261c5678cfb42454a2f75df22c3f7687
7
+ data.tar.gz: a6ef7fca60dd9e51a3085ec50b3fa5b24e9f09c503a4258074c9b57fb9efb147099ae6ae0bf03d10b17d80629ba4b8f5e90d90cf8dc567ca84c53799cbe51261
@@ -121,7 +121,7 @@ module Specinfra
121
121
  abort "FAILED: couldn't execute command (ssh.channel.exec)" if !success
122
122
  channel.on_data do |ch, data|
123
123
  if data.match retry_prompt
124
- abort 'Wrong sudo password! Please confirm your password.'
124
+ abort "Wrong sudo password! Please confirm your password on #{get_config(:host)}."
125
125
  elsif data.match /^#{prompt}/
126
126
  channel.send_data "#{get_config(:sudo_password)}\n"
127
127
  else
@@ -27,5 +27,10 @@ class Specinfra::Command::Linux::Base::Inventory < Specinfra::Command::Base::Inv
27
27
  def get_kernel
28
28
  'uname -s -r'
29
29
  end
30
+
31
+ def get_block_device
32
+ block_device_dirs = '/sys/block/*/{size,removable,device/{model,rev,state,timeout,vendor},queue/rotational}'
33
+ "for f in $(ls #{block_device_dirs}); do echo -e \"${f}\t$(cat ${f})\"; done"
34
+ end
30
35
  end
31
36
  end
@@ -12,6 +12,7 @@ module Specinfra
12
12
  cpu
13
13
  virtualization
14
14
  kernel
15
+ block_device
15
16
  }
16
17
 
17
18
  include Enumerable
@@ -0,0 +1,35 @@
1
+ module Specinfra
2
+ class HostInventory
3
+ class BlockDevice < Base
4
+ # examples:
5
+ # /sys/block/sda/size 10000
6
+ # /sys/block/sr0/device/model CD-ROM
7
+ BLOCK_DEVICE_REGEX = %r|\A/sys/block/(\w+)/(\w+)(?:/(\w+))?\t(.+)\z|
8
+
9
+ def get
10
+ cmd = backend.command.get(:get_inventory_block_device)
11
+ ret = backend.run_command(cmd)
12
+ if ret.exit_status == 0
13
+ parse(ret.stdout)
14
+ else
15
+ nil
16
+ end
17
+ end
18
+ def parse(ret)
19
+ block_device = {}
20
+ ret.each_line do |line|
21
+ line.strip!
22
+ if m = line.match(BLOCK_DEVICE_REGEX)
23
+ device = m[1].to_s
24
+ check = m[3].nil? ? m[2].to_s : m[3].to_s
25
+ value = m[4].to_s
26
+
27
+ block_device[device] = {} if block_device[device].nil?
28
+ block_device[device][check] = value
29
+ end
30
+ end
31
+ block_device
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.43.3"
2
+ VERSION = "2.43.4"
3
3
  end
@@ -13,3 +13,8 @@ end
13
13
  describe get_command(:get_inventory_kernel) do
14
14
  it { should eq 'uname -s -r' }
15
15
  end
16
+
17
+ describe get_command(:get_inventory_block_device) do
18
+ block_device_dirs = '/sys/block/*/{size,removable,device/{model,rev,state,timeout,vendor},queue/rotational}'
19
+ it { should eq "for f in $(ls #{block_device_dirs}); do echo -e \"${f}\t$(cat ${f})\"; done" }
20
+ end
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+
3
+ ## Output from:
4
+ #
5
+ # for f in $(ls /sys/block/*/{size,removable,device/{model,rev,state,timeout,vendor},queue/rotational}); do
6
+ # echo -e "${f}\t$(cat ${f})"
7
+ # done
8
+ str = <<-EOH
9
+ /sys/block/loop0/queue/rotational 1
10
+ /sys/block/loop0/removable 0
11
+ /sys/block/loop0/size 0
12
+ /sys/block/sda/device/model HARDDISK
13
+ /sys/block/sda/device/rev 1.0
14
+ /sys/block/sda/device/state running
15
+ /sys/block/sda/device/timeout 30
16
+ /sys/block/sda/device/vendor ATA
17
+ /sys/block/sda/queue/rotational 1
18
+ /sys/block/sda/removable 0
19
+ /sys/block/sda/size 40960000
20
+ EOH
21
+
22
+ describe Specinfra::HostInventory::BlockDevice do
23
+ let(:host_inventory) { nil }
24
+ describe 'Example of CentOS 6.6 Kernel version 2.6.32-504.23.4.el6.i686' do
25
+ ret = Specinfra::HostInventory::BlockDevice.new(host_inventory).parse(str)
26
+ example "/sys/block/loop0" do
27
+ expect(ret["loop0"]).to include(
28
+ "rotational" => "1",
29
+ "removable" => "0",
30
+ "size" => "0"
31
+ )
32
+ end
33
+ example "/sys/block/sda" do
34
+ expect(ret["sda"]).to include(
35
+ "model" => "HARDDISK",
36
+ "rev" => "1.0",
37
+ "state" => "running",
38
+ "timeout" => "30",
39
+ "vendor" => "ATA",
40
+ "rotational" => "1",
41
+ "removable" => "0",
42
+ "size" => "40960000"
43
+ )
44
+ end
45
+ end
46
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: specinfra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.43.3
4
+ version: 2.43.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gosuke Miyashita
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-08 00:00:00.000000000 Z
11
+ date: 2015-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-scp
@@ -437,6 +437,7 @@ files:
437
437
  - lib/specinfra/helper/set.rb
438
438
  - lib/specinfra/host_inventory.rb
439
439
  - lib/specinfra/host_inventory/base.rb
440
+ - lib/specinfra/host_inventory/block_device.rb
440
441
  - lib/specinfra/host_inventory/cpu.rb
441
442
  - lib/specinfra/host_inventory/domain.rb
442
443
  - lib/specinfra/host_inventory/ec2.rb
@@ -517,6 +518,7 @@ files:
517
518
  - spec/host_inventory/aix/filesystem_spec.rb
518
519
  - spec/host_inventory/darwin/filesystem_spec.rb
519
520
  - spec/host_inventory/freebsd/filesystem_spec.rb
521
+ - spec/host_inventory/linux/block_device_spec.rb
520
522
  - spec/host_inventory/linux/cpu_spec.rb
521
523
  - spec/host_inventory/linux/filesystem_spec.rb
522
524
  - spec/host_inventory/linux/kernel_spec.rb
@@ -617,6 +619,7 @@ test_files:
617
619
  - spec/host_inventory/aix/filesystem_spec.rb
618
620
  - spec/host_inventory/darwin/filesystem_spec.rb
619
621
  - spec/host_inventory/freebsd/filesystem_spec.rb
622
+ - spec/host_inventory/linux/block_device_spec.rb
620
623
  - spec/host_inventory/linux/cpu_spec.rb
621
624
  - spec/host_inventory/linux/filesystem_spec.rb
622
625
  - spec/host_inventory/linux/kernel_spec.rb
@@ -626,3 +629,4 @@ test_files:
626
629
  - spec/host_inventory/openbsd/filesystem_spec.rb
627
630
  - spec/host_inventory/solaris/filesystem_spec.rb
628
631
  - spec/spec_helper.rb
632
+ has_rdoc: