Module Expr Str Import alias identifier ImportFrom alias Import alias ImportFrom alias Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr ClassDef bases AttributeLoad NameLoad attr body Expr Str FunctionDef arguments args NameParam defaults vararg kwarg body Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Call NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call NameLoad NameLoad For NameStore Call AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword BinOpMod Str TupleLoad NameLoad NameLoad keyword AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad keyword ListLoad NameLoad Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Dict Str Str FunctionDef arguments args NameParam defaults body Expr Call AttributeLoad Call NameLoad NameLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr Dict decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad keyword Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Return Call AttributeLoad NameLoad attr NameLoad NameLoad keyword AttributeLoad NameLoad attr keyword NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index Str If CompareNotIn NameLoad AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad AttributeLoad NameLoad attr attr NameLoad AttributeLoad NameLoad attr Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad NameLoad orelse Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore BinOpMod Str TupleLoad NameLoad AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad If AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr Str keyword Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str Assign NameStore Call AttributeLoad NameLoad attr keyword Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list decorator_list
N/A N/A 
Cells RPC Communication Driver
 N/A oslo_messaging messaging nova.cells driver N/A nova.conf nova rpc N/A CONF N/A N/A nova conf CONF CellsRPCDriver N/A N/A driver BaseCellsDriver N/A N/A Driver for cell<->cell communication via RPC.  This is used to
    setup the RPC consumers as well as to send a message to another cell.

    One instance of this class will be created for every neighbor cell
    that we find in the DB and it will be associated with the cell in
    its CellState.

    One instance is also created by the cells manager for setting up
    the consumers.
     __init__ N/A N/A self N/A args kwargs N/A N/A N/A N/A N/A super CellsRPCDriver self __init__ args kwargs N/A N/A self rpc_servers N/A N/A N/A self intercell_rpcapi N/A InterCellRPCAPI N/A start_servers N/A N/A self msg_runner N/A N/A N/A Start RPC servers.

        Start up 2 separate servers for handling inter-cell
        communication via RPC.  Both handle the same types of
        messages, but requests/replies are separated to solve
        potential deadlocks. (If we used the same queue for both,
        it's possible to exhaust the RPC thread pool while we wait
        for replies.. such that we'd never consume a reply.)
         N/A topic_base N/A N/A CONF cells rpc_driver_queue_base N/A proxy_manager N/A InterCellRPCDispatcher msg_runner N/A msg_type N/A N/A msg_runner get_message_types N/A N/A target N/A N/A messaging Target topic N/A %s.%s N/A topic_base msg_type server N/A CONF host N/A server N/A N/A rpc get_server target endpoints N/A proxy_manager N/A N/A N/A server start N/A N/A N/A N/A self rpc_servers append server N/A stop_servers N/A N/A self N/A N/A N/A Stop RPC servers.

        NOTE: Currently there's no hooks when stopping services
        to have managers cleanup, so this is not currently called.
         N/A server N/A self rpc_servers N/A N/A N/A N/A server stop N/A send_message_to_cell N/A N/A self cell_state message N/A N/A N/A Use the IntercellRPCAPI to send a message to a cell. N/A N/A N/A N/A self intercell_rpcapi send_message_to_cell cell_state message N/A N/A InterCellRPCAPI N/A object N/A N/A Client side of the Cell<->Cell RPC API.

    The CellsRPCDriver uses this to make calls to another cell.

    API version history:
        1.0 - Initial version.

        ... Grizzly supports message version 1.0.  So, any changes to existing
        methods in 2.x after that point should be done such that they can
        handle the version_cap being set to 1.0.
     N/A VERSION_ALIASES N/A grizzly 1.0 __init__ N/A N/A self N/A N/A N/A N/A N/A N/A super InterCellRPCAPI self __init__ N/A N/A self version_cap N/A N/A N/A self VERSION_ALIASES get N/A N/A CONF upgrade_levels intercell N/A N/A CONF upgrade_levels intercell N/A N/A self transports N/A N/A _get_client N/A N/A self next_hop topic N/A N/A N/A Turn the DB information for a cell into a messaging.RPCClient. N/A transport N/A N/A self _get_transport next_hop N/A target N/A N/A messaging Target topic topic version 1.0 N/A serializer N/A N/A rpc RequestContextSerializer None N/A N/A N/A messaging RPCClient transport target version_cap N/A self version_cap serializer serializer N/A _get_transport N/A N/A self next_hop N/A N/A N/A NOTE(belliott) Each Transport object contains connection pool
        state.  Maintain references to them to avoid continual reconnects
        to the message broker.
         N/A transport_url N/A N/A next_hop db_info N/A transport_url N/A N/A transport_url N/A self transports N/A N/A transport N/A N/A messaging get_transport N/A N/A nova conf CONF transport_url N/A rpc TRANSPORT_ALIASES N/A N/A N/A self transports N/A transport_url transport N/A N/A transport N/A N/A self transports N/A transport_url N/A transport N/A send_message_to_cell N/A N/A self cell_state message N/A N/A N/A Send a message to another cell by JSON-ifying the message and
        making an RPC cast to 'process_message'.  If the message says to
        fanout, do it.  The topic that is used will be
        'CONF.rpc_driver_queue_base.<message_type>'.
         N/A topic_base N/A N/A CONF cells rpc_driver_queue_base N/A topic N/A %s.%s N/A topic_base N/A message message_type N/A cctxt N/A N/A self _get_client cell_state topic N/A N/A message fanout N/A N/A cctxt N/A N/A cctxt prepare fanout N/A message fanout N/A N/A N/A cctxt cast N/A message ctxt process_message message N/A N/A message to_json N/A N/A InterCellRPCDispatcher N/A object N/A N/A RPC Dispatcher to handle messages received from other cells.

    All messages received here have come from a sibling cell.  Depending
    on the ultimate target and type of message, we may process the message
    in this cell, relay the message to another sibling cell, or both.  This
    logic is defined by the message class in the nova.cells.messaging module.
     N/A target N/A N/A messaging Target version 1.0 __init__ N/A N/A self msg_runner N/A N/A N/A Init the Intercell RPC Dispatcher. N/A N/A self msg_runner msg_runner N/A process_message N/A N/A self _ctxt message N/A N/A N/A We received a message from another cell.  Use the MessageRunner
        to turn this from JSON back into an instance of the correct
        Message class.  Then process it!
         N/A message N/A N/A N/A self msg_runner message_from_json message N/A N/A N/A message process N/A N/A