Exemplo n.º 1
0
def osh_createDsgAndMemberOsh(db2SubsystemName, db2SubsystemOsh, dsg):
    str_name = 'name'
    str_membership = 'membership'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'
        str_membership = 'member'

    _vector = ObjectStateHolderVector()
    if isNotNull(dsg) and isNotNull(dsg.name):
        dsgOsh = ObjectStateHolder('db2_datasharing_group')
        dsgOsh.setAttribute(str_name, dsg.name)
        dsgOsh.setAttribute('group_attach_name', dsg.attachName)
        dsgOsh.setAttribute('group_mode', dsg.mode)
        if isNotNull(dsg.level) and isnumeric(dsg.level):
            dsgOsh.setIntegerAttribute('group_level', int(dsg.level))
        if isNotNull(dsg.protocolLevel) and isnumeric(dsg.protocolLevel):
            dsgOsh.setIntegerAttribute('group_protocol_level', int(dsg.protocolLevel))
        _vector.add(dsgOsh)
        for member in dsg.members:
            if isNotNull(member) and isNotNull(member.db2Member) and isNotNull(member.subsys) and upper(member.subsys) == db2SubsystemName:
                dsgMemberOsh = ObjectStateHolder('db2_datasharing_group_member')
                dsgMemberOsh.setAttribute(str_name, member.db2Member)
                dsgMemberOsh.setAttribute('member_id', member.id)
                dsgMemberOsh.setAttribute('member_level', member.db2Level)
                dsgMemberOsh.setAttribute('member_status', member.status)
                dsgMemberOsh.setContainer(db2SubsystemOsh)
                _vector.add(dsgMemberOsh)

                # if DSG Member available, make subsystem member of DSB --------s
                memberLinkOsh = modeling.createLinkOSH(str_membership, dsgOsh, db2SubsystemOsh)
                _vector.add(memberLinkOsh)
    return _vector
Exemplo n.º 2
0
def osh_createDb2Tablespace(db2SubsystemOsh, tb):
    str_name = 'name'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'

    if isNotNull(tb) and isNotNull(tb[0]):
        tbOsh = ObjectStateHolder('mainframe_db2_tablespace')
        tbOsh.setAttribute(str_name, tb[0])
        tbOsh.setAttribute('dbtablespace_status', tb[1])
        tbOsh.setAttribute('type', tb[2])
        tbOsh.setAttribute('encoding_scheme', tb[3])
        tbOsh.setAttribute('dbtablespace_initialextent', tb[4])
        if isNotNull(tb[5]) and isnumeric(tb[5]):
            tbOsh.setIntegerAttribute('max_dataset_size', int(tb[5]))
        if isNotNull(tb[6]) and isnumeric(tb[6]):
            tbOsh.setIntegerAttribute('number_tables', int(tb[6]))
        if isNotNull(tb[7]) and isnumeric(tb[7]):
            tbOsh.setIntegerAttribute('number_partitions', int(tb[7]))
        try:
            if len(tb[8]) > 19:
                tb[8] = tb[8][0:18]
                created = modeling.getDateFromString(tb[8], 'yyyy-MM-dd-kk.mm.ss', None)
                tbOsh.setDateAttribute('create_date', created)
        except:
            logger.debug("Ignoring create_date. Unable to parse date string")
        tbOsh.setContainer(db2SubsystemOsh)
        return tbOsh
    return None
