def baseconfig():

    platform = OnlPlatform()

    msg("Setting up base ONL platform configuration for %s...\n" %
        platform.platform())

    if os.path.exists(OnlPlatform.CURRENT_DIR):
        os.unlink(OnlPlatform.CURRENT_DIR)

    os.symlink(platform.basedir(), OnlPlatform.CURRENT_DIR)

    DEB_GNU_HOST_TYPE = None
    HOST_TYPES = [
        'powerpc-linux-gnu',
        'i486-linux-gnu',
        'i386-linux-gnu',
        'x86_64-linux-gnu',
        'arm-linux-gnueabi',
        'aarch64-linux-gnu',
    ]

    for ht in HOST_TYPES:
        if os.path.exists('/lib/%s' % ht):
            DEB_GNU_HOST_TYPE = ht
            break

    if DEB_GNU_HOST_TYPE is None:
        msg("Could not determine the current host type.\n", fatal=True)

    DEFAULT_ONLP_LIB = "/lib/%s/libonlp-platform.so" % DEB_GNU_HOST_TYPE

    PLATFORM_ONLP_LIBS = [
        # Look for full platform and revision library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.platform()),
        # Look for common platform library
        "%s/lib/libonlp-%s.so" %
        (platform.basedir_onl(), platform.baseplatform()),
    ]

    for l in PLATFORM_ONLP_LIBS:
        if os.path.exists(l):
            if os.path.exists(DEFAULT_ONLP_LIB):
                os.unlink(DEFAULT_ONLP_LIB)
            os.symlink(l, DEFAULT_ONLP_LIB)

    ONLPDUMP = "%s/bin/onlpdump" % (platform.basedir_onl())

    if not platform.baseconfig():
        msg("*** platform class baseconfig failed.\n", fatal=True)

    if os.path.exists(ONLPDUMP):
        os.system("%s -i > %s/oids" % (ONLPDUMP, platform.basedir_onl()))
        os.system("%s -o -j > %s/onie-info.json" %
                  (ONLPDUMP, platform.basedir_onl()))
        os.system("%s -x -j > %s/platform-info.json" %
                  (ONLPDUMP, platform.basedir_onl()))

    msg("Setting up base platform configuration for %s: done\n" %
        platform.platform())
def baseconfig():

    platform=OnlPlatform()

    msg("Setting up base ONL platform configuration for %s...\n" %
        platform.platform())

    if os.path.exists(OnlPlatform.CURRENT_DIR):
        os.unlink(OnlPlatform.CURRENT_DIR)

    os.symlink(platform.basedir(), OnlPlatform.CURRENT_DIR)

    DEB_GNU_HOST_TYPE = None
    HOST_TYPES = [ 'powerpc-linux-gnu',
                   'i486-linux-gnu',
                   'i386-linux-gnu',
                   'x86_64-linux-gnu',
                   'arm-linux-gnueabi',
                   'aarch64-linux-gnu',
                   ]

    for ht in HOST_TYPES:
        if os.path.exists('/lib/%s' % ht):
            DEB_GNU_HOST_TYPE=ht
            break

    if DEB_GNU_HOST_TYPE is None:
        msg("Could not determine the current host type.\n", fatal=True)

    DEFAULT_ONLP_LIB = "/lib/%s/libonlp-platform.so" % DEB_GNU_HOST_TYPE

    PLATFORM_ONLP_LIBS = [
        # Look for full platform and revision library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.platform()),
        # Look for common platform library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.baseplatform()),
        ]

    for l in PLATFORM_ONLP_LIBS:
        if os.path.exists(l):
            if os.path.exists(DEFAULT_ONLP_LIB):
                os.unlink(DEFAULT_ONLP_LIB)
            os.symlink(l, DEFAULT_ONLP_LIB)

    ONLPDUMP = "%s/bin/onlpdump" % (platform.basedir_onl())

    if not platform.baseconfig():
        msg("*** platform class baseconfig failed.\n", fatal=True)

    if os.path.exists(ONLPDUMP):
        os.system("%s -i > %s/oids" % (ONLPDUMP,platform.basedir_onl()))
        os.system("%s -o -j > %s/onie-info.json" % (ONLPDUMP, platform.basedir_onl()))
        os.system("%s -x -j > %s/platform-info.json" % (ONLPDUMP, platform.basedir_onl()))

    msg("Setting up base platform configuration for %s: done\n" %
        platform.platform())
