From 42f8de76b1e1f94b5d5cd5f01088a828c80e9093 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:03:06 +0530 Subject: [PATCH 01/24] Update nxAvailableUpdates.py --- .../Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 0956e38e8..c05576e1a 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -12,6 +12,7 @@ import fnmatch import time import os +import uuid protocol = imp.load_source('protocol', '../protocol.py') nxDSCLog = imp.load_source('nxDSCLog', '../nxDSCLog.py') @@ -71,9 +72,11 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list + remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": @@ -112,10 +115,13 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', out) LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list - def GetYumUpdates(Name): # Format: # Name : zsh From 26da23148f8d774a18d470a88b94430472d7cdb4 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:12:05 +0530 Subject: [PATCH 02/24] Update nxAvailableUpdates.py --- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 6a4953040..51cac81c9 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -12,6 +12,7 @@ import fnmatch import time import os +import uuid protocol = imp.load_source('protocol', '../protocol.py') nxDSCLog = imp.load_source('nxDSCLog', '../nxDSCLog.py') @@ -69,9 +70,11 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list + remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": @@ -110,6 +113,10 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', out) LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list @@ -467,4 +474,4 @@ def GetPackageManager(): if ret == 'apt-get': ret = 'apt' break - return ret \ No newline at end of file + return ret From 63be910fbf007ee8c6e3f67bcde1bde5488b7907 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:14:20 +0530 Subject: [PATCH 03/24] Update nxAvailableUpdates.py --- .../Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index e22489739..165fe3eb8 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -12,6 +12,7 @@ import fnmatch import time import os +import uuid protocol = imp.load_source('protocol', '../protocol.py') nxDSCLog = imp.load_source('nxDSCLog', '../nxDSCLog.py') @@ -71,9 +72,11 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list + remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": @@ -112,6 +115,10 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', out) LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list From 8a73a6b995f66d8a6240346db270df5e67a492ee Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:49:29 +0530 Subject: [PATCH 04/24] Update nxAvailableUpdates.py --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index e22489739..266104877 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -193,7 +193,6 @@ def GetYumUpdates(Name): if len(param_list) == 0 and len(param_list2) > 0: LG().Log('DEBUG', "No valid packages found. Falling back to package_info based on the package name.") - param_list = param_list2 cmd = "LANG=en_US.UTF8 " + yum_info + param_list LG().Log('DEBUG', "Retrieving individual package information from Yum using cmd: " + cmd) From 1e8ae818d4fdf118b3af0778c175a0d39f97761f Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:50:30 +0530 Subject: [PATCH 05/24] Update nxAvailableUpdates.py --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 165fe3eb8..056e72bd6 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -200,8 +200,7 @@ def GetYumUpdates(Name): if len(param_list) == 0 and len(param_list2) > 0: LG().Log('DEBUG', "No valid packages found. Falling back to package_info based on the package name.") - param_list = param_list2 - + cmd = "LANG=en_US.UTF8 " + yum_info + param_list LG().Log('DEBUG', "Retrieving individual package information from Yum using cmd: " + cmd) start_time = time.time() From dfbe29fc73e72b62b9a97a65955862eaec4cdc86 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:50:55 +0530 Subject: [PATCH 06/24] Update nxAvailableUpdates.py --- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index c05576e1a..7780283d3 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -199,7 +199,6 @@ def GetYumUpdates(Name): if len(param_list) == 0 and len(param_list2) > 0: LG().Log('DEBUG', "No valid packages found. Falling back to package_info based on the package name.") - param_list = param_list2 cmd = "LANG=en_US.UTF8 " + yum_info + param_list LG().Log('DEBUG', "Retrieving individual package information from Yum using cmd: " + cmd) From 88dbd081588f2d31e22bbdce5e7b36adc0c9ce69 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Thu, 19 Jan 2023 15:51:28 +0530 Subject: [PATCH 07/24] Update nxAvailableUpdates.py --- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 1 - 1 file changed, 1 deletion(-) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 51cac81c9..0a3fcde41 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -198,7 +198,6 @@ def GetYumUpdates(Name): if len(param_list) == 0 and len(param_list2) > 0: LG().Log('DEBUG', "No valid packages found. Falling back to package_info based on the package name.") - param_list = param_list2 cmd = "LANG=en_US.UTF8 " + yum_info + param_list LG().Log('DEBUG', "Retrieving individual package information from Yum using cmd: " + cmd) From ce2ba62bbc1dec6fe2a8de9d93af6fc3657f39be Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:11:49 +0530 Subject: [PATCH 08/24] Update nxAvailableUpdates.py --- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 0a3fcde41..38ead4f81 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -74,7 +74,7 @@ def GetAptUpdates(Name): #Collect Security updates security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From e986ff264974e64e41b5edd098427972668b818c Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:12:06 +0530 Subject: [PATCH 09/24] Update nxAvailableUpdates.py --- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 7780283d3..fbaf175a4 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -76,7 +76,7 @@ def GetAptUpdates(Name): #Collect Security updates security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From 3b80b6134c5ae7bb9a38524b1b4d0ebd7d2af382 Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Wed, 25 Jan 2023 16:12:23 +0530 Subject: [PATCH 10/24] Update nxAvailableUpdates.py --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 056e72bd6..3b850e1d7 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -76,7 +76,7 @@ def GetAptUpdates(Name): #Collect Security updates security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'sudo rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From 95e0949f5db8a601ec18165ea2ca28adc8135eb1 Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 11:52:00 +0530 Subject: [PATCH 11/24] Added files --- .../2.4x-2.5x/Scripts/nxAvailableUpdates.py | 16 ++++++++++------ .../2.6x-2.7x/Scripts/nxAvailableUpdates.py | 15 ++++++++++----- .../Scripts/3.x/Scripts/nxAvailableUpdates.py | 13 +++++++++---- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 0e69c37f3..99093e661 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -93,10 +93,17 @@ def GetAptUpdates(Name): srch = re.compile(srch_txt, re.M | re.S) pkg_list = srch.findall(str(out)) for package in pkg_list: - security_patch_list.append(package[0]) + security_patch_list.append(package[0]) cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) - code, out = RunGetOutput(cmd, False, False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + if len(out) < 2: return updates_list srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' @@ -115,10 +122,7 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) - - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', out) + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index fbaf175a4..5adc06feb 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -93,10 +93,18 @@ def GetAptUpdates(Name): srch = re.compile(srch_txt, re.M | re.S) pkg_list = srch.findall(str(out)) for package in pkg_list: - security_patch_list.append(package[0]) + security_patch_list.append(package[0]) cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) code, out = RunGetOutput(cmd, False, False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + if len(out) < 2: return updates_list srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' @@ -115,10 +123,7 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) - - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', out) + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 38ead4f81..4f0fd9007 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -95,6 +95,14 @@ def GetAptUpdates(Name): cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) code, out = RunGetOutput(cmd, False, False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) + + code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + if len(out) < 2: return updates_list srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' @@ -113,10 +121,7 @@ def GetAptUpdates(Name): d['Classification'] = "Others" d['Repository'] = pkg[2] updates_list.append(copy.deepcopy(d)) - - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', out) + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list From 9e60aaf65bcdc882dcefa1be0acd24100371e23a Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 12:08:30 +0530 Subject: [PATCH 12/24] Changed file name --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 4 ++-- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 4 ++-- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 99093e661..cef05e618 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -74,9 +74,9 @@ def GetAptUpdates(Name): d = {} g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) + security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 5adc06feb..c01e6be76 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -74,9 +74,9 @@ def GetAptUpdates(Name): d = {} g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) + security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 4f0fd9007..65518277f 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -72,9 +72,9 @@ def GetAptUpdates(Name): d = {} g_guid = str(uuid.uuid4()) #Collect Security updates - security_sources_list = '/tmp/aumv1-oms-assess-security-{0}.list'.format(g_guid) + security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/aumv1-oms-assess-security-*.list' #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From 9fc4682543e57665cc169e8e60b65c87ebfaf50b Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 12:35:42 +0530 Subject: [PATCH 13/24] Corrected out to rmout --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 6 +++--- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 6 +++--- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index cef05e618..51fa5bd18 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -100,9 +100,9 @@ def GetAptUpdates(Name): LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) if len(out) < 2: return updates_list diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index c01e6be76..5afb5916e 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -101,9 +101,9 @@ def GetAptUpdates(Name): LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) if len(out) < 2: return updates_list diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 65518277f..3f407bdd9 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -99,9 +99,9 @@ def GetAptUpdates(Name): LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) - code, out = RunGetOutput(remove_security_sources_list_cmd,False,False) - if code != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, out)) + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) if len(out) < 2: return updates_list From 7615a17b331c6236ef99b6a841c1c60ecd2958bb Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 13:01:00 +0530 Subject: [PATCH 14/24] Completed --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 7 +++++-- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 7 +++++-- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 51fa5bd18..203199be2 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -73,10 +73,13 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) + privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers #Collect Security updates - security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern + + #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 5afb5916e..56ccc1c18 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -73,10 +73,13 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) + privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers #Collect Security updates - security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern + + #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 3f407bdd9..09dc26625 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -71,10 +71,13 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) + privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers #Collect Security updates - security_sources_list = '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list - remove_security_sources_list_cmd = 'rm ' + '/tmp/msft-v1-assess-security-*.list' #to remove all files, following this pattern + + #to remove all files, following this pattern + remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From d4e5eb353324d95bf0b05d65fe1cf235913b1a90 Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 13:15:43 +0530 Subject: [PATCH 15/24] adding backup --- .../Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 12 +++++++++--- .../Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 12 +++++++++--- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 12 +++++++++--- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 203199be2..031338fc9 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -73,13 +73,19 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers + privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers + + if not os.path.exists(privileged_path): + privileged_path = "/tmp/" + + LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + #Collect Security updates - security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 56ccc1c18..e2f872417 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -73,13 +73,19 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers + privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers + + if not os.path.exists(privileged_path): + privileged_path = "/tmp/" + + LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + #Collect Security updates - security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 09dc26625..b0051e3a1 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -71,13 +71,19 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent" #omsagent omiusers + privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers + + if not os.path.exists(privileged_path): + privileged_path = "/tmp/" + + LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + #Collect Security updates - security_sources_list = privileged_path + '/tmp/msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + '/tmp/msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From 4a3fd9254e7e0deb09711099ad6658e296181a7c Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 13:31:09 +0530 Subject: [PATCH 16/24] Added os.path.join --- Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py | 4 ++-- Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py | 4 ++-- Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 031338fc9..07ed85603 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -81,11 +81,11 @@ def GetAptUpdates(Name): LG().Log('DEBUG', 'Privileged path: ' + privileged_path) #Collect Security updates - security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + os.path.join(privileged_path, 'msft-v1-assess-security-*.list') dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index e2f872417..d412acb47 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -81,11 +81,11 @@ def GetAptUpdates(Name): LG().Log('DEBUG', 'Privileged path: ' + privileged_path) #Collect Security updates - security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + os.path.join(privileged_path, 'msft-v1-assess-security-*.list') dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index b0051e3a1..b8f15d50a 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -79,11 +79,11 @@ def GetAptUpdates(Name): LG().Log('DEBUG', 'Privileged path: ' + privileged_path) #Collect Security updates - security_sources_list = privileged_path + 'msft-v1-assess-security-{0}.list'.format(g_guid) + security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) prep_security_sources_list_cmd = 'grep security /etc/apt/sources.list > ' + security_sources_list #to remove all files, following this pattern - remove_security_sources_list_cmd = 'rm ' + privileged_path + 'msft-v1-assess-security-*.list' + remove_security_sources_list_cmd = 'rm ' + os.path.join(privileged_path, 'msft-v1-assess-security-*.list') dist_upgrade_simulation_cmd_template = 'LANG=en_US.UTF8 apt-get -s dist-upgrade ' # Refresh the repo if helperlib.CONFIG_SYSCONFDIR_DSC == "omsconfig": From 2ccfefc55f98ceb26062073f2e98cc4f7ee639b1 Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 3 Feb 2023 13:48:58 +0530 Subject: [PATCH 17/24] Refactored --- .../2.4x-2.5x/Scripts/nxAvailableUpdates.py | 77 +++++++++--------- .../2.6x-2.7x/Scripts/nxAvailableUpdates.py | 77 +++++++++--------- .../Scripts/3.x/Scripts/nxAvailableUpdates.py | 80 ++++++++++--------- 3 files changed, 125 insertions(+), 109 deletions(-) diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 07ed85603..0ee44cc0d 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -95,46 +95,51 @@ def GetAptUpdates(Name): code, out = RunGetOutput(cmd, False, False) #Get Security Patches list security_patch_list = [] - code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) - security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) - code,out = RunGetOutput(security_updates_cmd,False,False) - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(str(out)) - for package in pkg_list: - security_patch_list.append(package[0]) - cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' - LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) - if code != 0: - LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) - raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) - rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) - if rmcode != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) + try: + code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + + security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) + code,out = RunGetOutput(security_updates_cmd,False,False) + + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(str(out)) + for package in pkg_list: + security_patch_list.append(package[0]) + cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' + LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) + + if len(out) < 2: + return updates_list + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(out) + for pkg in pkg_list: + d['BuildDate'] = '' + d['Name'] = pkg[0] + if len(Name) and not fnmatch.fnmatch(d['Name'], Name): + continue + d['Architecture'] = pkg[3] + d['Version'] = pkg[1] + if d['Name'] in security_patch_list: + d['Classification'] = "Security Updates" + else: + d['Classification'] = "Others" + d['Repository'] = pkg[2] + updates_list.append(copy.deepcopy(d)) - if len(out) < 2: + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(out) - for pkg in pkg_list: - d['BuildDate'] = '' - d['Name'] = pkg[0] - if len(Name) and not fnmatch.fnmatch(d['Name'], Name): - continue - d['Architecture'] = pkg[3] - d['Version'] = pkg[1] - if d['Name'] in security_patch_list: - d['Classification'] = "Security Updates" + finally: + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) else: - d['Classification'] = "Others" - d['Repository'] = pkg[2] - updates_list.append(copy.deepcopy(d)) - - LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) - return updates_list - + LG().Log('DEBUG', "{0} folder cleared".format(privileged_path)) def GetYumUpdates(Name): # Format: diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index d412acb47..8afbaeca8 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -95,46 +95,51 @@ def GetAptUpdates(Name): code, out = RunGetOutput(cmd, False, False) #Get Security Patches list security_patch_list = [] - code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) - security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) - code,out = RunGetOutput(security_updates_cmd,False,False) - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(str(out)) - for package in pkg_list: - security_patch_list.append(package[0]) - cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' - LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) - code, out = RunGetOutput(cmd, False, False) - if code != 0: - LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) - raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) + try: + code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + + security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) + code,out = RunGetOutput(security_updates_cmd,False,False) + + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(str(out)) + for package in pkg_list: + security_patch_list.append(package[0]) + cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' + LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) + code, out = RunGetOutput(cmd, False, False) - rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) - if rmcode != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) + if len(out) < 2: + return updates_list + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(out) + for pkg in pkg_list: + d['BuildDate'] = '' + d['Name'] = pkg[0] + if len(Name) and not fnmatch.fnmatch(d['Name'], Name): + continue + d['Architecture'] = pkg[3] + d['Version'] = pkg[1] + if d['Name'] in security_patch_list: + d['Classification'] = "Security Updates" + else: + d['Classification'] = "Others" + d['Repository'] = pkg[2] + updates_list.append(copy.deepcopy(d)) - if len(out) < 2: + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(out) - for pkg in pkg_list: - d['BuildDate'] = '' - d['Name'] = pkg[0] - if len(Name) and not fnmatch.fnmatch(d['Name'], Name): - continue - d['Architecture'] = pkg[3] - d['Version'] = pkg[1] - if d['Name'] in security_patch_list: - d['Classification'] = "Security Updates" + finally: + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) else: - d['Classification'] = "Others" - d['Repository'] = pkg[2] - updates_list.append(copy.deepcopy(d)) - - LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) - return updates_list + LG().Log('DEBUG', "{0} folder cleared".format(privileged_path)) def GetYumUpdates(Name): # Format: diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index b8f15d50a..0dbd85599 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -93,47 +93,53 @@ def GetAptUpdates(Name): code, out = RunGetOutput(cmd, False, False) #Get Security Patches list security_patch_list = [] - code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) - security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) - code,out = RunGetOutput(security_updates_cmd,False,False) - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(str(out)) - for package in pkg_list: - security_patch_list.append(package[0]) - cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' - LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) - code, out = RunGetOutput(cmd, False, False) - if code != 0: - LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(cmd, out)) - raise Exception("Unexpected error in running cmd {0} : {1}".format(cmd, out)) - rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) - if rmcode != 0: - LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) + try: + code, out = RunGetOutput(prep_security_sources_list_cmd,False,False) + if code != 0: + LG().Log('ERROR', "Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + raise Exception("Unexpected error in running cmd {0} : {1}".format(prep_security_sources_list_cmd, out)) + + security_updates_cmd = dist_upgrade_simulation_cmd_template.replace('', '-oDir::Etc::Sourcelist=' + security_sources_list) + code,out = RunGetOutput(security_updates_cmd,False,False) + + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(str(out)) + for package in pkg_list: + security_patch_list.append(package[0]) + + cmd = 'LANG=en_US.UTF8 apt-get -s dist-upgrade | grep "^Inst"' + LG().Log('DEBUG', "Retrieving update package list using cmd:" + cmd) + code, out = RunGetOutput(cmd, False, False) + if len(out) < 2: + return updates_list + + srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' + srch = re.compile(srch_txt, re.M | re.S) + pkg_list = srch.findall(out) + for pkg in pkg_list: + d['BuildDate'] = '' + d['Name'] = pkg[0] + if len(Name) and not fnmatch.fnmatch(d['Name'], Name): + continue + d['Architecture'] = pkg[3] + d['Version'] = pkg[1] + if d['Name'] in security_patch_list: + d['Classification'] = "Security Updates" + else: + d['Classification'] = "Others" + d['Repository'] = pkg[2] + updates_list.append(copy.deepcopy(d)) - if len(out) < 2: + LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) return updates_list - srch_txt = r'Inst[ ](.*?)[ ].*?[(](.*?)[ ](.*?)[ ]\[(.*?)\]' - srch = re.compile(srch_txt, re.M | re.S) - pkg_list = srch.findall(out) - for pkg in pkg_list: - d['BuildDate'] = '' - d['Name'] = pkg[0] - if len(Name) and not fnmatch.fnmatch(d['Name'], Name): - continue - d['Architecture'] = pkg[3] - d['Version'] = pkg[1] - if d['Name'] in security_patch_list: - d['Classification'] = "Security Updates" + finally: + rmcode, rmout = RunGetOutput(remove_security_sources_list_cmd,False,False) + if rmcode != 0: + LG().Log('DEBUG', "Not able to delete {0}. Error: {1}".format(security_sources_list, rmout)) else: - d['Classification'] = "Others" - d['Repository'] = pkg[2] - updates_list.append(copy.deepcopy(d)) - - LG().Log('DEBUG', "Number of packages being written to the XML: " + str(len(updates_list))) - return updates_list - + LG().Log('DEBUG', "{0} folder cleared".format(privileged_path)) def GetYumUpdates(Name): # Format: From 20a8d56bdc8cbae411eefda887592d22288e9590 Mon Sep 17 00:00:00 2001 From: swjai Date: Tue, 7 Feb 2023 17:09:18 +0530 Subject: [PATCH 18/24] Necessary changes --- Makefile | 6 ++--- .../plugin/filter_patch_management.rb | 19 +++++++++------ .../2.4x-2.5x/Scripts/nxAvailableUpdates.py | 6 +++++ .../2.6x-2.7x/Scripts/nxAvailableUpdates.py | 6 +++++ .../Scripts/3.x/Scripts/nxAvailableUpdates.py | 6 +++++ installbuilder/datafiles/Base_DSC.data | 24 +++++++++---------- 6 files changed, 45 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 31a5d8dce..879b8e809 100755 --- a/Makefile +++ b/Makefile @@ -272,7 +272,7 @@ providers: ifeq ($(BUILD_OMS),BUILD_OMS) nx: rm -rf output/staging; \ - VERSION="1.4"; \ + VERSION="1.5"; \ PROVIDERS="nxService nxPackage nxUser nxGroup nxAvailableUpdates"; \ STAGINGDIR="output/staging/$@/DSCResources"; \ cat Providers/Modules/$@.psd1 | sed "s@@$${VERSION}@" > intermediate/Modules/$@.psd1; \ @@ -294,7 +294,7 @@ nx: else nx: rm -rf output/staging; \ - VERSION="1.4"; \ + VERSION="1.5"; \ PROVIDERS="nxFile nxScript nxUser nxGroup nxService nxPackage nxEnvironment nxSshAuthorizedKeys nxArchive nxFileLine"; \ STAGINGDIR="output/staging/$@/DSCResources"; \ cat Providers/Modules/$@.psd1 | sed "s@@$${VERSION}@" > intermediate/Modules/$@.psd1; \ @@ -541,7 +541,7 @@ nxOMSGenerateInventoryMof: nxOMSPlugin: rm -rf output/staging; \ - VERSION="3.70"; \ + VERSION="3.71"; \ PROVIDERS="nxOMSPlugin"; \ STAGINGDIR="output/staging/$@/DSCResources"; \ cat Providers/Modules/$@.psd1 | sed "s@@$${VERSION}@" > intermediate/Modules/$@.psd1; \ diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb index 02949b0c7..01164fde3 100644 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -8,7 +8,7 @@ module Fluent class LinuxUpdatesFilter < Filter - Fluent::Plugin.register_filter('filter_patch_management', self) + Fluent::Plugin.register_filter('filter_patch_management', self) def configure(conf) super @@ -30,15 +30,20 @@ def shutdown end def filter(tag, time, record) - begin - File.delete("/tmp/az-update-security.list") - OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") - rescue Exception => e - if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 - raise e + # checking if rb_file_path exists. if yes, skip below check. + if File.exists?("/var/oms/microsoft/omsagent/tmp/rb_file_path") != True + begin + File.delete("/tmp/az-update-security.list") + OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") + rescue Exception => e + if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 + raise e + end end end + + xml_string = record['xml'] OMS::Log.info_once("LinuxUpdates : Filtering xml size=#{xml_string.size}") linuxUpdates = LinuxUpdates.new() diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 0ee44cc0d..71de473b2 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -77,6 +77,12 @@ def GetAptUpdates(Name): if not os.path.exists(privileged_path): privileged_path = "/tmp/" + else: + # creating file for ruby plugin. based on this file, ruby will ignore its check. + rb_file_path = os.path.join(privileged_path, 'msft-rb-path') + if not os.path.exists(rb_file_path): + with open(rb_file_path, 'w') as fp: + pass LG().Log('DEBUG', 'Privileged path: ' + privileged_path) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 8afbaeca8..82e3eb81b 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -77,6 +77,12 @@ def GetAptUpdates(Name): if not os.path.exists(privileged_path): privileged_path = "/tmp/" + else: + # creating file for ruby plugin. based on this file, ruby will ignore its check. + rb_file_path = os.path.join(privileged_path, 'msft-rb-path') + if not os.path.exists(rb_file_path): + with open(rb_file_path, 'w') as fp: + pass LG().Log('DEBUG', 'Privileged path: ' + privileged_path) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 0dbd85599..709ed6ce9 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -75,6 +75,12 @@ def GetAptUpdates(Name): if not os.path.exists(privileged_path): privileged_path = "/tmp/" + else: + # creating file for ruby plugin. based on this file, ruby will ignore its check. + rb_file_path = os.path.join(privileged_path, 'msft-rb-path') + if not os.path.exists(rb_file_path): + with open(rb_file_path, 'w') as fp: + pass LG().Log('DEBUG', 'Privileged path: ' + privileged_path) diff --git a/installbuilder/datafiles/Base_DSC.data b/installbuilder/datafiles/Base_DSC.data index 7f7843e31..2f38b1688 100755 --- a/installbuilder/datafiles/Base_DSC.data +++ b/installbuilder/datafiles/Base_DSC.data @@ -83,7 +83,7 @@ SHLIB_EXT: 'so' /opt/microsoft/omsconfig/Scripts/OMSAuditdPlugin.sh; intermediate/Scripts/OMSAuditdPlugin.sh; 755; root; root /opt/microsoft/omsconfig/Scripts/OMS_MetaConfigHelper.py; intermediate/Scripts/OMS_MetaConfigHelper.py; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/Scripts/python3/OMS_MetaConfigHelper.py; intermediate/Scripts/python3/OMS_MetaConfigHelper.py; 755; ${{RUN_AS_USER}}; root -/opt/microsoft/omsconfig/module_packages/nx_1.4.zip; release/nx_1.4.zip; 755; ${{RUN_AS_USER}}; root +/opt/microsoft/omsconfig/module_packages/nx_1.5.zip; release/nx_1.5.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSPerfCounter_2.3.zip; release/nxOMSPerfCounter_2.3.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSSyslog_2.5.zip; release/nxOMSSyslog_2.5.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSSudoCustomLog_2.8.zip; release/nxOMSSudoCustomLog_2.8.zip; 755; ${{RUN_AS_USER}}; root @@ -102,7 +102,7 @@ SHLIB_EXT: 'so' /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip; release/nxOMSContainers_1.0.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip; release/nxOMSCustomLog_1.0.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip; release/nxOMSGenerateInventoryMof_1.5.zip; 755; ${{RUN_AS_USER}}; root -/opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip; release/nxOMSPlugin_3.70.zip; 755; ${{RUN_AS_USER}}; root +/opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip; release/nxOMSPlugin_3.71.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip; release/nxOMSWLI_1.46.zip; 755; ${{RUN_AS_USER}}; root #endif @@ -115,7 +115,7 @@ SHLIB_EXT: 'so' /opt/microsoft/${{SHORT_NAME}}/etc/dsccore.reg; LCM/dsccore.reg; 755; ${{RUN_AS_USER}}; root /opt/microsoft/${{SHORT_NAME}}/bin/ConsistencyInvoker; omi-1.0.8/output/bin/ConsistencyInvoker; 755; ${{RUN_AS_USER}}; root /opt/microsoft/${{SHORT_NAME}}/lib/libdsccore.so; omi-1.0.8/output/lib/libdsccore.so; 755; ${{RUN_AS_USER}}; root -/opt/microsoft/${{SHORT_NAME}}/module_packages/nx_1.4.zip; release/nx_1.4.zip; 755; ${{RUN_AS_USER}}; root +/opt/microsoft/${{SHORT_NAME}}/module_packages/nx_1.5.zip; release/nx_1.5.zip; 755; ${{RUN_AS_USER}}; root #endif @@ -391,7 +391,7 @@ fi # Set up built-in resource modules for OMS DSC if [ "$pythonVersion" = "python3" ]; then echo "Running python3, python version is ", $pythonVersion - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nx_1.4.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nx_1.5.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPerfCounter_2.3.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSSyslog_2.5.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSSudoCustomLog_2.8.zip 0" @@ -400,7 +400,7 @@ if [ "$pythonVersion" = "python3" ]; then su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip 0" else echo "Running python version is ", $pythonVersion - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nx_1.4.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nx_1.5.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPerfCounter_2.3.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSSyslog_2.5.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSSudoCustomLog_2.8.zip 0" @@ -418,7 +418,7 @@ if [ "$pythonVersion" = "python3" ]; then su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip 0" - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip 0" else echo "Running python2 python version is ", $pythonVersion @@ -428,7 +428,7 @@ else su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip 0" - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip 0" #endif @@ -439,13 +439,13 @@ else # Check if DIY DSC install module script is present on the machine if [ -f /opt/microsoft/dsc/Scripts/InstallModule.py ]; then # Check if nx module package is available in DIY DSC - if [ -f /opt/microsoft/dsc/module_packages/nx_1.4.zip ]; then + if [ -f /opt/microsoft/dsc/module_packages/nx_1.5.zip ]; then if [ "$pythonVersion" = "python3" ]; then echo "Running python3" - /opt/microsoft/dsc/Scripts/python3/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.4.zip 0 + /opt/microsoft/dsc/Scripts/python3/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.5.zip 0 else echo "Running python2 in Check if DIY DSC install... python version is ", $pythonVersion - /opt/microsoft/dsc/Scripts/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.4.zip 0 + /opt/microsoft/dsc/Scripts/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.5.zip 0 fi fi fi @@ -483,10 +483,10 @@ fi # Set up built-in resource module for DIY DSC if [ "$pythonVersion" = "python3" ]; then echo "Running python3" - /opt/microsoft/dsc/Scripts/python3/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.4.zip 0 + /opt/microsoft/dsc/Scripts/python3/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.5.zip 0 else echo "Running python2 in set up built in python version is ", $pythonVersion - /opt/microsoft/dsc/Scripts/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.4.zip 0 + /opt/microsoft/dsc/Scripts/InstallModule.py /opt/microsoft/dsc/module_packages/nx_1.5.zip 0 fi From cbaef2c83f023c78114ee0c39d999476e7143db7 Mon Sep 17 00:00:00 2001 From: swjai Date: Tue, 7 Feb 2023 17:31:52 +0530 Subject: [PATCH 19/24] Changes --- .../PatchManagement/plugin/filter_patch_management.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb index 01164fde3..57b5009eb 100644 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -30,8 +30,8 @@ def shutdown end def filter(tag, time, record) - # checking if rb_file_path exists. if yes, skip below check. - if File.exists?("/var/oms/microsoft/omsagent/tmp/rb_file_path") != True + # checking if rb_file_path exists. if yes, skip below check. else check. + if File.exists?("/var/opt/microsoft/omsagent/tmp/msft-rb-path") != true begin File.delete("/tmp/az-update-security.list") OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") @@ -42,8 +42,6 @@ def filter(tag, time, record) end end - - xml_string = record['xml'] OMS::Log.info_once("LinuxUpdates : Filtering xml size=#{xml_string.size}") linuxUpdates = LinuxUpdates.new() From 7d21415cae768573cab5416cd57c756c56494871 Mon Sep 17 00:00:00 2001 From: swjai Date: Tue, 7 Feb 2023 17:46:35 +0530 Subject: [PATCH 20/24] done --- .../Plugins/PatchManagement/plugin/filter_patch_management.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb index 57b5009eb..5f9877f60 100644 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -37,6 +37,7 @@ def filter(tag, time, record) OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") rescue Exception => e if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 + OMS::Log.info_once("Please delete file: /tmp/az-update-security.list") raise e end end From 889cc61945ee0f397911408f331884ab1690cd1f Mon Sep 17 00:00:00 2001 From: swjai Date: Wed, 15 Mar 2023 15:03:50 +0530 Subject: [PATCH 21/24] Correcting conf --- Makefile | 2 +- .../plugin/filter_patch_management.rb | 20 ++++++++----------- .../2.4x-2.5x/Scripts/nxAvailableUpdates.py | 13 +----------- .../2.6x-2.7x/Scripts/nxAvailableUpdates.py | 13 +----------- .../Scripts/3.x/Scripts/nxAvailableUpdates.py | 13 +----------- 5 files changed, 12 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index 879b8e809..fd8fe7efc 100755 --- a/Makefile +++ b/Makefile @@ -541,7 +541,7 @@ nxOMSGenerateInventoryMof: nxOMSPlugin: rm -rf output/staging; \ - VERSION="3.71"; \ + VERSION="3.70"; \ PROVIDERS="nxOMSPlugin"; \ STAGINGDIR="output/staging/$@/DSCResources"; \ cat Providers/Modules/$@.psd1 | sed "s@@$${VERSION}@" > intermediate/Modules/$@.psd1; \ diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb index 5f9877f60..c0c988b71 100644 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -8,7 +8,7 @@ module Fluent class LinuxUpdatesFilter < Filter - Fluent::Plugin.register_filter('filter_patch_management', self) + Fluent::Plugin.register_filter('filter_patch_management', self) def configure(conf) super @@ -30,16 +30,12 @@ def shutdown end def filter(tag, time, record) - # checking if rb_file_path exists. if yes, skip below check. else check. - if File.exists?("/var/opt/microsoft/omsagent/tmp/msft-rb-path") != true - begin - File.delete("/tmp/az-update-security.list") - OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") - rescue Exception => e - if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 - OMS::Log.info_once("Please delete file: /tmp/az-update-security.list") - raise e - end + begin + File.delete("/tmp/az-update-security.list") + OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") + rescue Exception => e + if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 + raise e end end @@ -49,4 +45,4 @@ def filter(tag, time, record) return linuxUpdates.transform_and_wrap(xml_string, @hostname, time) end # filter end # class -end # module +end # module \ No newline at end of file diff --git a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py index 71de473b2..977c3eee7 100644 --- a/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.4x-2.5x/Scripts/nxAvailableUpdates.py @@ -73,18 +73,7 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers - - if not os.path.exists(privileged_path): - privileged_path = "/tmp/" - else: - # creating file for ruby plugin. based on this file, ruby will ignore its check. - rb_file_path = os.path.join(privileged_path, 'msft-rb-path') - if not os.path.exists(rb_file_path): - with open(rb_file_path, 'w') as fp: - pass - - LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + privileged_path = "/tmp/" #Collect Security updates security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 82e3eb81b..8d0b1532d 100644 --- a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py @@ -73,18 +73,7 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers - - if not os.path.exists(privileged_path): - privileged_path = "/tmp/" - else: - # creating file for ruby plugin. based on this file, ruby will ignore its check. - rb_file_path = os.path.join(privileged_path, 'msft-rb-path') - if not os.path.exists(rb_file_path): - with open(rb_file_path, 'w') as fp: - pass - - LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + privileged_path = "/tmp/" #Collect Security updates security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 709ed6ce9..c39be4709 100644 --- a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py +++ b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py @@ -71,18 +71,7 @@ def GetAptUpdates(Name): updates_list = [] d = {} g_guid = str(uuid.uuid4()) - privileged_path = "/var/opt/microsoft/omsagent/tmp/" #omsagent omiusers - - if not os.path.exists(privileged_path): - privileged_path = "/tmp/" - else: - # creating file for ruby plugin. based on this file, ruby will ignore its check. - rb_file_path = os.path.join(privileged_path, 'msft-rb-path') - if not os.path.exists(rb_file_path): - with open(rb_file_path, 'w') as fp: - pass - - LG().Log('DEBUG', 'Privileged path: ' + privileged_path) + privileged_path = "/tmp/" #Collect Security updates security_sources_list = os.path.join(privileged_path, 'msft-v1-assess-security-{0}.list'.format(g_guid)) From f26802b8b43cf511c32b2191548edc6c9a89257d Mon Sep 17 00:00:00 2001 From: swjai Date: Wed, 15 Mar 2023 15:11:22 +0530 Subject: [PATCH 22/24] done --- installbuilder/datafiles/Base_DSC.data | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/installbuilder/datafiles/Base_DSC.data b/installbuilder/datafiles/Base_DSC.data index 2f38b1688..267996723 100755 --- a/installbuilder/datafiles/Base_DSC.data +++ b/installbuilder/datafiles/Base_DSC.data @@ -102,7 +102,7 @@ SHLIB_EXT: 'so' /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip; release/nxOMSContainers_1.0.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip; release/nxOMSCustomLog_1.0.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip; release/nxOMSGenerateInventoryMof_1.5.zip; 755; ${{RUN_AS_USER}}; root -/opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip; release/nxOMSPlugin_3.71.zip; 755; ${{RUN_AS_USER}}; root +/opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip; release/nxOMSPlugin_3.70.zip; 755; ${{RUN_AS_USER}}; root /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip; release/nxOMSWLI_1.46.zip; 755; ${{RUN_AS_USER}}; root #endif @@ -418,7 +418,7 @@ if [ "$pythonVersion" = "python3" ]; then su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip 0" - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/python3/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip 0" else echo "Running python2 python version is ", $pythonVersion @@ -428,7 +428,7 @@ else su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSContainers_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSCustomLog_1.0.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSGenerateInventoryMof_1.5.zip 0" - su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.71.zip 0" + su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSPlugin_3.70.zip 0" su - omsagent -c "/opt/microsoft/omsconfig/Scripts/InstallModule.py /opt/microsoft/omsconfig/module_packages/nxOMSWLI_1.46.zip 0" #endif From 099cc798529ab71c0d61677a9f2fcf5815aa6ada Mon Sep 17 00:00:00 2001 From: Swapnil Jain <65277773+swjai@users.noreply.github.com> Date: Fri, 24 Mar 2023 10:34:18 +0530 Subject: [PATCH 23/24] Delete filter_patch_management.rb --- .../plugin/filter_patch_management.rb | 48 ------------------- 1 file changed, 48 deletions(-) delete mode 100644 Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb deleted file mode 100644 index c0c988b71..000000000 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ /dev/null @@ -1,48 +0,0 @@ -require "rexml/document" -require "cgi" - -require_relative 'patch_management_lib' -require_relative 'oms_common' -require_relative 'omslog' - -module Fluent - class LinuxUpdatesFilter < Filter - - Fluent::Plugin.register_filter('filter_patch_management', self) - - def configure(conf) - super - @hostname = OMS::Common.get_hostname or "Unknown host" - # do the usual configuration here - end - - def start - super - # This is the first method to be called when it starts running - # Use it to allocate resources, etc. - # LinuxUpdates.log = @log - end - - def shutdown - super - # This method is called when Fluentd is shutting down. - # Use it to free up resources, etc. - end - - def filter(tag, time, record) - begin - File.delete("/tmp/az-update-security.list") - OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") - rescue Exception => e - if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 - raise e - end - end - - xml_string = record['xml'] - OMS::Log.info_once("LinuxUpdates : Filtering xml size=#{xml_string.size}") - linuxUpdates = LinuxUpdates.new() - return linuxUpdates.transform_and_wrap(xml_string, @hostname, time) - end # filter - end # class -end # module \ No newline at end of file From 06349fc24995cbd9d5a75a1a17befa43603f5f1f Mon Sep 17 00:00:00 2001 From: swjai Date: Fri, 24 Mar 2023 10:38:51 +0530 Subject: [PATCH 24/24] Revert "Delete filter_patch_management.rb" This reverts commit 099cc798529ab71c0d61677a9f2fcf5815aa6ada. --- .../plugin/filter_patch_management.rb | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb new file mode 100644 index 000000000..c0c988b71 --- /dev/null +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -0,0 +1,48 @@ +require "rexml/document" +require "cgi" + +require_relative 'patch_management_lib' +require_relative 'oms_common' +require_relative 'omslog' + +module Fluent + class LinuxUpdatesFilter < Filter + + Fluent::Plugin.register_filter('filter_patch_management', self) + + def configure(conf) + super + @hostname = OMS::Common.get_hostname or "Unknown host" + # do the usual configuration here + end + + def start + super + # This is the first method to be called when it starts running + # Use it to allocate resources, etc. + # LinuxUpdates.log = @log + end + + def shutdown + super + # This method is called when Fluentd is shutting down. + # Use it to free up resources, etc. + end + + def filter(tag, time, record) + begin + File.delete("/tmp/az-update-security.list") + OMS::Log.info_once("File deleted successfully. /tmp/az-update-security.list") + rescue Exception => e + if e.errno!=2 #except no such file or directory issue. Errno: ENOENT = 2 + raise e + end + end + + xml_string = record['xml'] + OMS::Log.info_once("LinuxUpdates : Filtering xml size=#{xml_string.size}") + linuxUpdates = LinuxUpdates.new() + return linuxUpdates.transform_and_wrap(xml_string, @hostname, time) + end # filter + end # class +end # module \ No newline at end of file