nerve_pharmeasy 0.7.1 → 0.8.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.
- checksums.yaml +4 -4
- data/lib/nerve.rb +13 -27
- data/lib/nerve/configuration_manager.rb +0 -16
- data/lib/nerve/version.rb +1 -1
- data/nerve_pharmeasy.gemspec +33 -0
- metadata +2 -2
- data/nerve.conf.json +0 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1d71214339372c271297aac1d226a4ef3bf694b3
|
|
4
|
+
data.tar.gz: e7cbb58ec88be70a5f54ac7252fd25ee9d6b72c2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: addce5efe61fa03d250146170c2549466b16d08e51018ad0dc9cc0aa39331f0100928cfce88bc7a78cf7cff7edeeb0078f7fff1ff6b9ae50f8a4d013efca060a
|
|
7
|
+
data.tar.gz: c9a4c6118af4779093dfe23107b0c104e3b295363050bf3e11475abe4ef1952c702f56b17eae1eac45221bb57698e3279053010afc867bffabdcc55c92dacca8
|
data/lib/nerve.rb
CHANGED
|
@@ -2,7 +2,6 @@ require 'fileutils'
|
|
|
2
2
|
require 'logger'
|
|
3
3
|
require 'json'
|
|
4
4
|
require 'timeout'
|
|
5
|
-
require 'socket'
|
|
6
5
|
|
|
7
6
|
require 'nerve/version'
|
|
8
7
|
require 'nerve/utils'
|
|
@@ -11,8 +10,6 @@ require 'nerve/ring_buffer'
|
|
|
11
10
|
require 'nerve/reporter'
|
|
12
11
|
require 'nerve/service_watcher'
|
|
13
12
|
|
|
14
|
-
require 'nerve/configuration_manager'
|
|
15
|
-
|
|
16
13
|
module Nerve
|
|
17
14
|
class Nerve
|
|
18
15
|
include Logging
|
|
@@ -50,20 +47,24 @@ module Nerve
|
|
|
50
47
|
log.debug 'nerve: completed init'
|
|
51
48
|
end
|
|
52
49
|
|
|
50
|
+
def local_ip
|
|
51
|
+
orig = Socket.do_not_reverse_lookup
|
|
52
|
+
Socket.do_not_reverse_lookup =true # turn off reverse DNS resolution temporarily
|
|
53
|
+
UDPSocket.open do |s|
|
|
54
|
+
s.connect '64.233.187.99', 1 #google
|
|
55
|
+
s.addr.last
|
|
56
|
+
end
|
|
57
|
+
ensure
|
|
58
|
+
Socket.do_not_reverse_lookup = orig
|
|
59
|
+
end
|
|
60
|
+
|
|
53
61
|
def load_config!
|
|
54
62
|
log.info 'nerve: loading config'
|
|
55
63
|
@config_to_load = false
|
|
56
|
-
|
|
57
64
|
@config_manager.reload!
|
|
58
65
|
config = @config_manager.config
|
|
59
|
-
|
|
60
|
-
config.each do|key, value|
|
|
61
|
-
log.info key
|
|
62
|
-
log.info value
|
|
63
|
-
end
|
|
64
|
-
|
|
66
|
+
|
|
65
67
|
services = config["services"]
|
|
66
|
-
|
|
67
68
|
services.each do|service, data|
|
|
68
69
|
log.info "service:"+service
|
|
69
70
|
host = data["host"]
|
|
@@ -73,11 +74,7 @@ module Nerve
|
|
|
73
74
|
data["host"]=local_ip
|
|
74
75
|
end
|
|
75
76
|
end
|
|
76
|
-
|
|
77
|
-
#kedar @config_manager = ConfigurationManager.new()
|
|
78
|
-
#kedar @config_manager.setConfig(@config)
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
|
|
81
78
|
# required options
|
|
82
79
|
log.debug 'nerve: checking for required inputs'
|
|
83
80
|
%w{instance_id services}.each do |required|
|
|
@@ -88,17 +85,6 @@ module Nerve
|
|
|
88
85
|
@heartbeat_path = config['heartbeat_path']
|
|
89
86
|
end
|
|
90
87
|
|
|
91
|
-
def local_ip
|
|
92
|
-
orig = Socket.do_not_reverse_lookup
|
|
93
|
-
Socket.do_not_reverse_lookup =true # turn off reverse DNS resolution temporarily
|
|
94
|
-
UDPSocket.open do |s|
|
|
95
|
-
s.connect '64.233.187.99', 1 #google
|
|
96
|
-
s.addr.last
|
|
97
|
-
end
|
|
98
|
-
ensure
|
|
99
|
-
Socket.do_not_reverse_lookup = orig
|
|
100
|
-
end
|
|
101
|
-
|
|
102
88
|
def run
|
|
103
89
|
log.info 'nerve: starting main run loop'
|
|
104
90
|
begin
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
require 'yaml'
|
|
2
2
|
require 'optparse'
|
|
3
|
-
require 'nerve/log'
|
|
4
|
-
require 'logger'
|
|
5
|
-
|
|
6
3
|
|
|
7
4
|
module Nerve
|
|
8
5
|
class ConfigurationManager
|
|
9
|
-
include Logging
|
|
10
|
-
|
|
11
6
|
attr_reader :options
|
|
12
7
|
attr_reader :config
|
|
13
8
|
|
|
@@ -44,10 +39,6 @@ EOB
|
|
|
44
39
|
end
|
|
45
40
|
end
|
|
46
41
|
optparse.parse!
|
|
47
|
-
options.each do|key, value|
|
|
48
|
-
log.info key
|
|
49
|
-
log.info value
|
|
50
|
-
end
|
|
51
42
|
options
|
|
52
43
|
end
|
|
53
44
|
|
|
@@ -56,7 +47,6 @@ EOB
|
|
|
56
47
|
end
|
|
57
48
|
|
|
58
49
|
def generate_nerve_config(options)
|
|
59
|
-
|
|
60
50
|
config = parse_config_file(options[:config])
|
|
61
51
|
config['services'] ||= {}
|
|
62
52
|
|
|
@@ -94,12 +84,6 @@ EOB
|
|
|
94
84
|
raise "You must parse command line options before reloading config" if @options.nil?
|
|
95
85
|
@config = generate_nerve_config(@options)
|
|
96
86
|
end
|
|
97
|
-
|
|
98
|
-
def setConfig(configuration)
|
|
99
|
-
@config = configuration
|
|
100
|
-
@options = {}
|
|
101
|
-
@options[:check_config]=false
|
|
102
|
-
end
|
|
103
87
|
end
|
|
104
88
|
end
|
|
105
89
|
|
data/lib/nerve/version.rb
CHANGED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'nerve/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |gem|
|
|
7
|
+
gem.name = "nerve_pharmeasy"
|
|
8
|
+
gem.version = Nerve::VERSION
|
|
9
|
+
gem.authors = ["Martin Rhoads", "Igor Serebryany", "Pierre Carrier"]
|
|
10
|
+
gem.email = ["martin.rhoads@airbnb.com", "igor.serebryany@airbnb.com"]
|
|
11
|
+
gem.description = "Nerve is a service registration daemon. It performs health "\
|
|
12
|
+
"checks on your service and then publishes success or failure "\
|
|
13
|
+
"into one of several registries (currently, zookeeper or etcd). "\
|
|
14
|
+
"Nerve is half or SmartStack, and is designed to be operated "\
|
|
15
|
+
"along with Synapse to provide a full service discovery framework"
|
|
16
|
+
gem.summary = %q{A service registration daemon}
|
|
17
|
+
gem.homepage = "https://github.com/airbnb/nerve"
|
|
18
|
+
|
|
19
|
+
gem.files = `git ls-files`.split($/)
|
|
20
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
|
21
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
22
|
+
gem.require_paths = ["lib"]
|
|
23
|
+
|
|
24
|
+
gem.add_runtime_dependency "json"
|
|
25
|
+
gem.add_runtime_dependency "zk", "~> 1.9.2"
|
|
26
|
+
gem.add_runtime_dependency "bunny", "= 1.1.0"
|
|
27
|
+
gem.add_runtime_dependency "etcd", "~> 0.2.3"
|
|
28
|
+
|
|
29
|
+
gem.add_development_dependency "rake"
|
|
30
|
+
gem.add_development_dependency "rspec", "~> 3.1.0"
|
|
31
|
+
gem.add_development_dependency "factory_girl"
|
|
32
|
+
gem.add_development_dependency "pry"
|
|
33
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nerve_pharmeasy
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Rhoads
|
|
@@ -166,8 +166,8 @@ files:
|
|
|
166
166
|
- lib/nerve/service_watcher/tcp.rb
|
|
167
167
|
- lib/nerve/utils.rb
|
|
168
168
|
- lib/nerve/version.rb
|
|
169
|
-
- nerve.conf.json
|
|
170
169
|
- nerve.gemspec
|
|
170
|
+
- nerve_pharmeasy.gemspec
|
|
171
171
|
- spec/.gitkeep
|
|
172
172
|
- spec/configuration_manager_spec.rb
|
|
173
173
|
- spec/example_services_spec.rb
|
data/nerve.conf.json
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"instance_id": "mymachine",
|
|
3
|
-
"services": {
|
|
4
|
-
"nodejs": {
|
|
5
|
-
"host": "localhost",
|
|
6
|
-
"port": 3000,
|
|
7
|
-
"reporter_type": "zookeeper",
|
|
8
|
-
"zk_hosts": ["localhost:2181"],
|
|
9
|
-
"zk_path": "/nerve/services/your_http_service/services",
|
|
10
|
-
"check_interval": 2,
|
|
11
|
-
"checks": [
|
|
12
|
-
{
|
|
13
|
-
"type": "http",
|
|
14
|
-
"uri": "/health",
|
|
15
|
-
"timeout": 0.2,
|
|
16
|
-
"rise": 3,
|
|
17
|
-
"fall": 2
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
}
|