<h2>Linux server discovery populating wrong OS version</h2><br/><div style="overflow-x:auto"><article><div ><h3 >Issue </h3><section><ul style="list-style-position: inside;"><li>Linux server discovery populating wrong OS version</li></ul></section></div><div ><h3 >Release</h3><section><ul style="list-style-position: inside;"><li>All</li></ul></section></div><div ><h3 >Cause</h3><section><ul style="list-style-position: inside;"><li>Observe if the pattern "Linux Server" fails at <strong>Step6.3</strong> with the below error<br /><br />Finished step: 'Extract OS distribution'<br />Starting step: 'Extract distribution version'<br />Test failed: Failed to set attribute while testing the step due to the following error: JAVASCRIPT_CODE_FAILURE: Caused by error in Ad hoc script 'EvalClosure-Extract distribution version' at line 21 18: else if (lowercaseOutput.indexOf('ubuntu') != -1) { 19: versionMatch = /version="([0-9\.]+)/.exec(lowercaseOutput); 20: } ==> 21: rtrn = versionMatch[1];<strong><br /><br /></strong></li><li>Below is the Eval script on <strong>Step6.3</strong><strong><br /><br /></strong>var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /version="([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />rtrn = versionMatch[1];<strong><br /></strong></li></ul></section></div><div ><h3 >Resolution</h3><section><ul style="list-style-position: inside;"><li><span class="CmCaReT" style="display: none;">modified the pattern script as below<br /><br />var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /release ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />if (versionMatch != null)<br />rtrn = versionMatch[1];modified the pattern script as below<br /><br />var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /release ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />if (versionMatch != null)<br />rtrn = versionMatch[1];modified the pattern script as below<br /><br />var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /release ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />if (versionMatch != null)<br />rtrn = versionMatch[1];modified the pattern script as below<br /><br />var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /release ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />if (versionMatch != null)<br />rtrn = versionMatch[1];modified the pattern script as belowmodified the pattern script as belowmodified the pattern script as belowmodified the pattern script as below</span>Modify the Eval script on <strong>Step6.3 </strong>of the pattern "Linux Server" as below<br /><br />var rtrn = "";<br />var rel = ${release_output};<br />var relStr = rel.toString();<br />var lowercaseOutput = relStr.toLowerCase();<br />var versionMatch = null;<br />if (lowercaseOutput.indexOf('red hat') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('fedora') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('suse') != -1) {<br />versionMatch = /version ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('centos') != -1) {<br />versionMatch = /release ([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />else if (lowercaseOutput.indexOf('ubuntu') != -1) {<br />versionMatch = /release ?= ?([0-9\.]+)/.exec(lowercaseOutput);<br />}<br />if (versionMatch != null)<br />rtrn = versionMatch[1];<br /><br /></li><li>Execute discovery on the discovery on the device and the data should be coming up correctly.</li></ul></section></div></article></div>