Commit 7cb4ae5b authored by Elisabetta Giani's avatar Elisabetta Giani
Browse files

AT5-382: Removed printing messages.

Moved logger.warn (deprecated) to logger.warning
CspMaster: moved attribute with "alarm" string in the name to "failure".
Removed the default polling for xxCmdDurationExpected/Measured attributes.
Removed a bug in the Off() method: final state was cheked against ON.
CspSubarray: removed severe errors from the delete_device() method.
Commented out the line with connection to PssSubarray.
Removed a bug in passing arguments to the SubarrayRejectDecorator.
parent 488ffd4b
Loading
Loading
Loading
Loading
+10 −15
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ class CspCapabilityMonitor(SKABaseDevice):
        max_dim_x=1500,
    )

    cspCapabilityAddresses = attribute(
    capabilityAddresses = attribute(
        dtype=('DevString',),
        max_dim_x=1500,
        label="CSP.LMC Capability devices FQDNs",
@@ -161,7 +161,7 @@ class CspCapabilityMonitor(SKABaseDevice):
                admin_mode_memorized = attribute_properties['adminMode']['__value']
                self._capability_admin_mode[fqdn] = int(admin_mode_memorized[0])
            except KeyError as key_err:
                print(key_err)
                self.logger.warn("_connect_to_capability: No key {} found.".format(str(key_err)))
            try:
                device_proxy = tango.DeviceProxy(fqdn)
                self._capability_proxies[fqdn] = device_proxy
@@ -195,7 +195,7 @@ class CspCapabilityMonitor(SKABaseDevice):
                                                     stateless=True)
                self._event_id[fqdn]['subarrayMembership'] = ev_id
            except tango.DevFailed as tango_err:
                print(tango_err.args[0].desc)
                self.logger.warn("_connect_to_capability: {}.".format(tango_err.args[0].desc))
                
    def _attributes_change_event_cb(self, evt):
        dev_name = evt.device.dev_name()
@@ -203,26 +203,21 @@ class CspCapabilityMonitor(SKABaseDevice):
            try:
                if dev_name in self.CapabilityDevices:
                    if evt.attr_value.name.lower() == "state":
                        print("{}: received event on {} value {}".format(dev_name,
                                                                         evt.attr_value.name,
                                                                         evt.attr_value.value))
                        self._capability_state[dev_name] = evt.attr_value.value
                        
                    elif evt.attr_value.name.lower() == "healthstate":
                        self._capability_health_state[dev_name] = evt.attr_value.value
                    elif evt.attr_value.name.lower() == "adminmode":
                        print("device: {} adminMode value {}".format(dev_name,evt.attr_value.value ))
                        self._capability_admin_mode[dev_name] = evt.attr_value.value
                    elif evt.attr_value.name.lower() == "obsstate":
                        print("device: {} adminMode value {}".format(dev_name,evt.attr_value.value ))
                        self._capability_obsstate[dev_name] = evt.attr_value.value
                    elif evt.attr_value.name.lower() == "subarrayMembershp":
                        self._capability_membership[dev_name] = evt.attr_value.value   
                    else:
                        print("Attribute {} not still "
                        self.logger.info("Attribute {} not still "
                                         "handled".format(evt.attr_name))
                else:
                    print("Unexpected change event for"
                    self.logger.info("Unexpected change event for"
                                     " attribute: {}".format(str(evt.attr_name)))
                    return
                log_msg = "New value for {} is {}".format(str(evt.attr_name),
@@ -241,7 +236,7 @@ class CspCapabilityMonitor(SKABaseDevice):
                    self._capability_admin_mode[dev_name] = AdminMode.NOT_FITTED
                    self._capability_health_state[dev_name] = ObsState.IDLE
                log_msg = item.reason + ": on attribute " + str(evt.attr_name)
                print(log_msg)
                self.logger.warn(log_msg)
                
    def always_executed_hook(self):
        """Method always executed before any TANGO command is executed."""
@@ -330,7 +325,7 @@ class CspCapabilityMonitor(SKABaseDevice):
        return self._unassigned_ids
        # PROTECTED REGION END #    //  CspCapabilityMonitor.unassignedIDs_read

    def read_cspCapabilityAddresses(self):
    def read_capabilityAddresses(self):
        # PROTECTED REGION ID(CspCapabilityMonitor.capabilityAddresses_read) ENABLED START #
        return self.CapabilityDevices
        # PROTECTED REGION END #    //  CspCapabilityMonitor.capabilityAddresses_read
+38 −41
Original line number Diff line number Diff line
@@ -135,11 +135,11 @@ class CspMaster(SKAMaster):
                    else:
                        log_msg = ("Attribute {} not still "
                                   "handled".format(evt.attr_name))
                        self.logger.warn(log_msg)
                        self.logger.warning(log_msg)
                else:
                    log_msg = ("Unexpected change event for"
                               " attribute: {}".format(str(evt.attr_name)))
                    self.logger.warn(log_msg)
                    self.logger.warning(log_msg)
                    return

                log_msg = "New value for {} is {}".format(str(evt.attr_name),
@@ -173,7 +173,7 @@ class CspMaster(SKAMaster):
                    # update the State and healthState of the CSP Element
                    self._update_csp_state()
                log_msg = item.reason + ": on attribute " + str(evt.attr_name)
                self.logger.warn(log_msg)
                self.logger.warning(log_msg)
    
    def _attributes_change_evt_cb(self, evt):
        """
@@ -205,7 +205,7 @@ class CspMaster(SKAMaster):
                else:
                    log_msg = ("Unexpected change event for"
                               " attribute: {}".format(str(evt.attr_name)))
                    self.logger.warn(log_msg)
                    self.logger.warning(log_msg)
                    return

                log_msg = "New value for {} is {}".format(str(evt.attr_name),
@@ -218,7 +218,7 @@ class CspMaster(SKAMaster):
        else:
            for item in evt.errors:
                log_msg = item.reason + ": on attribute " + str(evt.attr_name)
                self.logger.warn(log_msg)
                self.logger.warning(log_msg)
              
    def _cmd_ended_cb(self, evt):
        """
@@ -375,7 +375,7 @@ class CspMaster(SKAMaster):
                self._se_event_id[fqdn]['healthState'] = ev_id
            except KeyError as key_err:
                log_msg = ("No key {} found".format(str(key_err)))
                self.logger.warn(log_msg)
                self.logger.warning(log_msg)
            except tango.DevFailed as df:
                #for item in df.args:
                log_msg = ("Failure in connection to {}"
@@ -437,7 +437,7 @@ class CspMaster(SKAMaster):
            tango_cmd_name = args_dict['cmd_name']
            dev_successful_state = args_dict['dev_state']
        except KeyError as key_err:
            self.logger.warn("No key: {}".format(str(key_err)))
            self.logger.warning("No key: {}".format(str(key_err)))
            # reset the CSP and sub-element running flags
            self._cmd_execution_state = CmdExecState.IDLE
            for device in device_list:
@@ -504,7 +504,7 @@ class CspMaster(SKAMaster):
                    if self._se_state[device] == tango.DevState.FAULT:
                        self._se_cmd_execution_state[device][cmd_name] = CmdExecState.FAILED
                        self._failure_message[cmd_name] += ("Device {} is {}".format(device, self.get_status()))
                        self.logger.warn(self._failure_message[cmd_name]) 
                        self.logger.warning(self._failure_message[cmd_name]) 
                        num_of_failed_device += 1
                        break
                    # check if sub-element command ended throwing an exception: in this case the
@@ -532,7 +532,7 @@ class CspMaster(SKAMaster):
                    if (elapsed_time > self._se_cmd_duration_expected[device][cmd_name] or
                        self._se_cmd_execution_state[device][cmd_name] == CmdExecState.TIMEOUT):
                        msg = ("Timeout executing {} command  on device {}".format(cmd_name, device))
                        self.logger.warn(msg)
                        self.logger.warning(msg)
                        self._se_cmd_execution_state[device][cmd_name] = CmdExecState.TIMEOUT       
                        num_of_failed_device += 1
                        # if the CBF command timeout expires, the CSP power-on is stopped
@@ -543,7 +543,6 @@ class CspMaster(SKAMaster):
                                              "execution!!! Exit".format(cmd_name))
                            self._timeout_expired[cmd_name] = True
                            self._se_cmd_execution_state[device][cmd_name] = CmdExecState.IDLE
                            self._timeout_expired[cmd_name] = True
                            self._cmd_execution_state[cmd_name] = CmdExecState.IDLE
                            return
                        # timeout on the sub-element, skip to the next device
@@ -567,11 +566,11 @@ class CspMaster(SKAMaster):
                    break   
            except KeyError as key_err:
                msg = "No key {} found".format(str(key_err))
                self.logger.warn(msg)
                self.logger.warning(msg)
            except tango.DevFailed as df:
                # It should not happen! Verify
                msg = "Failure reason: {} Desc: {}".format(str(df.args[0].reason), str(df.args[0].desc))
                self.logger.warn(msg)
                self.logger.warning(msg)
        # out of the for loop
        # reset the CSP command execution flag
        self._cmd_execution_state[cmd_name] = CmdExecState.IDLE
@@ -600,6 +599,10 @@ class CspMaster(SKAMaster):
                False otherwise
        """
        # check if the device is exported in the TANGO DB (that is the server is running)

        # 03-19-20 
        # NOTE: this check can be removed because the check on valid values
        # for attributes of DevEnum type is done by TANGO
        if value not in [AdminMode.ONLINE, AdminMode.MAINTENANCE, AdminMode.OFFLINE,
                         AdminMode.NOT_FITTED, AdminMode.RESERVED]:
            msg = "Invalid {} value for adminMode attribute".format(value)
@@ -628,7 +631,7 @@ class CspMaster(SKAMaster):
            try:
                self._capability_proxy[fqdn] = tango.DeviceProxy(fqdn)
            except tango.DevFailed as tango_err:
                self.logger.warn(tango_err.args[0].desc)
                self.logger.warning(tango_err.args[0].desc)
            
                
# PROTECTED REGION END #    //  CspMaster.class_protected_methods
@@ -720,7 +723,6 @@ class CspMaster(SKAMaster):
        dtype='DevUShort',
        access=AttrWriteType.READ_WRITE,
        label="Expected duration (sec) of the On command execution",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -732,7 +734,6 @@ class CspMaster(SKAMaster):
        dtype='DevUShort',
        access=AttrWriteType.READ_WRITE,
        label="Expected duration (sec) of the Off command",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -744,7 +745,6 @@ class CspMaster(SKAMaster):
        dtype='DevUShort',
        access=AttrWriteType.READ_WRITE,
        label="Expected duration (sec) of the Standby command",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -755,7 +755,6 @@ class CspMaster(SKAMaster):
    onCmdDurationMeasured = attribute(
        dtype='DevUShort',
        label="Measured duration (sec) of the On command execution",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -765,7 +764,6 @@ class CspMaster(SKAMaster):
    offCmdDurationMeasured = attribute(
        dtype='DevUShort',
        label="Measured duration (sec) of the Off command",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -775,7 +773,6 @@ class CspMaster(SKAMaster):
    standbyCmdDurationMeasured = attribute(
        dtype='DevUShort',
        label="Measured duration (sec) of the Standby command",
        polling_period=3000,
        abs_change=0,
        max_value=100,
        min_value=0,
@@ -918,7 +915,7 @@ class CspMaster(SKAMaster):
        doc="Alarm flag set when the On command fails with error(s).",
    )

    onAlarmMessage = attribute(
    onFailureMessage = attribute(
        dtype='DevString',
        label="On execution failure message",
        doc="Alarm message when the On command fails with error(s).",
@@ -931,7 +928,7 @@ class CspMaster(SKAMaster):
        doc="Alarm flag set when the Off command fails with error(s).",
    )

    offAlarmMessage = attribute(
    offFailureMessage = attribute(
        dtype='DevString',
        label="Off execution failure message",
        doc="Alarm message when the Off command fails with error(s).",
@@ -944,7 +941,7 @@ class CspMaster(SKAMaster):
        doc="Alarm flag set when the Standby command fails with error(s).",
    )

    standbyAlarmMessage = attribute(
    standbyFailureMessage = attribute(
        dtype='DevString',
        label="Standby execution failure message",
        doc="Alarm message when the Standby command fails with error(s).",
@@ -1133,10 +1130,10 @@ class CspMaster(SKAMaster):
        label="Num of unassigned SeachBeam Capabilities IDs",
        forwarded=True
    )
    numOfReservedSearchBeams = attribute(name="numOfReservedSearchBeams",
        label="Number of reserved SeachBeam Capabilities",
        forwarded=True
    )
    #numOfReservedSearchBeams = attribute(name="numOfReservedSearchBeams",
    #    label="Number of reserved SeachBeam Capabilities",
    #    forwarded=True
    #)
    searchBeamMembership = attribute(name="searchBeamMembership",
        label="SearchBeam Membership",
        forwarded=True
@@ -1388,7 +1385,7 @@ class CspMaster(SKAMaster):
                else:
                    # What to do in this case??. Only log (for the moment)
                    msg = "Still subscribed events: {}".format(self._se_event_id)
                    self.logger.warn(msg)
                    self.logger.warning(msg)
            except KeyError as key_err:
                msg = " Can't retrieve the information of key {}".format(key_err)
                self.logger.error(msg)
@@ -1644,11 +1641,11 @@ class CspMaster(SKAMaster):
        return self._failure_raised['on']
        # PROTECTED REGION END #    //  CspMaster.onCmdFailure_read

    def read_onAlarmMessage(self):
        # PROTECTED REGION ID(CspMaster.onAlarmMessage_read) ENABLED START #
        """Return the onAlarmMessage attribute."""
    def read_onFailureMessage(self):
        # PROTECTED REGION ID(CspMaster.onFailureMessage_read) ENABLED START #
        """Return the onFailureMessage attribute."""
        return self._failure_message['on']
        # PROTECTED REGION END #    //  CspMaster.onAlarmMessage_read
        # PROTECTED REGION END #    //  CspMaster.onFailureMessage_read

    def read_offCmdFailure(self):
        # PROTECTED REGION ID(CspMaster.offCmdFailure_read) ENABLED START #
@@ -1656,11 +1653,11 @@ class CspMaster(SKAMaster):
        return self._failure_raised['off']
        # PROTECTED REGION END #    //  CspMaster.offCmdFailure_read

    def read_offAlarmMessage(self):
        # PROTECTED REGION ID(CspMaster.offAlarmMessage_read) ENABLED START #
        """Return the offAlarmMessage attribute."""
    def read_offFailureMessage(self):
        # PROTECTED REGION ID(CspMaster.offFailureMessage_read) ENABLED START #
        """Return the offFailureMessage attribute."""
        return self._failure_message['off']
        # PROTECTED REGION END #    //  CspMaster.offAlarmMessage_read
        # PROTECTED REGION END #    //  CspMaster.offFailureMessage_read

    def read_standbyCmdFailure(self):
        # PROTECTED REGION ID(CspMaster.standbyCmdFailure_read) ENABLED START #
@@ -1668,11 +1665,11 @@ class CspMaster(SKAMaster):
        return self._failure_raised['standby']
        # PROTECTED REGION END #    //  CspMaster.standbyCmdFailure_read

    def read_standbyAlarmMessage(self):
        # PROTECTED REGION ID(CspMaster.standbyAlarmMessage_read) ENABLED START #
        """Return the standbyAlarmMessage attribute."""
    def read_standbyFailureMessage(self):
        # PROTECTED REGION ID(CspMaster.standbyFailureMessage_read) ENABLED START #
        """Return the standbyFailureMessage attribute."""
        return self._failure_message['standby']
        # PROTECTED REGION END #    //  CspMaster.standbyAlarmMessage_read
        # PROTECTED REGION END #    //  CspMaster.standbyFailureMessage_read

    def read_cspSubarrayAddresses(self):
        # PROTECTED REGION ID(CspMaster.cspSubarrayAddresses_read) ENABLED START #
@@ -1836,7 +1833,7 @@ class CspMaster(SKAMaster):
        # args: the list of sub-element FQDNS
        # args_dict: dictionary with the specific command information
        args_dict = {'cmd_name':'Off',
                     'dev_state': tango.DevState.ON}
                     'dev_state': tango.DevState.OFF}
       
        self._command_thread['off'] = threading.Thread(target=self._issue_power_command, name="Thread-Off",
                                                args=(device_list,),
+73 −63

File changed.

Preview size limit exceeded, changes collapsed.

+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@
"""Release information for Python Package"""

name = """csp-lmc-common"""
version = "0.5.0"
version = "0.5.1"
version_info = version.split(".")
description = """SKA CSP.LMC Common Software"""
author = "INAF-OAA"
+3 −1
Original line number Diff line number Diff line
@@ -279,7 +279,6 @@ class SubarrayRejectCmd(object):
        #
        self._args = args
        self._kwargs = kwargs
        print(args)

    def __call__(self, f):
        @functools.wraps(f)
@@ -304,6 +303,9 @@ class SubarrayRejectCmd(object):
                msg = ("Command {} is already running".format(cmd_to_exec))
                dev_instance.logger.info(msg)
                return
            # Change the name of commands to reject in lower-case letters to match
            # the name of the running commands (if any)
            commands_to_reject = map(str.lower, commands_to_reject)
            if any(cmd_name in commands_to_reject for cmd_name in list_of_running_cmd):
                err_msg = ("Can't execute command {}:"
                           " command {} is already running".format(cmd_to_exec, list_of_running_cmd))
Loading