omf_rc 6.0.0.pre.2 → 6.0.0.pre.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.
@@ -9,7 +9,10 @@ class OmfRc::ResourceProxy::AbstractResource
|
|
9
9
|
DISCONNECT_WAIT = 5
|
10
10
|
# Time to wait before releasing resource, wait for deleting pubsub nodes
|
11
11
|
RELEASE_WAIT = 5
|
12
|
-
|
12
|
+
|
13
|
+
# @!attribute metadata
|
14
|
+
# @return [String] the resource's internal meta data storage
|
15
|
+
attr_accessor :uid, :hrn, :type, :comm, :metadata
|
13
16
|
attr_reader :opts, :children, :host
|
14
17
|
|
15
18
|
# Initialisation
|
@@ -31,6 +34,7 @@ class OmfRc::ResourceProxy::AbstractResource
|
|
31
34
|
@hrn = @opts.hrn
|
32
35
|
@children ||= []
|
33
36
|
@host = nil
|
37
|
+
@metadata = @opts.metadata || Hashie::Mash.new
|
34
38
|
|
35
39
|
@comm = comm || OmfCommon::Comm.new(@opts.dsl)
|
36
40
|
# Fire when connection to pubsub server established
|
@@ -86,6 +90,7 @@ class OmfRc::ResourceProxy::AbstractResource
|
|
86
90
|
#
|
87
91
|
# @param (see #initialize)
|
88
92
|
def create(type, opts = nil)
|
93
|
+
before_create if respond_to? :before_create
|
89
94
|
new_resource = OmfRc::ResourceFactory.new(type.to_sym, opts, @comm)
|
90
95
|
children << new_resource
|
91
96
|
new_resource
|
@@ -162,7 +167,7 @@ class OmfRc::ResourceProxy::AbstractResource
|
|
162
167
|
when :request
|
163
168
|
inform_msg = OmfCommon::Message.inform(end_result[:context_id], 'STATUS') do |i|
|
164
169
|
end_result[:result].each_pair do |k, v|
|
165
|
-
i.property(k
|
170
|
+
i.property(k, v)
|
166
171
|
end
|
167
172
|
end.sign
|
168
173
|
@comm.publish(end_result[:inform_to], inform_msg, host)
|
@@ -170,7 +175,7 @@ class OmfRc::ResourceProxy::AbstractResource
|
|
170
175
|
when :configure
|
171
176
|
inform_msg = OmfCommon::Message.inform(end_result[:context_id], 'STATUS') do |i|
|
172
177
|
end_result[:result].each_pair do |k, v|
|
173
|
-
i.property(k
|
178
|
+
i.property(k, v)
|
174
179
|
end
|
175
180
|
end.sign
|
176
181
|
@comm.publish(end_result[:inform_to], inform_msg, host)
|
data/lib/omf_rc/util/mod.rb
CHANGED
@@ -1,23 +1,15 @@
|
|
1
1
|
module OmfRc::Util::Mod
|
2
|
+
include OmfRc::ResourceProxyDSL
|
2
3
|
|
3
|
-
|
4
|
-
MODPROBE_CMD = 'modprobe'
|
4
|
+
register_utility :mod
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
else
|
11
|
-
super
|
12
|
-
end
|
6
|
+
register_request :modules do
|
7
|
+
OmfCommon::Command.execute('lsmod').split("\n").map do |v|
|
8
|
+
v.match(/^(.+)\W*.+$/) && $1
|
9
|
+
end.compact
|
13
10
|
end
|
14
11
|
|
15
|
-
|
16
|
-
|
17
|
-
when /^(mod|driver)_(.+)$/
|
18
|
-
OmfRc::Cmd.exec("#{MODPROBE} #{$+}")
|
19
|
-
else
|
20
|
-
super
|
21
|
-
end
|
12
|
+
register_configure :load_module do |resource, value|
|
13
|
+
OmfCommon::Command.execute("modprobe #{value}")
|
22
14
|
end
|
23
15
|
end
|
data/lib/omf_rc/util/package.rb
CHANGED
data/lib/omf_rc/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omf_rc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.0.0.pre.
|
4
|
+
version: 6.0.0.pre.3
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
@@ -84,7 +84,6 @@ files:
|
|
84
84
|
- lib/omf_rc/message_process_error.rb
|
85
85
|
- lib/omf_rc/resource_factory.rb
|
86
86
|
- lib/omf_rc/resource_proxy/abstract_resource.rb
|
87
|
-
- lib/omf_rc/resource_proxy/interface.rb
|
88
87
|
- lib/omf_rc/resource_proxy/mock.rb
|
89
88
|
- lib/omf_rc/resource_proxy/node.rb
|
90
89
|
- lib/omf_rc/resource_proxy/wifi.rb
|
@@ -1,48 +0,0 @@
|
|
1
|
-
require 'hashie'
|
2
|
-
|
3
|
-
module OmfRc::ResourceProxy::Interface
|
4
|
-
include OmfRc::ResourceProxyDSL
|
5
|
-
|
6
|
-
register_proxy :interface
|
7
|
-
|
8
|
-
IPTABLES = 'iptables'
|
9
|
-
ROUTE = 'route'
|
10
|
-
|
11
|
-
def configure_property(property, value)
|
12
|
-
case property
|
13
|
-
when /^forwarding$/
|
14
|
-
OmfRc::Cmd.exec("echo #{value ? '1' : '0'} > /proc/sys/net/ipv4/conf/#{uid}/forwarding")
|
15
|
-
when /^gateway$/
|
16
|
-
# FIXME Not sure about this one, hard coded everything?
|
17
|
-
OmfRc::Cmd.exec("route del default dev eth1; route add default gw #{value}; route add 224.10.10.6 dev eth1")
|
18
|
-
when /^route$/
|
19
|
-
value = Hashie::Mash.new(value)
|
20
|
-
arguments = %w(net gw mask).map {|v| "-#{v} #{value.send(v)}" if value.send(v)}.join(' ')
|
21
|
-
OmfRc::Cmd.exec("#{ROUTE} #{value.op} #{arguments} dev #{uid}")
|
22
|
-
when /^filter$/
|
23
|
-
operation = case value.op
|
24
|
-
when /^add$/
|
25
|
-
'-A'
|
26
|
-
when /^del$/
|
27
|
-
'-D'
|
28
|
-
when /^clear$/
|
29
|
-
'-F'
|
30
|
-
end
|
31
|
-
chain = "#{value.chain.upcase} -i #{uid}" if value.chain
|
32
|
-
protocol = case value.proto
|
33
|
-
when /^(tcp|udp)$/
|
34
|
-
[ ("-p #{value.proto}"),
|
35
|
-
("-s #{value.src}" if value.src),
|
36
|
-
("-d #{value.dst}" if value.dst),
|
37
|
-
("--sport #{value.sport}" if value.sport),
|
38
|
-
("--dport #{value.dport}" if value.dport) ].join(' ')
|
39
|
-
when /^mac$/
|
40
|
-
"-m mac --mac-source #{value.src}"
|
41
|
-
end
|
42
|
-
target = "#{value.target.upcase}" if value.target
|
43
|
-
OmfRc::Cmd.exec("#{IPTABLES} #{operation} #{chain} #{protocol} #{chain}")
|
44
|
-
else
|
45
|
-
super
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|