Cloned from launchpad blueprint https://blueprints.launchpad.net/ironic/+spec/advanced-driver-api. Description: Drivers may need to expose certain functionality via the API service which is unique to that driver, or which is not part of the Manager service's usual capabilities. For example, the IPMIControlDriver may expose a "discover" or "scan network range" method. The implementation details of this need to be worked out -- drivers are loaded by the ResourceManager currently, but to handle RPC, they need to be part of a service. Consideration must also be given to the context, security, and performance aspects, as well as request queuing and API response. Eg, how do we handle multiple requests? Can such methods be asynchronous, and if so, how does the answer get back to the API client when there is no instance or node associated to the request? This is not needed for Ironic's first RC, but I'm putting this up here for further discussion and thought. Specification URL (additional information): None