示例#1
0
def test_real_stor_fan_module_actuator(agrs):
    check_sspl_ll_is_running()
    instance_id = "4"
    resource_type = "enclosure:fru:fan"
    send_enclosure_request("ENCL:%s" % resource_type, instance_id)
    ingressMsg = get_fru_response(resource_type, instance_id)
    fan_module_actuator_msg = ingressMsg.get("actuator_response_type")

    assert (fan_module_actuator_msg is not None)
    assert (fan_module_actuator_msg.get("alert_type") is not None)
    assert (fan_module_actuator_msg.get("alert_id") is not None)
    assert (fan_module_actuator_msg.get("severity") is not None)
    assert (fan_module_actuator_msg.get("host_id") is not None)
    assert (fan_module_actuator_msg.get("info") is not None)

    fan_module_info = fan_module_actuator_msg.get("info")
    assert (fan_module_info.get("site_id") is not None)
    assert (fan_module_info.get("node_id") is not None)
    assert (fan_module_info.get("cluster_id") is not None)
    assert (fan_module_info.get("rack_id") is not None)
    assert (fan_module_info.get("resource_type") is not None)
    assert (fan_module_info.get("event_time") is not None)
    assert (fan_module_info.get("resource_id") is not None)

    fru_specific_info = fan_module_actuator_msg.get("specific_info", {})

    resource_id = fan_module_info.get("resource_id")
    if resource_id == "*":
        verify_fan_module_specific_info(fru_specific_info)
        return

    if fru_specific_info:
        assert (fru_specific_info.get("durable_id") is not None)
        assert (fru_specific_info.get("status") is not None)
        assert (fru_specific_info.get("name") is not None)
        assert (fru_specific_info.get("enclosure_id") is not None)
        assert (fru_specific_info.get("health") is not None)
        assert (fru_specific_info.get("health_reason") is not None)
        assert (fru_specific_info.get("location") is not None)
        assert (fru_specific_info.get("health_recommendation") is not None)
        assert (fru_specific_info.get("position") is not None)

    fans = fan_module_actuator_msg.get("specific_info").get("fans", [])
    if fans:
        for fan in fans:
            assert (fan.get("durable_id") is not None)
            assert (fan.get("status") is not None)
            assert (fan.get("name") is not None)
            assert (fan.get("speed") is not None)
            assert (fan.get("locator_led") is not None)
            assert (fan.get("position") is not None)
            assert (fan.get("location") is not None)
            assert (fan.get("part_number") is not None)
            assert (fan.get("serial_number") is not None)
            assert (fan.get("fw_revision") is not None)
            assert (fan.get("hw_revision") is not None)
            assert (fan.get("health") is not None)
            assert (fan.get("health_reason") is not None)
            assert (fan.get("health_recommendation") is not None)
