stacksondeck 1.0.10 → 1.1.0
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 +4 -4
- data/VERSION +1 -1
- data/lib/stacksondeck/app.rb +13 -37
- data/lib/stacksondeck/main.rb +0 -6
- data/stacksondeck.gemspec +0 -1
- metadata +2 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c09d73c08333b89973b871c50d3933a4da3949b6
|
4
|
+
data.tar.gz: 102aae303c3c519a4ce4d0d80e3938d51cb6cefc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a4ff31882cdcbf2107f8ecdc1df8b4b16339acbf51df03f2fd3f5aad1d067058dc270dd23b574789585ba0730b1c8e2f9c8bd3bdf6de7d985ecbd5d03018793
|
7
|
+
data.tar.gz: abb759e8f7e115d544e3a4439cbcd96fd7d5fe802a5344aa23fa531cf51243b5527309cbc658ae107040e606b54b4adab55977849936ac26414637ac40c87825
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0
|
1
|
+
1.1.0
|
data/lib/stacksondeck/app.rb
CHANGED
@@ -4,7 +4,6 @@ require 'json'
|
|
4
4
|
require 'yaml'
|
5
5
|
|
6
6
|
require 'ridley'
|
7
|
-
require 'daybreak'
|
8
7
|
require 'sinatra/base'
|
9
8
|
|
10
9
|
require_relative 'metadata'
|
@@ -14,8 +13,12 @@ module StacksOnDeck
|
|
14
13
|
class App < Sinatra::Application
|
15
14
|
|
16
15
|
def self.run!
|
17
|
-
|
18
|
-
|
16
|
+
log.info event: 'run!'
|
17
|
+
|
18
|
+
@@db = {}
|
19
|
+
@@db_dump = ''
|
20
|
+
@@last_modified = Time.now
|
21
|
+
@@ridley = Ridley.from_chef_config settings.config
|
19
22
|
|
20
23
|
Thread.new do
|
21
24
|
loop do
|
@@ -40,38 +43,16 @@ module StacksOnDeck
|
|
40
43
|
end
|
41
44
|
|
42
45
|
|
43
|
-
private
|
44
46
|
|
47
|
+
private
|
45
48
|
|
46
49
|
def self.log ; settings.log end
|
47
50
|
|
48
51
|
def log ; settings.log end
|
49
52
|
|
50
53
|
|
51
|
-
def self.db_copy
|
52
|
-
@@db.lock do
|
53
|
-
@@db.inject({}) { |h,(k,v)| h[k] = v ; h }
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
|
58
|
-
def self.open!
|
59
|
-
log.info event: 'open!', db: settings.database
|
60
|
-
@@db = Daybreak::DB.new settings.database
|
61
|
-
@@db_dump = YAML.dump db_copy
|
62
|
-
@@last_modified = Time.now
|
63
|
-
@@ridley = Ridley.from_chef_config settings.config
|
64
|
-
end
|
65
|
-
|
66
|
-
|
67
|
-
def self.close!
|
68
|
-
log.info event: 'close!', db: settings.database
|
69
|
-
@@db.flush
|
70
|
-
@@db.close
|
71
|
-
end
|
72
|
-
|
73
|
-
|
74
54
|
def self.refresh!
|
55
|
+
log.info event: 'refresh!'
|
75
56
|
started = Time.now
|
76
57
|
|
77
58
|
nodes = @@ridley.partial_search :node, 'name:*', %w[
|
@@ -87,7 +68,7 @@ module StacksOnDeck
|
|
87
68
|
platform
|
88
69
|
]
|
89
70
|
|
90
|
-
|
71
|
+
@@db = {}
|
91
72
|
|
92
73
|
nodes.each do |n|
|
93
74
|
name = n.name
|
@@ -104,7 +85,7 @@ module StacksOnDeck
|
|
104
85
|
|
105
86
|
next if n.hostname.nil?
|
106
87
|
|
107
|
-
|
88
|
+
@@db[name] = {
|
108
89
|
'hostname' => n.hostname,
|
109
90
|
'description' => n.fqdn,
|
110
91
|
'osArch' => n.kernel.machine,
|
@@ -118,18 +99,13 @@ module StacksOnDeck
|
|
118
99
|
}
|
119
100
|
end
|
120
101
|
|
121
|
-
@@
|
122
|
-
@@db.clear
|
123
|
-
@@db.update! node_resources
|
124
|
-
end
|
125
|
-
|
126
|
-
@@db_dump = YAML.dump node_resources
|
102
|
+
@@db_dump = YAML.dump @@db
|
127
103
|
|
128
104
|
@@last_modified = Time.now
|
129
105
|
|
130
|
-
log.info event: 'refreshed
|
106
|
+
log.info event: 'refreshed', elapsed: (Time.now - started)
|
131
107
|
|
132
|
-
return
|
108
|
+
return @@db
|
133
109
|
end
|
134
110
|
|
135
111
|
|
data/lib/stacksondeck/main.rb
CHANGED
@@ -45,11 +45,6 @@ module StacksOnDeck
|
|
45
45
|
aliases: %w[ -c ],
|
46
46
|
desc: 'Location of Chef configuration',
|
47
47
|
default: '/etc/chef/knife.rb'
|
48
|
-
option :database, \
|
49
|
-
type: :string,
|
50
|
-
aliases: %w[ -d ],
|
51
|
-
desc: 'Location of state database',
|
52
|
-
default: '/etc/sod.db'
|
53
48
|
option :username, \
|
54
49
|
type: :string,
|
55
50
|
aliases: %w[ -u ],
|
@@ -67,7 +62,6 @@ module StacksOnDeck
|
|
67
62
|
App.set :port, options.port
|
68
63
|
App.set :config, options.config
|
69
64
|
App.set :refresh, options.refresh
|
70
|
-
App.set :database, options.database
|
71
65
|
App.set :username, options.username
|
72
66
|
App.set :environment, options.environment
|
73
67
|
|
data/stacksondeck.gemspec
CHANGED
@@ -17,7 +17,6 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.add_runtime_dependency 'slog', '~> 1'
|
18
18
|
s.add_runtime_dependency 'hashie', '~> 2'
|
19
19
|
s.add_runtime_dependency 'sinatra', '~> 1.4'
|
20
|
-
s.add_runtime_dependency 'daybreak', '~> 0.3'
|
21
20
|
s.add_runtime_dependency 'ridley', '~> 4.1'
|
22
21
|
s.add_runtime_dependency 'thin', '~> 1'
|
23
22
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stacksondeck
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Clemmer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.4'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: daybreak
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '0.3'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '0.3'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: ridley
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|