コード例 #1
0
ファイル: eventlistener.py プロジェクト: kontron/python-hpi
def main():
    s = Session()
    s.open()
    listener = EventListener(s)
    listener.subscribe()
    while True:
        print listener.get()
    listener.unsubscribe()
    s.close()
コード例 #2
0
ファイル: resources.py プロジェクト: kontron/python-hpi
def main():
    s = Session()
    s.open()
    for res in s.resources():
        print """
Entity Path:             %(entity_path)s
  Entry Id:              %(entry_id)d
  Hotswap Capabilities:  %(hotswap_capabilities)Xh
  Resource Capabilities: %(resource_capabilities)Xh (%(resource_capabilities)s)
  Resource Failed:       %(resource_failed)d
  Resource Id:           %(resource_id)d
  Resource Info:
"""[1:-1] % res.rpt.__dict__

        print """
    Resource Revision:   %(resource_revision)s
    Specific Version:    %(specific_version)s
    Device Support:      %(device_support)s
    Manufacturer Id:     %(manufacturer_id)d
    Product Id:          %(product_id)d
    Firmware Version:    %(firmware_major_revision)d.%(firmware_minor_revision)d.%(aux_firmware_revision)d
    GUID:                %(guid)s
"""[1:-1] % res.rpt.resource_info.__dict__

        print """
  Resource Severity:     %(resource_severity)d
  Resource Tag:          %(resource_tag)s
"""[1:-1] % res.rpt.__dict__

        print '  RDRs:'
        for rdr in res.rdrs():
            dump_rdr(rdr, 4)
            if isinstance(rdr, DimiRdr):
                d = res.dimi_handler_by_rdr(rdr)
                for (no, test) in enumerate(d.test_list()):
                    print '      Test Number:            %d' % no
                    dump_dimi_test(test, 6)
                    print '      Parameters:'
                    for param in test.parameters:
                        dump_dimi_test_parameters(param, 8)
                        print ''
                    print ''
            print ''

    s.close()
コード例 #3
0
ファイル: fumi.py プロジェクト: kontron/python-hpi
def main():
    try:
        s = Session()
        s.open()
        s.discover()

        # set source
        ep = EntityPath()
        ep.from_string(sys.argv[1])

        print 'Entity path is "%s"' % ep
        r = s.get_resources_by_entity_path(ep)[0]
        f = r.fumi_handler_by_num(fumi_num=int(sys.argv[2]))
        b = f.logical_bank()

        print 'Setting Source to "%s"' % (sys.argv[3],)
        b.set_source(sys.argv[3])

        # validation
        print '[1] Validate'
        b.start_validation()
        status = b.status()
        print '  Polling status'
        status = poll_unless_equal(b.status, SAHPI_FUMI_SOURCE_VALIDATION_INITIATED)
        print_fumi_status(status)
        if status != SAHPI_FUMI_SOURCE_VALIDATION_DONE:
            print 'FAILED'
            sys.exit(1)

        print '  Source image informations:'
        info = b.source_info()
        print """
        URI: %(source_uri)s
        Status: %(source_status)s
        Identifier: %(identifier)s
        Description: %(description)s
        Date: %(date_time)s
        Version: %(major_version)s.%(minor_version)s.%(aux_version)08x
    """[1:-1] % info.__dict__

        # installation
        print '[2] Install'
        b.start_installation()
        print '  Polling status'
        status = poll_unless_equal(b.status, SAHPI_FUMI_INSTALL_INITIATED)
        print_fumi_status(status)
        if status != SAHPI_FUMI_INSTALL_DONE:
            print 'FAILED'
            sys.exit(1)

        # activation
        print '[3] Activate'
        f.start_activation()
        print '  Polling status'
        status = poll_unless_equal(b.status, SAHPI_FUMI_ACTIVATE_INITIATED)
        print_fumi_status(status)
        if status != SAHPI_FUMI_ACTIVATE_DONE:
            print 'FAILED'
            sys.exit(1)

        # cleanup
        print '[4] Cleanup'
        b.cleanup()

        s.close()
    except SaHpiError, e:
        print 'ERROR: %s' % e.error
コード例 #4
0
ファイル: domaininfo.py プロジェクト: kontron/python-hpi
def main():
    s = Session()
    s.open()
    print s.domain_info()
    s.close()