stacksondeck 1.0.10 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3f66f37dd14473800a167656562303d6535266f9
4
- data.tar.gz: 3ab570735e3e1e9147053170145f5cf3b64892ea
3
+ metadata.gz: c09d73c08333b89973b871c50d3933a4da3949b6
4
+ data.tar.gz: 102aae303c3c519a4ce4d0d80e3938d51cb6cefc
5
5
  SHA512:
6
- metadata.gz: 668f029bf4253411e1069126729fb0b75913ed22cf22cf9c07e2a42d690a7ee868d4fc7d9adaf7b00bd5a3d88e5b66740a2eab998419838842b88f7aab39c0b2
7
- data.tar.gz: 9e177ac38b433a46c479c88674c44d7743cd20d7d883b9ba5111bebb14b098a9a19716ce2763e519b45105dfde794f82beb7cf3ee40ac838ad82251a9b20c384
6
+ metadata.gz: 5a4ff31882cdcbf2107f8ecdc1df8b4b16339acbf51df03f2fd3f5aad1d067058dc270dd23b574789585ba0730b1c8e2f9c8bd3bdf6de7d985ecbd5d03018793
7
+ data.tar.gz: abb759e8f7e115d544e3a4439cbcd96fd7d5fe802a5344aa23fa531cf51243b5527309cbc658ae107040e606b54b4adab55977849936ac26414637ac40c87825
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.10
1
+ 1.1.0
@@ -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
- at_exit { close! }
18
- open!
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
- node_resources = {}
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
- node_resources[name] = {
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
- @@db.lock do
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!', elapsed: (Time.now - started)
106
+ log.info event: 'refreshed', elapsed: (Time.now - started)
131
107
 
132
- return node_resources
108
+ return @@db
133
109
  end
134
110
 
135
111
 
@@ -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.10
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-05 00:00:00.000000000 Z
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