示例#2
0
def test_real_stor_psu_actuator(agrs):
    instance_id = "*"
    resource_type = "enclosure:hw:psu"
    send_enclosure_request("ENCL:%s" % resource_type, instance_id)
    ingressMsg = get_fru_response(resource_type, instance_id)
    psu_actuator_msg = ingressMsg.get("actuator_response_type")

    assert (psu_actuator_msg is not None)
    assert (psu_actuator_msg.get("host_id") is not None)
    assert (psu_actuator_msg.get("alert_type") is not None)
    assert (psu_actuator_msg.get("severity") is not None)
    assert (psu_actuator_msg.get("alert_id") is not None)
    psu_info = psu_actuator_msg.get("info")
    assert (psu_info is not None)
    assert (psu_info.get("site_id") is not None)
    assert (psu_info.get("cluster_id") is not None)
    assert (psu_info.get("rack_id") is not None)
    assert (psu_info.get("node_id") is not None)
    assert (psu_info.get("resource_type") is not None)
    assert (psu_info.get("resource_id") is not None)
    assert (psu_info.get("event_time") is not None)

    psu_actuator_specific_info_array = psu_actuator_msg.get("specific_info")
    for psu_specific_info in psu_actuator_specific_info_array:
        assert (psu_specific_info is not None)
        assert (psu_specific_info.get("dctemp") is not None)
        assert (psu_specific_info.get("dc33v") is not None)
        assert (psu_specific_info.get("fru_shortname") is not None)
        assert (psu_specific_info.get("health_reason") is not None)
        assert (psu_specific_info.get("serial_number") is not None)
        assert (psu_specific_info.get("mfg_date") is not None)
        assert (psu_specific_info.get("dash_level") is not None)
        assert (psu_specific_info.get("dom_id") is not None)
        assert (psu_specific_info.get("dc5i") is not None)
        assert (psu_specific_info.get("enclosure_id") is not None)
        assert (psu_specific_info.get("position_numeric") is not None)
        assert (psu_specific_info.get("durable_id") is not None)
        assert (psu_specific_info.get("configuration_serialnumber")
                is not None)
        assert (psu_specific_info.get("health") is not None)
        assert (psu_specific_info.get("location") is not None)
        assert (psu_specific_info.get("dc5v") is not None)
        assert (psu_specific_info.get("status_numeric") is not None)
        assert (psu_specific_info.get("revision") is not None)
        assert (psu_specific_info.get("mfg_location") is not None)
        assert (psu_specific_info.get("dc12v") is not None)
        assert (psu_specific_info.get("vendor") is not None)
        assert (psu_specific_info.get("description") is not None)
        assert (psu_specific_info.get("mfg_date_numeric") is not None)
        assert (psu_specific_info.get("object_name") is not None)
        assert (psu_specific_info.get("part_number") is not None)
        assert (psu_specific_info.get("health_recommendation") is not None)
        assert (psu_specific_info.get("health_numeric") is not None)
        assert (psu_specific_info.get("dc12i") is not None)
        assert (psu_specific_info.get("name") is not None)
        assert (psu_specific_info.get("fw_revision") is not None)
        assert (psu_specific_info.get("position") is not None)
        assert (psu_specific_info.get("model") is not None)
        assert (psu_specific_info.get("mfg_vendor_id") is not None)
def test_real_stor_disk_actuator(agrs):
    instance_id = "*"
    resource_type = "enclosure:hw:disk"
    send_enclosure_request("ENCL:%s" % resource_type, instance_id)
    ingressMsg = get_fru_response(resource_type, instance_id)
    disk_actuator_msg = ingressMsg.get("actuator_response_type")

    assert (disk_actuator_msg is not None)
    assert (disk_actuator_msg.get("alert_type") is not None)
    assert (disk_actuator_msg.get("alert_id") is not None)
    assert (disk_actuator_msg.get("severity") is not None)
    assert (disk_actuator_msg.get("host_id") is not None)
    assert (disk_actuator_msg.get("info") is not None)

    disk_actuator_info = disk_actuator_msg.get("info")
    assert (disk_actuator_info.get("site_id") is not None)
    assert (disk_actuator_info.get("node_id") is not None)
    assert (disk_actuator_info.get("cluster_id") is not None)
    assert (disk_actuator_info.get("rack_id") is not None)
    assert (disk_actuator_info.get("resource_type") is not None)
    assert (disk_actuator_info.get("event_time") is not None)
    assert (disk_actuator_info.get("resource_id") is not None)

    disk_actuator_specific_infos = disk_actuator_msg.get("specific_info")
    for disk_actuator_specific_info in disk_actuator_specific_infos:
        assert (disk_actuator_specific_info is not None)
        assert (disk_actuator_specific_info.get("description") is not None)
        assert (disk_actuator_specific_info.get("slot") is not None)
        assert (disk_actuator_specific_info.get("status") is not None)
        assert (disk_actuator_specific_info.get("architecture") is not None)
        assert (disk_actuator_specific_info.get("serial_number") is not None)
        assert (disk_actuator_specific_info.get("size") is not None)
        assert (disk_actuator_specific_info.get("vendor") is not None)
        assert (disk_actuator_specific_info.get("model") is not None)
        assert (disk_actuator_specific_info.get("revision") is not None)
        assert (disk_actuator_specific_info.get("temperature") is not None)
        assert (disk_actuator_specific_info.get("LED_status".lower())
                is not None)
        assert (disk_actuator_specific_info.get("locator_LED".lower())
                is not None)
        assert (disk_actuator_specific_info.get("blink") is not None)
        assert (disk_actuator_specific_info.get("smart") is not None)
        assert (disk_actuator_specific_info.get("health") is not None)
        assert (disk_actuator_specific_info.get("health_reason") is not None)
        assert (disk_actuator_specific_info.get("health_recommendation")
                is not None)
        #assert(disk_actuator_specific_info.get("enclosure_family") is not None)
        assert (disk_actuator_specific_info.get("enclosure_id") is not None)
        assert (disk_actuator_specific_info.get("enclosure_wwn") is not None)
