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 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