smart_proxy_dhcp_remote_isc 0.0.3 → 0.0.4
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9573da004f6366a2b3ef71e4215101d63564dc52
|
4
|
+
data.tar.gz: 98c1ca6e725252813d5987eaa6b018c12c5c83ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b1caa58f6371c4afcdfb5c95b42618b8becd6490bd8a3419ce6bf4d33453490d986cbd6092238922c7d931bbbb2b8d1fc3e8bfc3224abd2fc44a169c4b09c3c
|
7
|
+
data.tar.gz: 93c09c1bbd822f9e1da50030634dbc895b1286f63c748bad314267639c4f832f65a213f82cadf9242e292684d518e21510d7b7dc8d75c9bc8260046c70f790ff
|
@@ -4,11 +4,13 @@ module Proxy::DHCP::RemoteISC
|
|
4
4
|
|
5
5
|
requires :dhcp, '>= 1.16'
|
6
6
|
default_settings :config => '/etc/dhcp/dhcpd.conf', :leases => '/var/lib/dhcpd/dhcpd.leases',
|
7
|
-
:omapi_port => '7911'
|
7
|
+
:omapi_port => '7911', :blacklist_duration_minutes => 30*60
|
8
8
|
|
9
9
|
validate_readable :config, :leases
|
10
10
|
|
11
11
|
load_classes ::Proxy::DHCP::RemoteISC::PluginConfiguration
|
12
12
|
load_dependency_injection_wirings ::Proxy::DHCP::RemoteISC::PluginConfiguration
|
13
|
+
|
14
|
+
start_services :free_ips
|
13
15
|
end
|
14
16
|
end
|
@@ -13,16 +13,18 @@ module Proxy::DHCP::RemoteISC
|
|
13
13
|
container.get_dependency(:parser), container.get_dependency(:subnet_service))
|
14
14
|
end)
|
15
15
|
container.dependency :initialized_subnet_service, lambda {container.get_dependency(:subnet_service_initializer).initialized_subnet_service }
|
16
|
+
container.singleton_dependency :free_ips, lambda {::Proxy::DHCP::FreeIps.new(settings[:blacklist_duration_minutes]) }
|
16
17
|
|
17
18
|
container.dependency :dhcp_provider, (lambda do
|
18
19
|
Proxy::DHCP::CommonISC::IscOmapiProvider.new(
|
19
20
|
settings[:server], settings[:omapi_port], settings[:subnets], settings[:key_name], settings[:key_secret],
|
20
|
-
container.get_dependency(:initialized_subnet_service))
|
21
|
+
container.get_dependency(:initialized_subnet_service), container.get_dependency(:free_ips))
|
21
22
|
end)
|
22
23
|
end
|
23
24
|
|
24
25
|
def load_classes
|
25
26
|
require 'dhcp_common/subnet_service'
|
27
|
+
require 'dhcp_common/free_ips'
|
26
28
|
require 'dhcp_common/isc/omapi_provider'
|
27
29
|
require 'dhcp_common/isc/configuration_parser'
|
28
30
|
require 'dhcp_common/isc/subnet_service_initialization'
|
@@ -4,6 +4,7 @@ require 'tempfile'
|
|
4
4
|
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
|
+
require 'dhcp_common/free_ips'
|
7
8
|
require 'dhcp_common/isc/omapi_provider'
|
8
9
|
require 'rsec'
|
9
10
|
require 'dhcp_common/isc/configuration_parser'
|
@@ -23,7 +24,7 @@ class ProductionDiWiringsTest < Test::Unit::TestCase
|
|
23
24
|
def setup
|
24
25
|
@settings = {:server => "a_server", :omapi_port => 7911, :key_name => "key_name", :key_secret => "key_secret",
|
25
26
|
:subnets => ["192.168.0.0/255.255.255.0"], :config => Tempfile.new('config').path,
|
26
|
-
:leases => Tempfile.new('leases').path}
|
27
|
+
:leases => Tempfile.new('leases').path, :blacklist_duration_minutes => 100}
|
27
28
|
@container = ::Proxy::DependencyInjection::Container.new
|
28
29
|
::Proxy::DHCP::RemoteISC::PluginConfiguration.new.load_dependency_injection_wirings(@container, @settings)
|
29
30
|
end
|
@@ -37,6 +38,7 @@ class ProductionDiWiringsTest < Test::Unit::TestCase
|
|
37
38
|
assert_equal @settings[:key_secret], provider.key_secret
|
38
39
|
assert_equal Set.new(@settings[:subnets]), provider.managed_subnets
|
39
40
|
assert_equal ::Proxy::DHCP::SubnetService, provider.service.class
|
41
|
+
assert_equal ::Proxy::DHCP::FreeIps, provider.free_ips.class
|
40
42
|
end
|
41
43
|
|
42
44
|
def test_parser_initialization
|
@@ -56,4 +58,11 @@ class ProductionDiWiringsTest < Test::Unit::TestCase
|
|
56
58
|
def test_initialized_subnet_service
|
57
59
|
assert @container.get_dependency(:initialized_subnet_service)
|
58
60
|
end
|
61
|
+
|
62
|
+
def test_free_ips_configuration
|
63
|
+
free_ips = @container.get_dependency(:free_ips)
|
64
|
+
|
65
|
+
assert free_ips
|
66
|
+
assert_equal @settings[:blacklist_duration_minutes], free_ips.blacklist_interval
|
67
|
+
end
|
59
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dmitri Dolguikh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-01-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rsec
|
@@ -62,10 +62,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
62
|
version: '0'
|
63
63
|
requirements: []
|
64
64
|
rubyforge_project:
|
65
|
-
rubygems_version: 2.6.
|
65
|
+
rubygems_version: 2.6.14
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
68
|
summary: Smart-Proxy dhcp module provider for NFS-accessible ISC dhcpd installations
|
69
69
|
test_files:
|
70
|
-
- test/test_helper.rb
|
71
70
|
- test/plugin_configuration_test.rb
|
71
|
+
- test/test_helper.rb
|