Exemplo n.º 3
0
def osh_createDdfOsh(db2SubsystemOsh, ddfObj):
    str_name = 'name'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'

    _vector = ObjectStateHolderVector()
    if isNotNull(ddfObj.locationName):
        ddfOsh = ObjectStateHolder('db2_ddf')
        ddfOsh.setAttribute(str_name, ddfObj.locationName)
        ddfOsh.setAttribute('ddf_status', ddfObj.status)
        ddfOsh.setAttribute('ddf_luname', ddfObj.locationLuName)
        ddfOsh.setAttribute('ddf_generic_luname', ddfObj.locationGenericLuName)
        ddfOsh.setAttribute('ddf_ip_address', ddfObj.ipAddress)
        if isNotNull(ddfObj.ipAddress) and isnumeric(ddfObj.ipAddress):
            ddfOsh.setAttribute('ddf_tcp_port', int(ddfObj.tcpPort))
        ddfOsh.setAttribute('ddf_sql_domain', ddfObj.sqlDomain)
        ddfOsh.setContainer(db2SubsystemOsh)
        _vector.add(ddfOsh)
        for alias in ddfObj.ddfAlias:
            ddfAliasOsh = ObjectStateHolder('db2_ddf_alias')
            ddfAliasOsh.setAttribute(str_name, alias.aliasName)
            if isNotNull(alias.aliasPort) and isnumeric(alias.aliasPort):
                ddfAliasOsh.setIntegerAttribute('ddf_alias_port', int(alias.aliasPort))
            ddfAliasOsh.setContainer(ddfOsh)
            _vector.add(ddfAliasOsh)
    return _vector
Exemplo n.º 4
0
def osh_createDb2Tablespace(db2SubsystemOsh, tb):
    str_name = 'name'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'

    if isNotNull(tb) and isNotNull(tb[0]):
        tbOsh = ObjectStateHolder('mainframe_db2_tablespace')
        tbOsh.setAttribute(str_name, tb[0])
        tbOsh.setAttribute('dbtablespace_status', tb[1])
        tbOsh.setAttribute('type', tb[2])
        tbOsh.setAttribute('encoding_scheme', tb[3])
        tbOsh.setAttribute('dbtablespace_initialextent', tb[4])
        if isNotNull(tb[5]) and isnumeric(tb[5]):
            tbOsh.setIntegerAttribute('max_dataset_size', int(tb[5]))
        if isNotNull(tb[6]) and isnumeric(tb[6]):
            tbOsh.setIntegerAttribute('number_tables', int(tb[6]))
        if isNotNull(tb[7]) and isnumeric(tb[7]):
            tbOsh.setIntegerAttribute('number_partitions', int(tb[7]))
        try:
            if len(tb[8]) > 19:
                tb[8] = tb[8][0:18]
                created = modeling.getDateFromString(tb[8],
                                                     'yyyy-MM-dd-kk.mm.ss',
                                                     None)
                tbOsh.setDateAttribute('create_date', created)
        except:
            logger.debug("Ignoring create_date. Unable to parse date string")
        tbOsh.setContainer(db2SubsystemOsh)
        return tbOsh
    return None
Exemplo n.º 5
0
def osh_createDdfOsh(db2SubsystemOsh, ddfObj):
    str_name = 'name'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'

    _vector = ObjectStateHolderVector()
    if isNotNull(ddfObj.locationName):
        ddfOsh = ObjectStateHolder('db2_ddf')
        ddfOsh.setAttribute(str_name, ddfObj.locationName)
        ddfOsh.setAttribute('ddf_status', ddfObj.status)
        ddfOsh.setAttribute('ddf_luname', ddfObj.locationLuName)
        ddfOsh.setAttribute('ddf_generic_luname', ddfObj.locationGenericLuName)
        ddfOsh.setAttribute('ddf_ip_address', ddfObj.ipAddress)
        if isNotNull(ddfObj.ipAddress) and isnumeric(ddfObj.ipAddress):
            ddfOsh.setAttribute('ddf_tcp_port', int(ddfObj.tcpPort))
        ddfOsh.setAttribute('ddf_sql_domain', ddfObj.sqlDomain)
        ddfOsh.setContainer(db2SubsystemOsh)
        _vector.add(ddfOsh)
        for alias in ddfObj.ddfAlias:
            ddfAliasOsh = ObjectStateHolder('db2_ddf_alias')
            ddfAliasOsh.setAttribute(str_name, alias.aliasName)
            if isNotNull(alias.aliasPort) and isnumeric(alias.aliasPort):
                ddfAliasOsh.setIntegerAttribute('ddf_alias_port',
                                                int(alias.aliasPort))
            ddfAliasOsh.setContainer(ddfOsh)
            _vector.add(ddfAliasOsh)
    return _vector
