Merge "Minor doc change for manager and resorce_manager."

This commit is contained in:
Jenkins 2013-05-29 18:56:32 +00:00 committed by Gerrit Code Review
commit 6343ffc06c
2 changed files with 29 additions and 16 deletions

View File

@ -15,6 +15,26 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Handles all activity related to bare-metal deployments.
A single instance of :py:class:`ironic.manager.manager.ManagerService` is
created within the *ironic-manager* process, and is responsible for performing
all actions on bare metal resources (Chassis, Nodes, and Ports). Commands are
received via RPC calls. The manager service also performs periodic tasks, eg.
to monitor the status of active deployments.
Drivers are loaded via entrypoints, by the
:py:class:`ironic.manager.resource_manager.NodeManager` class. Each driver is
instantiated once and a ref to that singleton is included in each resource
manager, depending on the node's configuration. In this way, a single
ManagerService may use multiple drivers, and manage heterogeneous hardware.
When multiple :py:class:`ManagerService` are run on different hosts, they are
all active and cooperatively manage all nodes in the deplyment. Nodes are
locked by each manager when performing actions which change the state of that
node; these locks are represented by the
:py:class:`ironic.manager.task_manager.TaskManager` class.
"""
from ironic.common import service
from ironic.db import api as dbapi
@ -27,16 +47,7 @@ LOG = log.getLogger(__name__)
class ManagerService(service.PeriodicService):
"""Ironic Manager Service.
A single instance of this class is created within the ironic-manager
process. It is responsible for performing all actions on Chassis, Nodes,
and Ports, and tracks these actions via Trackers.
Tracker instances are created on-demand and destroyed when the
operation(s) are complete. Persistent state is stored in a database,
which is also used to coordinate locks between ManagerServices.
"""
"""Ironic Manager service main class."""
RPC_API_VERSION = '1.0'

View File

@ -17,14 +17,16 @@
# under the License.
"""
A NodeManager instance holds the data and drivers for a distinct node.
Hold the data and drivers for a distinct node within a given context.
Each NodeManager instance is a semi-singleton, keyed by the node id, and
contains references to the TaskManagers which called it. When no more
TaskManagers reference a given NodeManager, it is automatically destroyed.
Each :py:class:`ironic.manager.resource_manager.NodeManager` instance is a
semi-singleton, keyed by the node id. It contains references to all
:py:class:`ironic.manager.task_manager.TaskManager` which called it. When no
more TaskManagers reference a given NodeManager, it is automatically destroyed.
Do not request a NodeManager directly; instead, you should use a
TaskManager to manage the resource in a given context.
Do not request a NodeManager directly; instead, you should use a TaskManager to
manage the resource in a given context. See the documentation on TaskManager
for an example.
"""
from stevedore import dispatch