diff --git a/Makefile b/Makefile index 31a5d8dce..fd8fe7efc 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; \ diff --git a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb index 02949b0c7..c0c988b71 100644 --- a/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb +++ b/Providers/Modules/Plugins/PatchManagement/plugin/filter_patch_management.rb @@ -45,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 e22489739..977c3eee7 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,15 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) + privileged_path = "/tmp/" + #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + 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 ' + 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": @@ -83,38 +90,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 len(out) < 2: + + 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)) + + 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: @@ -193,7 +213,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) diff --git a/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/2.6x-2.7x/Scripts/nxAvailableUpdates.py index 0956e38e8..8d0b1532d 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,15 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) + privileged_path = "/tmp/" + #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + 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 ' + 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": @@ -83,38 +90,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 len(out) < 2: + 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)) + + 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: @@ -193,7 +213,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) diff --git a/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py b/Providers/Scripts/3.x/Scripts/nxAvailableUpdates.py index 6a4953040..c39be4709 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,15 @@ def GetAptUpdates(Name): updates_list = [] d = {} + g_guid = str(uuid.uuid4()) + privileged_path = "/tmp/" + #Collect Security updates - security_sources_list = '/tmp/az-update-security.list' + 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 ' + 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": @@ -81,38 +88,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 len(out) < 2: + + 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)) + + 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: @@ -191,7 +213,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) @@ -467,4 +488,4 @@ def GetPackageManager(): if ret == 'apt-get': ret = 'apt' break - return ret \ No newline at end of file + return ret diff --git a/installbuilder/datafiles/Base_DSC.data b/installbuilder/datafiles/Base_DSC.data index 7f7843e31..267996723 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 @@ -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" @@ -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