''' Rebuilding the Node Agent from the ground up ''' Dependencies: omfcommon/Mobject gems: cocaine yaml? ---- ''' Design Notes: ''' ''' nodeagent.rb: ''' The hwdiscovery mode of the nodeagent code is being re-done. Instead of the original grep lspci lines, we now have has of dev_id's. Each dev_id in the hash maps to a node agent device driver that will be loaded to handle that specific device. This device will load the module for it's respective device type. ''' devices.rb ''' We're implementing all the module handeling code here. It uses the cocaine command line library as a wrapper. The cocaine lib kicks out an exception if the command fails. Exception handling will mitigate failed commands. ''' ethernet.rb ''' This class is responsible for all of the ifconfig/route handling code (all things ethernet). The same cocaine lib will handle shell commands with similar exception handeling. The interface has been extended to implement getters and setters for all the requisite interface state (ip, netmask, etc...). We've left the original get config command structure alone, but now also have implemented an execConfigCmd which will actually implement these config commands. ''' wifi.rb ''' TODO ''' rcDrv_e1000e.rb''' e1000e kernel module specif driver. A child of ethernet. Overides any thing that is specific to e1000e, but mostly leaves the parent class in tact. Also sets the value of @kmodName More to follow[[BR]] .[[BR]] .[[BR]] .[[BR]] ''' Driver Inheretance Chain ''' [[Image(Resource Controller Device Driver Diagram.png, 700px)]] ---- Observations: * active? is defined at "Ready to be configured". If a device is set to active, it is read to accept config commands. *