Module: OmfRc::ResourceProxy::Node
- Extended by:
- OmfRc::ResourceProxyDSL::ClassMethods
- Includes:
- OmfRc::ResourceProxyDSL, Util::Mod, Util::Sysfs
- Defined in:
- omf_rc/lib/omf_rc/resource_proxy/node.rb
Overview
This proxy represents physical/virtual machine node, and it is the proxy which standard RC start up script initialised.
Node proxy is more like a monitor proxy which monitors resource information on the node itself, it is usually created during the bootstrap process and provides an entry point for incoming FRCP messages.
Resources like application, net, or wlan can be created as children of node resources by sending FRCP create messages to the node's pubsub topic.
Constant Summary
Constant Summary
Constants included from OmfRc::ResourceProxyDSL
OmfRc::ResourceProxyDSL::DEFAULT_PROP_ACCESS, OmfRc::ResourceProxyDSL::PROXY_DIR, OmfRc::ResourceProxyDSL::UTIL_DIR
FRCP Request Methods (collapse)
-
- (Array<Hash>) request_applications
Created applications.
-
- (Array<Hash>) request_interface
Created interfaces.
OMF RC Hooks (collapse)
-
- (Object) before_create
Check if device exists.
Methods included from OmfRc::ResourceProxyDSL::ClassMethods
call_hook, configure, configure_all, extend_configure, extend_hook, extend_request, extend_work, hook, namespace, property, register_proxy, request, utility, work
Methods included from Util::Sysfs
#request_devices, #request_wlan_devices
Methods included from OmfRc::ResourceProxyDSL
#call_hook, #hook_defined?, included
Methods included from Util::Mod
#configure_load_module, #request_modules
Instance Method Details
- (Object) before_create
Check if device exists
73 74 75 76 77 78 79 80 |
# File 'omf_rc/lib/omf_rc/resource_proxy/node.rb', line 73 hook :before_create do |node, type, opts| if type.to_sym == :net net_dev = node.request_devices.find do |v| v[:name] == opts[:if_name] end raise StandardError, "Device '#{opts[:if_name]}' not found" if net_dev.nil? end end |
- (Array<Hash>) request_applications
Method 'request_applications' generated by DSL method 'request'
Created applications
58 59 60 61 62 |
# File 'omf_rc/lib/omf_rc/resource_proxy/node.rb', line 58 request :applications do |node| node.children.find_all { |v| v.type =~ /application/ }.map do |v| { name: v.hrn, type: v.type, uid: v.uid } end.sort { |x, y| x[:name] <=> y[:name] } end |
- (Array<Hash>) request_interface
Method 'request_interfaces' generated by DSL method 'request'
Created interfaces
45 46 47 48 49 |
# File 'omf_rc/lib/omf_rc/resource_proxy/node.rb', line 45 request :interfaces do |node| node.children.find_all { |v| v.type == :net || v.type == :wlan }.map do |v| { name: v.property.if_name, type: v.type, uid: v.uid } end.sort { |x, y| x[:name] <=> y[:name] } end |