コード例 #1
0
def controller_sensor_message_request(resource_type):
    egressMsg = {
        "title": "SSPL Actuator Request",
        "description": "Seagate Storage Platform Library - Actuator Request",

        "username" : "JohnDoe",
        "signature" : "None",
        "time" : "2015-05-29 14:28:30.974749",
        "expires" : 500,

        "message" : {
            "sspl_ll_msg_header": {
                "schema_version": "1.0.0",
                "sspl_version": "1.0.0",
                "msg_version": "1.0.0"
            },
             "sspl_ll_debug": {
                "debug_component" : "sensor",
                "debug_enabled" : True
            },
            "sensor_request_type": {
                "enclosure_alert": {
                    "info": {
                        "resource_type": resource_type
                    }
                }
            }
        }
    }
    world.sspl_modules[RabbitMQegressProcessor.name()]._write_internal_msgQ(RabbitMQegressProcessor.name(), egressMsg)
コード例 #2
0
def disk_actuator_message_request(resource_type):
    egressMsg = {
        "username": "******",
        "expires": 3600,
        "description":
        "Seagate Storage Platform Library - Low Level - Actuator Request",
        "title": "SSPL-LL Actuator Request",
        "signature": "None",
        "time": "2018-07-31 04:08:04.071170",
        "message": {
            "sspl_ll_debug": {
                "debug_component": "sensor",
                "debug_enabled": True
            },
            "sspl_ll_msg_header": {
                "msg_version": "1.0.0",
                "uuid": "9e6b8e53-10f7-4de0-a9aa-b7895bab7774",
                "schema_version": "1.0.0",
                "sspl_version": "1.0.0"
            },
            "actuator_request_type": {
                "node_controller": {
                    "node_request": resource_type,
                    "resource": "*"
                }
            }
        }
    }
    world.sspl_modules[RabbitMQegressProcessor.name()]._write_internal_msgQ(
        RabbitMQegressProcessor.name(), egressMsg)
def controller_actuator_message_request(resource_type):
    egressMsg = {
        "title": "SSPL Actuator Request",
        "description": "Seagate Storage Platform Library - Actuator Request",
        "username": "******",
        "signature": "None",
        "time": "2015-05-29 14:28:30.974749",
        "expires": 500,
        "message": {
            "sspl_ll_debug": {
                "debug_component": "sensor",
                "debug_enabled": True
            },
            "response_dest": {},
            "sspl_ll_msg_header": {
                "msg_version": "1.0.0",
                "uuid": "16476007-a739-4785-b5c7-f3de189cdf9d",
                "schema_version": "1.0.0",
                "sspl_version": "1.0.0"
            },
            "request_path": {
                "site_id": "0",
                "node_id": "1",
                "rack_id": "0"
            },
            "actuator_request_type": {
                "storage_enclosure": {
                    "enclosure_request": resource_type,
                    "resource": "*"
                }
            }
        }
    }
    world.sspl_modules[RabbitMQegressProcessor.name()]._write_internal_msgQ(
        RabbitMQegressProcessor.name(), egressMsg)
コード例 #4
0
def _run_thread_capture_errors(curr_module, msgQlist, conf_reader, product):
    """Run the given thread and log any errors that happen on it.
    Will stop all sspl_modules if one of them fails."""
    try:
        # Each module is passed a reference list to message queues so it can transmit
        #  internal messages to other modules as desired
        curr_module.initialize(conf_reader, msgQlist, product)
        curr_module.start()

    except BaseException as ex:
        logger.critical(
            "SSPL-Tests encountered a fatal error, terminating service Error: %s"
            % ex)
        logger.exception(ex)

        # Populate an actuator response message and transmit back to HAlon
        error_msg = "SSPL-Tests encountered an error, terminating service Error: " + \
                    ", Exception: " + logger.exception(ex)
        jsonMsg = ThreadControllerMsg(curr_module, error_msg).getJson()
        curr_module._write_internal_msgQ(RabbitMQegressProcessor.name(),
                                         jsonMsg)

        # Shut it down, error is non-recoverable
        for name, other_module in list(world.sspl_modules.items()):
            if other_module is not curr_module:
                other_module.shutdown()