Exemplo n.º 6
0
def osh_createEviewOsh(localshell, zOsOsh, appPath, confFolder, file, nodeName, eviewVersion, defaultIp):
    # Create EView agent OSH ---------------------------------------------------
    logger.debug('Creating EView object')
    eviewOSH = ObjectStateHolder('eview')

    if _CMDB_CLASS_MODEL.version() >= 9:
        eviewOSH.setAttribute('name', nodeName)
        eviewOSH.setAttribute('discovered_product_name', nodeName)
        eviewOSH.setAttribute('version', eviewVersion)
    else:
        eviewOSH.setAttribute('data_name', nodeName)
        eviewOSH.setAttribute('application_version', eviewVersion)

    eviewOSH.setAttribute('application_path', appPath)
    eviewOSH.setAttribute('application_ip', defaultIp)
    eviewOSH.setAttribute('vendor', 'EView Technology Inc.')
    eviewOSH.setAttribute('eview_agent_type', 'z/OS')
    fileContents = localshell.safecat('%s%s' % (confFolder, file))
    address, port = eview_lib.getEviewAgentAddress(localshell, fileContents)
    if eview_lib.isNotNull(address):
        eviewOSH.setAttribute('application_ip', address)
    if eview_lib.isNotNull(port) and eview_lib.isnumeric(port):
        eviewOSH.setIntegerAttribute('application_port', int(port))
    eviewOSH.setContainer(zOsOsh)
    return eviewOSH
Exemplo n.º 7
0
def osh_createDsgAndMemberOsh(db2SubsystemName, db2SubsystemOsh, dsg):
    str_name = 'name'
    str_membership = 'membership'
    if UCMDB_VERSION < 9:
        str_name = 'data_name'
        str_membership = 'member'

    _vector = ObjectStateHolderVector()
    if isNotNull(dsg) and isNotNull(dsg.name):
        dsgOsh = ObjectStateHolder('db2_datasharing_group')
        dsgOsh.setAttribute(str_name, dsg.name)
        dsgOsh.setAttribute('group_attach_name', dsg.attachName)
        dsgOsh.setAttribute('group_mode', dsg.mode)
        if isNotNull(dsg.level) and isnumeric(dsg.level):
            dsgOsh.setIntegerAttribute('group_level', int(dsg.level))
        if isNotNull(dsg.protocolLevel) and isnumeric(dsg.protocolLevel):
            dsgOsh.setIntegerAttribute('group_protocol_level',
                                       int(dsg.protocolLevel))
        _vector.add(dsgOsh)
        for member in dsg.members:
            if isNotNull(member) and isNotNull(member.db2Member) and isNotNull(
                    member.subsys) and upper(
                        member.subsys) == db2SubsystemName:
                dsgMemberOsh = ObjectStateHolder(
                    'db2_datasharing_group_member')
                dsgMemberOsh.setAttribute(str_name, member.db2Member)
                dsgMemberOsh.setAttribute('member_id', member.id)
                dsgMemberOsh.setAttribute('member_level', member.db2Level)
                dsgMemberOsh.setAttribute('member_status', member.status)
                dsgMemberOsh.setContainer(db2SubsystemOsh)
                _vector.add(dsgMemberOsh)

                # if DSG Member available, make subsystem member of DSB --------s
                memberLinkOsh = modeling.createLinkOSH(str_membership, dsgOsh,
                                                       db2SubsystemOsh)
                _vector.add(memberLinkOsh)
    return _vector