litmus_paper 0.3.1 → 0.3.2
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.
- data/lib/litmus_paper/app.rb +2 -1
- data/lib/litmus_paper/dependency/haproxy_backends.rb +4 -0
- data/lib/litmus_paper/metric/available_memory.rb +2 -2
- data/lib/litmus_paper/version.rb +1 -1
- data/lib/litmus_paper.rb +1 -0
- data/spec/litmus_paper/app_spec.rb +7 -0
- data/spec/litmus_paper/dependency/haproxy_backends_spec.rb +7 -0
- data/spec/litmus_paper/metric/available_memory_spec.rb +18 -0
- metadata +15 -15
data/lib/litmus_paper/app.rb
CHANGED
@@ -17,6 +17,10 @@ module LitmusPaper
|
|
17
17
|
available.size > 0
|
18
18
|
end
|
19
19
|
|
20
|
+
def to_s
|
21
|
+
"Dependency::HaproxyBackends(#{@domain_socket}, #{@cluster})"
|
22
|
+
end
|
23
|
+
|
20
24
|
def _servers_in(stats, cluster)
|
21
25
|
stats.select do |line|
|
22
26
|
line['# pxname'] == cluster && !["FRONTEND", "BACKEND"].include?(line["svname"])
|
@@ -20,12 +20,12 @@ module LitmusPaper
|
|
20
20
|
return @memory_total unless @memory_total.nil?
|
21
21
|
|
22
22
|
size, scale = @facter.value('memorytotal').split(' ')
|
23
|
-
@memory_total = size.
|
23
|
+
@memory_total = (size.to_f * MULTIPLIER[scale]).to_i
|
24
24
|
end
|
25
25
|
|
26
26
|
def memory_free
|
27
27
|
size, scale = @facter.value('memoryfree').split(' ')
|
28
|
-
size.
|
28
|
+
(size.to_f * MULTIPLIER[scale]).to_i
|
29
29
|
end
|
30
30
|
|
31
31
|
def to_s
|
data/lib/litmus_paper/version.rb
CHANGED
data/lib/litmus_paper.rb
CHANGED
@@ -16,6 +16,13 @@ describe LitmusPaper::App do
|
|
16
16
|
last_response.body.should include('test')
|
17
17
|
last_response.body.should include('another')
|
18
18
|
end
|
19
|
+
|
20
|
+
it "includes the litmus version" do
|
21
|
+
get "/"
|
22
|
+
|
23
|
+
last_response.status.should == 200
|
24
|
+
last_response.body.should include("Litmus Paper #{LitmusPaper::VERSION}")
|
25
|
+
end
|
19
26
|
end
|
20
27
|
|
21
28
|
describe "POST /force/*" do
|
@@ -20,5 +20,12 @@ describe LitmusPaper::Dependency::HaproxyBackends do
|
|
20
20
|
haproxy.should_not be_available
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
describe "to_s" do
|
25
|
+
it "includes the socket file and the cluster" do
|
26
|
+
haproxy = LitmusPaper::Dependency::HaproxyBackends.new("/tmp/stub-haproxy-stats", "orange_cluster")
|
27
|
+
haproxy.to_s.should == 'Dependency::HaproxyBackends(/tmp/stub-haproxy-stats, orange_cluster)'
|
28
|
+
end
|
29
|
+
end
|
23
30
|
end
|
24
31
|
|
@@ -8,12 +8,24 @@ describe LitmusPaper::Metric::AvailableMemory do
|
|
8
8
|
memory.current_health.should == 25
|
9
9
|
end
|
10
10
|
|
11
|
+
it "multiplies weight by memory available when handling floating point values" do
|
12
|
+
facter = StubFacter.new({"memorytotal" => "2.0 GB", "memoryfree" => "1.8 GB"})
|
13
|
+
memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
|
14
|
+
memory.current_health.should == 44
|
15
|
+
end
|
16
|
+
|
11
17
|
describe "#memory_total" do
|
12
18
|
it "is a positive integer" do
|
13
19
|
metric = LitmusPaper::Metric::AvailableMemory.new(50)
|
14
20
|
metric.memory_total.should > 1_000
|
15
21
|
end
|
16
22
|
|
23
|
+
it "handles floating point values properly" do
|
24
|
+
facter = StubFacter.new("memorytotal" => "1.80 GB")
|
25
|
+
memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
|
26
|
+
memory.memory_total.should == 1932735283
|
27
|
+
end
|
28
|
+
|
17
29
|
it "is cached" do
|
18
30
|
Facter.should_receive(:value).once.and_return("10 MB")
|
19
31
|
metric = LitmusPaper::Metric::AvailableMemory.new(50)
|
@@ -28,6 +40,12 @@ describe LitmusPaper::Metric::AvailableMemory do
|
|
28
40
|
metric = LitmusPaper::Metric::AvailableMemory.new(50)
|
29
41
|
metric.memory_free.should > 100
|
30
42
|
end
|
43
|
+
|
44
|
+
it "handles floating point values properly" do
|
45
|
+
facter = StubFacter.new("memoryfree" => "1.80 GB")
|
46
|
+
memory = LitmusPaper::Metric::AvailableMemory.new(50, facter)
|
47
|
+
memory.memory_free.should == 1932735283
|
48
|
+
end
|
31
49
|
end
|
32
50
|
|
33
51
|
describe "#to_s" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: litmus_paper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-06-22 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
16
|
-
requirement: &
|
16
|
+
requirement: &70248649019060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.3.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70248649019060
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: facter
|
27
|
-
requirement: &
|
27
|
+
requirement: &70248649000380 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 1.6.7
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70248649000380
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: SyslogLogger
|
38
|
-
requirement: &
|
38
|
+
requirement: &70248648925460 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 1.4.1
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70248648925460
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70248644644480 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.9.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70248644644480
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: rack-test
|
60
|
-
requirement: &
|
60
|
+
requirement: &70248644537640 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 0.6.1
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70248644537640
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
|
-
requirement: &
|
71
|
+
requirement: &70248644543240 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 0.9.2.2
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70248644543240
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rake_commit
|
82
|
-
requirement: &
|
82
|
+
requirement: &70248644542440 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ~>
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
version: '0.13'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70248644542440
|
91
91
|
description: Backend health tester for HA Services
|
92
92
|
email:
|
93
93
|
- code@getbraintree.com
|