#


import pika
import socket
import sys
import time
import traceback

from oslo_serialization import jsonutils

from networking_cisco._i18n import _LE, _LI

from networking_cisco.apps.saf.common import dfa_logger as logging

LOG = logging.getLogger(__name__)


class DCNMListener(object):

    """This AMQP client class listens to DCNM's AMQP notification and
    interacts with openstack for further tenant and network information.
    It also communicates with CPNR to populate DHCP data.
    """

    def __init__(self, name, ip, user, password, pqueue=None,
                 c_pri=100, d_pri=100):
        """Create a new instance of AMQP client.

        :param dict params: AMQP configuration parameters,
         e.g. AMQP server ip, port, user name, password, name of AMQP
Exemple #2
0
import os
import platform
import sys
import time

from oslo_serialization import jsonutils

from networking_cisco.apps.saf.agent import iptables_driver as iptd
from networking_cisco.apps.saf.agent.vdp import dfa_vdp_mgr as vdpm
from networking_cisco.apps.saf.common import config
from networking_cisco.apps.saf.common import constants
from networking_cisco.apps.saf.common import dfa_logger as logging
from networking_cisco.apps.saf.common import rpc
from networking_cisco.apps.saf.common import utils

LOG = logging.getLogger(__name__)

thishost = platform.node()


class RpcCallBacks(object):
    """RPC call back methods."""
    def __init__(self, vdpd, ipt_drvr):
        self._vdpd = vdpd
        self._iptd = ipt_drvr

    def _enqueue_event(self, vm):
        oui = vm.get('oui')
        if oui and oui.get('ip_addr') != '0.0.0.0' and self._iptd:
            rule_info = dict(mac=vm.get('vm_mac'),
                             ip=oui.get('ip_addr'),