dana-i2cat/opennaas — pull request #624 by isartcanyameres (2013-06-25 13:32:43+00:00)
Title: Feature/power

Integrate GIM model into OpenNaaS.

There is a resource in OpenNaaS holding Green Information Model (GIM) model instances. The resource is called powernet and it can be used to store information of a data centre power structure.
This resource has a single capability used to manage the model, which includes CRUD methods for GIM entities. This capability is exposed in the CLI and remotely using REST web services.

A PDU resource is an OpenNaaS resource which controls a real PDU device, through a driver.
PDU resource capabilities interact with the real PDU device and update PDU model in powernet instances where this PDU is present. It also reads from powernet model when required.
PDU is represented in GIM as a PowerDelivery.
PDU capabilities store user given information regarding which powernets is this PDU associated to, and which is the delivery identifier used in them.
Currently, implementation is tied to APC PDU driver.

A router resource is an OpenNaaS resource which controls a real router device, through a driver.
A router may have power related capabilities. These capabilities may read information in powernet instances they are associated to. They may also use a driver to change power status or force updates in power net model.
Commonly the driver to use will be calling PDU resource capabilities.
Router power related capabilities store user given information regarding to which powernet is this router associated to, and which is the consumer identifier used in them. Router is represented in GIM as a PowerConsumer.
Currently, implementation is tied to “delegating to PDU” driver.

The “delegating to PDU” driver uses GIM model to retrieve which PDU and socket the router is attached to and then uses OpenNaaS core platform to get appropriated PDU resource and capabilities and delegates to them.