Ejemplo n.º 1
0
    def __init__(self, pnode, event_callback):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver
        """
        PlatformDriver.__init__(self, pnode, event_callback)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # TODO(OOIION-1495) review the following. Commented out for the moment.
        # But yes, we would probably need some concept of currently "active
        # ports", probably defined as those where there are active instruments
        #  associated.
        """
        # Simple list of active ports in this deployment configuration:
        # (this should be all the ports that have devices attached. Used in go_active processing
        self._active_ports = []
        """

        # URL for the event listener registration/unregistration (based on
        # web server launched by ServiceGatewayService, since that's the
        # service in charge of receiving/relaying the OMS events).
        # NOTE: (as proposed long ago), this kind of functionality should
        # actually be provided by some component more in charge of the RSN
        # platform netwokr as a whole -- as opposed to platform-specific).
        self.listener_url = None
Ejemplo n.º 2
0
    def __init__(self, platform_id, driver_config, parent_platform_id=None):
        """
        Creates an OmsPlatformDriver instance.

        @param platform_id Corresponding platform ID
        @param driver_config with required 'oms_uri' entry.
        @param parent_platform_id Platform ID of my parent, if any.
                    This is mainly used for diagnostic purposes
        """
        PlatformDriver.__init__(self, platform_id, driver_config, parent_platform_id)

        if not 'oms_uri' in driver_config:
            raise PlatformDriverException(msg="driver_config does not indicate 'oms_uri'")

        oms_uri = driver_config['oms_uri']
        log.debug("%r: creating OmsClient instance with oms_uri=%r",
            self._platform_id, oms_uri)
        self._oms = OmsClientFactory.create_instance(oms_uri)
        log.debug("%r: OmsClient instance created: %s",
            self._platform_id, self._oms)

        # TODO set-up configuration for notification of events associated
        # with values retrieved during platform resource monitoring

        # _monitors: dict { attr_id: OmsResourceMonitor }
        self._monitors = {}

        # we can instantiate this here as the the actual http server is
        # started via corresponding method.
        self._event_listener = OmsEventListener(self._notify_driver_event)
Ejemplo n.º 3
0
    def configure(self, driver_config):
        """
        Nothing special done here, only calls super.configure(driver_config)

        @param driver_config with required 'oms_uri' entry.
        """
        PlatformDriver.configure(self, driver_config)
    def configure(self, driver_config):
        """
        Nothing special done here, only calls super.configure(driver_config)

        @param driver_config with required 'oms_uri' entry.
        """
        PlatformDriver.configure(self, driver_config)
Ejemplo n.º 5
0
    def configure(self, driver_config):
        """
        Nothing special done here, only calls super.configure(driver_config)

        @param driver_config with required 'oms_uri' entry.
        """
        PlatformDriver.configure(self, driver_config)
        self.nodeCfgFile = NodeConfiguration()
        self.nodeCfgFile.Open(self._platform_id,self._driver_config['driver_cfg_file']['default_cfg_file'],self._driver_config['driver_cfg_file']['node_cfg_file'])

        self._construct_resource_schema()
Ejemplo n.º 6
0
    def __init__(self, pnode, evt_recv):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode     Root PlatformNode defining the platform network rooted at
                         this platform.
        @param evt_recv  Listener of events generated by this driver
        """
        PlatformDriver.__init__(self, pnode, evt_recv)

        # CIOMSClient instance created by connect()
        self._rsn_oms = None

        # external event listener: we can instantiate this here as the the
        # actual http server is started via corresponding method.
        self._event_listener = OmsEventListener(self._notify_driver_event)
    def __init__(self, pnode, event_callback):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver
        """
        PlatformDriver.__init__(self, pnode, event_callback)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # external event listener: we can instantiate this here as the
        # actual http server is started via corresponding method.
        self._event_listener = OmsEventListener(self._platform_id, self._notify_driver_event)
Ejemplo n.º 8
0
    def __init__(self, pnode, event_callback):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver
        """
        PlatformDriver.__init__(self, pnode, event_callback)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # URL for the event listener registration/unregistration (based on
        # web server launched by ServiceGatewayService, since that's the
        # service in charge of receiving/relaying the OMS events).
        # NOTE: (as proposed long ago), this kind of functionality should
        # actually be provided by some component more in charge of the RSN
        # platform netwokr as a whole -- as opposed to platform-specific).
        self.listener_url = None
Ejemplo n.º 9
0
    def __init__(self, pnode, event_callback):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver
        """
        PlatformDriver.__init__(self, pnode, event_callback)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # URL for the event listener registration/unregistration (based on
        # web server launched by ServiceGatewayService, since that's the
        # service in charge of receiving/relaying the OMS events).
        # NOTE: (as proposed long ago), this kind of functionality should
        # actually be provided by some component more in charge of the RSN
        # platform netwokr as a whole -- as opposed to platform-specific).
        self.listener_url = None
Ejemplo n.º 10
0
    def __init__(self, pnode, event_callback, create_event_subscriber,
                 destroy_event_subscriber):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver

        @param create_event_subscriber
        @param destroy_event_subscriber
        """
        PlatformDriver.__init__(self, pnode, event_callback,
                                create_event_subscriber,
                                destroy_event_subscriber)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # TODO(OOIION-1495) review the following. Commented out for the moment.
        # What does "ports that have devices attached" mean?
        """
        # Simple list of active ports in this deployment configuration:
        # (this should be all the ports that have devices attached. Used in go_active processing
        self._active_ports = []
        """

        # captured in validate_driver_configuration
        self._attributes = {}
        self._instr_port_map = {}

        # URL for the event listener registration/unregistration (based on
        # web server launched by ServiceGatewayService, since that's the
        # service in charge of receiving/relaying the OMS events).
        # NOTE: (as proposed long ago), this kind of functionality should
        # actually be provided by some component more in charge of the RSN
        # platform netwokr as a whole -- as opposed to platform-specific).
        self.listener_url = None

        # external event listener: created in _start_event_dispatch
        self._event_listener = None
    def __init__(self, pnode, event_callback,
                 create_event_subscriber, destroy_event_subscriber):
        """
        Creates an RSNPlatformDriver instance.

        @param pnode           Root PlatformNode defining the platform network
                               rooted at this platform.
        @param event_callback  Listener of events generated by this driver

        @param create_event_subscriber
        @param destroy_event_subscriber
        """
        PlatformDriver.__init__(self, pnode, event_callback,
                                create_event_subscriber, destroy_event_subscriber)

        # CIOMSClient instance created by connect() and destroyed by disconnect():
        self._rsn_oms = None

        # TODO(OOIION-1495) review the following. Commented out for the moment.
        # What does "ports that have devices attached" mean?
        """
        # Simple list of active ports in this deployment configuration:
        # (this should be all the ports that have devices attached. Used in go_active processing
        self._active_ports = []
        """

        # captured in validate_driver_configuration
        self._attributes = {}
        self._instr_port_map = {}

        # URL for the event listener registration/unregistration (based on
        # web server launched by ServiceGatewayService, since that's the
        # service in charge of receiving/relaying the OMS events).
        # NOTE: (as proposed long ago), this kind of functionality should
        # actually be provided by some component more in charge of the RSN
        # platform netwokr as a whole -- as opposed to platform-specific).
        self.listener_url = None

        # external event listener: created in _start_event_dispatch
        self._event_listener = None