smart_proxy_dhcp_remote_isc 0.0.2 → 0.0.3
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/bundler.d/dhcp_remote_isc.rb +3 -1
- data/lib/smart_proxy_dhcp_remote_isc/dhcp_remote_isc_plugin.rb +1 -1
- data/lib/smart_proxy_dhcp_remote_isc/plugin_configuration.rb +4 -5
- data/lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb +13 -25
- data/lib/smart_proxy_dhcp_remote_isc/version.rb +1 -1
- data/test/plugin_configuration_test.rb +7 -13
- metadata +18 -5
- data/lib/smart_proxy_dhcp_remote_isc/file_parser.rb +0 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 021abeb56914c9d2e1fd5e3775067d992ed9ca09
|
4
|
+
data.tar.gz: bcfdd528255e0d59306a3132361bfcae0bdf6d17
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3615316ed7c67220e18de8d94f53377e6ee3681987b75061a60e976efd050d8bc600c238033b5aaf39b9ddded25e30b8b18701b6293fac463b307a6fb4ad8a02
|
7
|
+
data.tar.gz: d0693ee71b6c372f928410e93b2c1c63600d7d8a1e9c28981ca9032c82a9214afc56e01c27d27f8325df18cfb82588aee170d200d8183a02ac3ac5201943aecd
|
@@ -2,7 +2,7 @@ module Proxy::DHCP::RemoteISC
|
|
2
2
|
class Plugin < ::Proxy::Provider
|
3
3
|
plugin :dhcp_remote_isc, ::Proxy::DHCP::RemoteISC::VERSION
|
4
4
|
|
5
|
-
requires :dhcp, '>= 1.
|
5
|
+
requires :dhcp, '>= 1.16'
|
6
6
|
default_settings :config => '/etc/dhcp/dhcpd.conf', :leases => '/var/lib/dhcpd/dhcpd.leases',
|
7
7
|
:omapi_port => '7911'
|
8
8
|
|
@@ -7,10 +7,9 @@ module Proxy::DHCP::RemoteISC
|
|
7
7
|
container.get_dependency(:memory_store), container.get_dependency(:memory_store),
|
8
8
|
container.get_dependency(:memory_store), container.get_dependency(:memory_store))
|
9
9
|
end)
|
10
|
-
container.dependency :parser, lambda {::Proxy::DHCP::
|
11
|
-
container.dependency :config_file, lambda {::Proxy::DHCP::CommonISC::IscConfigurationFile.new(settings[:config], container.get_dependency(:parser))}
|
10
|
+
container.dependency :parser, lambda {::Proxy::DHCP::CommonISC::ConfigurationParser.new}
|
12
11
|
container.dependency :subnet_service_initializer, (lambda do
|
13
|
-
::Proxy::DHCP::RemoteISC::SubnetServiceInitializer.new(
|
12
|
+
::Proxy::DHCP::RemoteISC::SubnetServiceInitializer.new(settings[:config], settings[:leases],
|
14
13
|
container.get_dependency(:parser), container.get_dependency(:subnet_service))
|
15
14
|
end)
|
16
15
|
container.dependency :initialized_subnet_service, lambda {container.get_dependency(:subnet_service_initializer).initialized_subnet_service }
|
@@ -25,8 +24,8 @@ module Proxy::DHCP::RemoteISC
|
|
25
24
|
def load_classes
|
26
25
|
require 'dhcp_common/subnet_service'
|
27
26
|
require 'dhcp_common/isc/omapi_provider'
|
28
|
-
require 'dhcp_common/isc/
|
29
|
-
require '
|
27
|
+
require 'dhcp_common/isc/configuration_parser'
|
28
|
+
require 'dhcp_common/isc/subnet_service_initialization'
|
30
29
|
require 'smart_proxy_dhcp_remote_isc/subnet_service_initializer'
|
31
30
|
end
|
32
31
|
end
|
@@ -1,41 +1,29 @@
|
|
1
1
|
require 'dhcp_common/isc/subnet_service_initialization'
|
2
2
|
|
3
3
|
module Proxy::DHCP::RemoteISC
|
4
|
-
class SubnetServiceInitializer
|
5
|
-
include ::Proxy::DHCP::CommonISC::IscSubnetServiceInitialization
|
4
|
+
class SubnetServiceInitializer < ::Proxy::DHCP::CommonISC::IscSubnetServiceInitialization
|
6
5
|
include Proxy::Log
|
7
6
|
|
8
|
-
attr_reader :
|
7
|
+
attr_reader :config_file_path, :leases_file_path
|
9
8
|
|
10
|
-
def initialize(
|
11
|
-
@
|
12
|
-
@
|
13
|
-
|
14
|
-
@service = subnet_service
|
9
|
+
def initialize(config_file_path, leases_file_path, parser, subnet_service)
|
10
|
+
@config_file_path = config_file_path
|
11
|
+
@leases_file_path = leases_file_path
|
12
|
+
super(subnet_service, parser)
|
15
13
|
end
|
16
14
|
|
17
15
|
def initialized_subnet_service
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
update_subnet_service_with_dhcp_records(hosts_and_leases_from_leases(service, leases_path))
|
22
|
-
|
23
|
-
service
|
24
|
-
end
|
25
|
-
|
26
|
-
def load_subnets
|
27
|
-
service.add_subnets(*config_file.subnets)
|
16
|
+
load_configuration_file(read_config_file, config_file_path)
|
17
|
+
load_leases_file(read_leases_file, leases_file_path)
|
18
|
+
subnet_service
|
28
19
|
end
|
29
20
|
|
30
|
-
def
|
31
|
-
|
21
|
+
def read_leases_file
|
22
|
+
File.read(File.expand_path(leases_file_path))
|
32
23
|
end
|
33
24
|
|
34
|
-
def
|
35
|
-
|
36
|
-
parser.parse_config_and_leases_for_records(subnet_service, fd.read)
|
37
|
-
ensure
|
38
|
-
fd.close unless fd.nil?
|
25
|
+
def read_config_file
|
26
|
+
File.read(File.expand_path(config_file_path))
|
39
27
|
end
|
40
28
|
end
|
41
29
|
end
|
@@ -5,8 +5,9 @@ require 'smart_proxy_dhcp_remote_isc/plugin_configuration'
|
|
5
5
|
require 'smart_proxy_dhcp_remote_isc/dhcp_remote_isc_plugin'
|
6
6
|
require 'dhcp_common/subnet_service'
|
7
7
|
require 'dhcp_common/isc/omapi_provider'
|
8
|
-
require '
|
9
|
-
require '
|
8
|
+
require 'rsec'
|
9
|
+
require 'dhcp_common/isc/configuration_parser'
|
10
|
+
require 'dhcp_common/isc/subnet_service_initialization'
|
10
11
|
require 'smart_proxy_dhcp_remote_isc/subnet_service_initializer'
|
11
12
|
|
12
13
|
class ConfigurationTest < ::Test::Unit::TestCase
|
@@ -38,13 +39,6 @@ class ProductionDiWiringsTest < Test::Unit::TestCase
|
|
38
39
|
assert_equal ::Proxy::DHCP::SubnetService, provider.service.class
|
39
40
|
end
|
40
41
|
|
41
|
-
def test_config_file_initialization
|
42
|
-
config_file = @container.get_dependency(:config_file)
|
43
|
-
|
44
|
-
assert_equal @settings[:config], config_file.path
|
45
|
-
assert config_file.parser
|
46
|
-
end
|
47
|
-
|
48
42
|
def test_parser_initialization
|
49
43
|
assert @container.get_dependency(:parser)
|
50
44
|
end
|
@@ -53,10 +47,10 @@ class ProductionDiWiringsTest < Test::Unit::TestCase
|
|
53
47
|
service_initializer = @container.get_dependency(:subnet_service_initializer)
|
54
48
|
|
55
49
|
assert service_initializer
|
56
|
-
assert_equal ::Proxy::DHCP::SubnetService, service_initializer.
|
57
|
-
assert_equal ::Proxy::DHCP::
|
58
|
-
assert_equal
|
59
|
-
assert_equal @settings[:leases], service_initializer.
|
50
|
+
assert_equal ::Proxy::DHCP::SubnetService, service_initializer.subnet_service.class
|
51
|
+
assert_equal ::Proxy::DHCP::CommonISC::ConfigurationParser, service_initializer.parser.class
|
52
|
+
assert_equal @settings[:config], service_initializer.config_file_path
|
53
|
+
assert_equal @settings[:leases], service_initializer.leases_file_path
|
60
54
|
end
|
61
55
|
|
62
56
|
def test_initialized_subnet_service
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: smart_proxy_dhcp_remote_isc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Dolguikh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
12
|
-
dependencies:
|
11
|
+
date: 2017-05-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rsec
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
description: Smart-Proxy dhcp module provider for NFS-accessible ISC dhcpd installations
|
14
28
|
email:
|
15
29
|
- dmitri@appliedlogic.ca
|
@@ -23,7 +37,6 @@ files:
|
|
23
37
|
- config/dhcp_remote_isc.yml.example
|
24
38
|
- lib/smart_proxy_dhcp_remote_isc.rb
|
25
39
|
- lib/smart_proxy_dhcp_remote_isc/dhcp_remote_isc_plugin.rb
|
26
|
-
- lib/smart_proxy_dhcp_remote_isc/file_parser.rb
|
27
40
|
- lib/smart_proxy_dhcp_remote_isc/plugin_configuration.rb
|
28
41
|
- lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb
|
29
42
|
- lib/smart_proxy_dhcp_remote_isc/version.rb
|
@@ -49,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
49
62
|
version: '0'
|
50
63
|
requirements: []
|
51
64
|
rubyforge_project:
|
52
|
-
rubygems_version: 2.
|
65
|
+
rubygems_version: 2.6.10
|
53
66
|
signing_key:
|
54
67
|
specification_version: 4
|
55
68
|
summary: Smart-Proxy dhcp module provider for NFS-accessible ISC dhcpd installations
|
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'dhcp_common/isc/file_parser'
|
2
|
-
|
3
|
-
module ::Proxy::DHCP::RemoteISC
|
4
|
-
class IscFileParser < ::Proxy::DHCP::CommonISC::IscFileParser
|
5
|
-
def initialize
|
6
|
-
super(nil)
|
7
|
-
end
|
8
|
-
|
9
|
-
def parse_config_and_leases_for_records(subnet_service, conf)
|
10
|
-
@service = subnet_service
|
11
|
-
super(conf)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|