Exemple #3
0
def baseconfig():

    platform=OnlPlatform()

    msg("Setting up base ONL platform configuration for %s...\n" %
        platform.platform())

    if os.path.exists(OnlPlatform.CURRENT_DIR):
        os.unlink(OnlPlatform.CURRENT_DIR)

    os.symlink(platform.basedir(), OnlPlatform.CURRENT_DIR)

    DEB_GNU_HOST_TYPE = None
    HOST_TYPES = [ 'powerpc-linux-gnu',
                   'i486-linux-gnu',
                   'i386-linux-gnu',
                   'x86_64-linux-gnu',
                   'arm-linux-gnueabi',
                   'aarch64-linux-gnu',
                   ]

    for ht in HOST_TYPES:
        if os.path.exists('/lib/%s' % ht):
            DEB_GNU_HOST_TYPE=ht
            break

    if DEB_GNU_HOST_TYPE is None:
        msg("Could not determine the current host type.\n", fatal=True)

    DEFAULT_ONLP_LIB = "/lib/%s/libonlp-platform.so" % DEB_GNU_HOST_TYPE

    PLATFORM_ONLP_LIBS = [
        # Look for full platform and revision library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.platform()),
        # Look for common platform library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.baseplatform()),
        ]

    for l in PLATFORM_ONLP_LIBS:
        if os.path.exists(l):
            if os.path.exists(DEFAULT_ONLP_LIB):
                os.unlink(DEFAULT_ONLP_LIB)
            os.symlink(l, DEFAULT_ONLP_LIB)

    ONLPD = "/bin/onlpd"

    try:
        import dmidecode
        with open("%s/dmi-system-version" % platform.basedir_onl(), "w") as f:
            f.write(dmidecode.QuerySection('system')['0x0001']['data']['Version'])
    except:
        pass
    finally:
        if 'dmidecodemod' in sys.modules:
            mod = sys.modules['dmidecodemod']
            buf = mod.get_warnings()
            if buf:
                [msg("*** %s\n" % x) for x in buf.splitlines(False)]
            mod.clear_warnings()

    if not platform.baseconfig():
        msg("*** platform class baseconfig failed.\n", fatal=True)

    if os.path.exists(ONLPD):
        chassis_dir = os.path.join(platform.basedir_onl(), "chassis")
        if not os.path.isdir(chassis_dir):
            os.makedirs(chassis_dir)
        os.system("%s chassis onie  json > %s/onie-info.json" % (ONLPD, chassis_dir))
        os.system("%s chassis asset json > %s/asset-info.json" % (ONLPD, chassis_dir))

    msg("Setting up base platform configuration for %s: done\n" %
        platform.platform())
def baseconfig():

    platform=OnlPlatform()

    msg("Setting up base ONL platform configuration for %s...\n" %
        platform.platform())

    if os.path.exists(OnlPlatform.CURRENT_DIR):
        os.unlink(OnlPlatform.CURRENT_DIR)

    os.symlink(platform.basedir(), OnlPlatform.CURRENT_DIR)

    DEB_GNU_HOST_TYPE = None
    HOST_TYPES = [ 'powerpc-linux-gnu',
                   'i486-linux-gnu',
                   'i386-linux-gnu',
                   'x86_64-linux-gnu',
                   'arm-linux-gnueabi',
                   'arm-linux-gnueabihf',
                   'aarch64-linux-gnu',
                   ]

    for ht in HOST_TYPES:
        if os.path.exists('/lib/%s' % ht):
            DEB_GNU_HOST_TYPE=ht
            break

    if DEB_GNU_HOST_TYPE is None:
        msg("Could not determine the current host type.\n", fatal=True)

    DEFAULT_ONLP_LIB = "/lib/%s/libonlp-platform.so" % DEB_GNU_HOST_TYPE

    PLATFORM_ONLP_LIBS = [
        # Look for full platform and revision library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.platform()),
        # Look for common platform library
        "%s/lib/libonlp-%s.so" % (platform.basedir_onl(), platform.baseplatform()),
        ]

    for l in PLATFORM_ONLP_LIBS:
        if os.path.exists(l):
            if os.path.exists(DEFAULT_ONLP_LIB):
                os.unlink(DEFAULT_ONLP_LIB)
            os.symlink(l, DEFAULT_ONLP_LIB)

    ONLPDUMP = "%s/bin/onlpdump" % (platform.basedir_onl())

    try:
        import dmidecode
        with open("%s/dmi-system-version" % platform.basedir_onl(), "w") as f:
            f.write(dmidecode.QuerySection('system')['0x0001']['data']['Version'])
    except:
        pass
    finally:
        if 'dmidecodemod' in sys.modules:
            mod = sys.modules['dmidecodemod']
            buf = mod.get_warnings()
            if buf:
                [msg("*** %s\n" % x) for x in buf.splitlines(False)]
            mod.clear_warnings()

    if not platform.baseconfig():
        msg("*** platform class baseconfig failed.\n", fatal=True)

    if os.path.exists(ONLPDUMP):
        os.system("%s -i > %s/oids" % (ONLPDUMP,platform.basedir_onl()))
        os.system("%s -o -j > %s/onie-info.json" % (ONLPDUMP, platform.basedir_onl()))
        os.system("%s -x -j > %s/platform-info.json" % (ONLPDUMP, platform.basedir_onl()))

    msg("Setting up base platform configuration for %s: done\n" %
        platform.platform())