MOON
Server: Apache
System: Linux vps.erhabenn.com.br 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64
User: machen (1008)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //opt/microsoft/omsagent/tst/modules/install/check_pkgs.py
import subprocess

from error_codes import *
from helpers     import geninfo_lookup, get_dpkg_pkg_version, get_rpm_pkg_version

def get_package_version(pkg):
    pkg_mngr = geninfo_lookup('PKG_MANAGER')

    # dpkg
    if (pkg_mngr == 'dpkg'):
        return get_dpkg_pkg_version(pkg)
    # rpm
    elif (pkg_mngr == 'rpm'):
        return get_rpm_pkg_version(pkg)
    else:
        return None



# get current OMSConfig (DSC) version running on machine
def get_omsconfig_version():
    pkg_version = get_package_version('omsconfig')
    if (pkg_version == None):
        # couldn't find OMSConfig
        return None
    return pkg_version



# get current OMI version running on machine
def get_omi_version():
    pkg_version = get_package_version('omi')
    if (pkg_version == None):
        # couldn't find OMI
        return None
    return pkg_version



# get current SCX version running on machine
def get_scx_version():
    pkg_version = get_package_version('scx')
    if (pkg_version == None):
        # couldn't find SCX
        return None
    return pkg_version



# check to make sure all necessary packages are installed
def check_packages():
    if (get_omsconfig_version() == None):
        return ERR_OMSCONFIG

    if (get_omi_version() == None):
        return ERR_OMI

    if (get_scx_version() == None):
        return ERR_SCX
    
    return NO_ERROR