示例#4
0
def test_real_stor_sideplane_module_actuator(agrs):
    check_sspl_ll_is_running()
    instance_id = "*"
    resource_type = "enclosure:hw:sideplane"
    send_enclosure_request("ENCL:%s" % resource_type, instance_id)
    ingressMsg = get_fru_response(resource_type, instance_id)
    sideplane_module_actuator_msg = ingressMsg.get("actuator_response_type")

    assert (sideplane_module_actuator_msg is not None)
    assert (sideplane_module_actuator_msg.get("alert_type") is not None)
    assert (sideplane_module_actuator_msg.get("alert_id") is not None)
    assert (sideplane_module_actuator_msg.get("severity") is not None)
    assert (sideplane_module_actuator_msg.get("host_id") is not None)
    assert (sideplane_module_actuator_msg.get("info") is not None)

    sideplane_module_info = sideplane_module_actuator_msg.get("info")
    assert (sideplane_module_info.get("site_id") is not None)
    assert (sideplane_module_info.get("node_id") is not None)
    assert (sideplane_module_info.get("cluster_id") is not None)
    assert (sideplane_module_info.get("rack_id") is not None)
    assert (sideplane_module_info.get("resource_type") is not None)
    assert (sideplane_module_info.get("event_time") is not None)
    assert (sideplane_module_info.get("resource_id") is not None)

    sideplane_specific_info = sideplane_module_actuator_msg.get(
        "specific_info", {})

    resource_id = sideplane_module_info.get("resource_id")
    if resource_id == "*":
        verify_sideplane_module_specific_info(sideplane_specific_info)
        return

    if sideplane_specific_info:
        assert (sideplane_specific_info.get("object_name") is not None)
        assert (sideplane_specific_info.get("durable_id") is not None)
        assert (sideplane_specific_info.get("status") is not None)
        assert (sideplane_specific_info.get("name") is not None)
        assert (sideplane_specific_info.get("enclosure_id") is not None)
        assert (sideplane_specific_info.get("drawer_id") is not None)
        assert (sideplane_specific_info.get("dom_id") is not None)
        assert (sideplane_specific_info.get("path_id") is not None)
        assert (sideplane_specific_info.get("path_id_numeric") is not None)
        assert (sideplane_specific_info.get("location") is not None)
        assert (sideplane_specific_info.get("position") is not None)
        assert (sideplane_specific_info.get("position_numeric") is not None)
        assert (sideplane_specific_info.get("status_numeric") is not None)
        assert (sideplane_specific_info.get("extended_status") is not None)
        assert (sideplane_specific_info.get("health") is not None)
        assert (sideplane_specific_info.get("health_numeric") is not None)
        assert (sideplane_specific_info.get("health_reason") is not None)
        assert (sideplane_specific_info.get("health_recommendation")
                is not None)

    expanders = sideplane_module_actuator_msg.get("specific_info").get(
        "sideplanes", [])
    if expanders:
        for expander in expanders:
            assert (expander.get("object_name") is not None)
            assert (expander.get("durable_id") is not None)
            assert (expander.get("status") is not None)
            assert (expander.get("name") is not None)
            assert (expander.get("enclosure_id") is not None)
            assert (expander.get("drawer_id") is not None)
            assert (expander.get("dom_id") is not None)
            assert (expander.get("path_id") is not None)
            assert (expander.get("path_id_numeric") is not None)
            assert (expander.get("location") is not None)
            assert (expander.get("status_numeric") is not None)
            assert (expander.get("extended_status") is not None)
            assert (expander.get("fw_revision") is not None)
            assert (expander.get("health") is not None)
            assert (expander.get("health_numeric") is not None)
            assert (expander.get("health_reason") is not None)
            assert (expander.get("health_recommendation") is not None)
示例#5
0
def test_real_stor_controller_actuator(agrs):
    instance_id = "*"
    resource_type = "enclosure:hw:controller"
    send_enclosure_request("ENCL:%s" % resource_type, instance_id)
    ingressMsg = get_fru_response(resource_type, instance_id)
    controller_actuator_msg = ingressMsg.get("actuator_response_type")

    assert(controller_actuator_msg is not None)
    assert(controller_actuator_msg.get("alert_type") is not None)
    assert(controller_actuator_msg.get("alert_id") is not None)
    assert(controller_actuator_msg.get("severity") is not None)
    assert(controller_actuator_msg.get("host_id") is not None)
    assert(controller_actuator_msg.get("info") is not None)
    assert(controller_actuator_msg.get("specific_info") is not None)

    info = controller_actuator_msg.get("info")
    assert(info.get("site_id") is not None)
    assert(info.get("node_id") is not None)
    assert(info.get("cluster_id") is not None)
    assert(info.get("rack_id") is not None)
    assert(info.get("resource_type") is not None)
    assert(info.get("event_time") is not None)
    assert(info.get("resource_id") is not None)

    specific_infos = controller_actuator_msg.get("specific_info")
    for specific_info in specific_infos:
        assert(specific_info.get("object_name") is not None)
        assert(specific_info.get("controller_id") is not None)
        assert(specific_info.get("serial_number") is not None)
        assert(specific_info.get("hardware_version") is not None)
        assert(specific_info.get("cpld_version") is not None)
        assert(specific_info.get("mac_address") is not None)
        assert(specific_info.get("node_wwn") is not None)
        assert(specific_info.get("ip_address") is not None)
        assert(specific_info.get("ip_subnet_mask") is not None)
        assert(specific_info.get("ip_gateway") is not None)
        assert(specific_info.get("disks") is not None)
        assert(specific_info.get("number_of_storage_pools") is not None)
        assert(specific_info.get("virtual_disks") is not None)
        assert(specific_info.get("host_ports") is not None)
        assert(specific_info.get("drive_channels") is not None)
        assert(specific_info.get("drive_bus_type") is not None)
        assert(specific_info.get("status") is not None)
        assert(specific_info.get("failed_over") is not None)
        assert(specific_info.get("fail_over_reason") is not None)
        assert(specific_info.get("vendor") is not None)
        assert(specific_info.get("model") is not None)
        assert(specific_info.get("platform_type") is not None)
        assert(specific_info.get("write_policy") is not None)
        assert(specific_info.get("description") is not None)
        assert(specific_info.get("part_number") is not None)
        assert(specific_info.get("revision") is not None)
        assert(specific_info.get("mfg_vendor_id") is not None)
        assert(specific_info.get("locator_led") is not None)
        assert(specific_info.get("health") is not None)
        assert(specific_info.get("health_reason") is not None)
        assert(specific_info.get("position") is not None)
        assert(specific_info.get("redundancy_mode") is not None)
        assert(specific_info.get("redundancy_status") is not None)
        assert(specific_info.get("compact_flash") is not None)
        assert(specific_info.get("network_parameters") is not None)
        assert(specific_info.get("expander_ports") is not None)
        assert(specific_info.get("expanders") is not None)
        assert(specific_info.get("port") is not None)