Project

General

Profile

Actions

Bug #21236

closed

When we arrive on the node search page with a query pre-filed, the query is done twice

Added by Nicolas CHARLES over 2 years ago. Updated over 1 year ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
Minor - inconvenience | misleading | easy workaround
UX impact:
I dislike using that feature
User visibility:
Getting started - demo | first install | Technique editor and level 1 Techniques
Effort required:
Priority:
62
Name check:
To do
Fix check:
Checked
Regression:
No

Description

So it's twice slower. This is most notable when we click on the rudder agent version in the homepage

happens in master, likely in 7.0 and 6.2 as well

Actions #1

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.2.15 to 6.2.16
Actions #2

Updated by Alexis Mousset over 2 years ago

  • Target version changed from 6.2.16 to 6.2.17
Actions #3

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 6.2.17 to 997
Actions #4

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 997 to 6.2.18
Actions #5

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 6.2.18 to 6.2.19
Actions #6

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 6.2.19 to 6.2.20
Actions #7

Updated by Vincent MEMBRÉ about 2 years ago

  • Target version changed from 6.2.20 to old 6.2 issues to relocate
Actions #8

Updated by François ARMAND over 1 year ago

  • Category changed from Web - Nodes & inventories to Performance and scalability
  • Target version changed from old 6.2 issues to relocate to 7.2.7
  • Severity set to Minor - inconvenience | misleading | easy workaround
  • UX impact set to I dislike using that feature
  • User visibility set to Getting started - demo | first install | Technique editor and level 1 Techniques
  • Priority changed from 0 to 63
  • Regression set to No

Still the case in 7.2.6

Actions #9

Updated by François ARMAND over 1 year ago

So, we have a first POST lift/ajax/F1416497139880IPP5L4-01/:

request:
{"select":"nodeAndPolicyServer","composition":"And","where":[{"objectType":"software","attribute":"cn","comparator":"regex","value":"rudder-agent|Rudder+agent+\\(DSC\\)"},{"objectType":"software","attribute":"softwareVersion","comparator":"regex","value":"(\\d+:)?7(.|~)2(.|~)7(.|~)git202305102201.*"}]}

response:
jQuery('#'+"SearchNodes").replaceWith("<form id=\"F14164971399293QL5II\" action=\"javascript://\" onsubmit=\"lift.ajax(jQuery(\u0027#\u0027+&quot;F14164971399293QL5II&quot;).serialize(), null, null, &quot;javascript&quot;);return false;\">\u000a  <div id=\"SearchForm\">\u000a    <content-query>\u000a      <div id=\"serverGrid_info_area\"></div>\u000a      <div class=\"row\" id=\"queryParameters\">\u000a        <ul>\u000a          <li class=\"rudder-form form-sm\">\u000a            <div class=\"input-group\">\u000a              <label class=\"input-group-addon\" for=\"typeQuery\">\u000a                <input checked=\"checked\" class=\"compositionCheckbox\" id=\"typeQuery\" type=\"checkbox\" name=\"F1416497139907F3AVIY\" value=\"true\"><input type=\"hidden\" name=\"F1416497139907F3AVIY\" value=\"false\">\u000a                <label for=\"typeQuery\" class=\"label-radio\">\u000a                  <span class=\"ion ion-checkmark-round\"></span>\u000a                </label>\u000a                <span class=\"ion ion-checkmark-round check-icon\"></span>\u000a              </label>\u000a              <label class=\"form-control\" for=\"typeQuery\">\u000a                Include Rudder root <span title=\"The Rudder root server with web application\" class=\"icon-info tooltipable glyphicon glyphicon-question-sign\"></span>\u000a              </label>\u000a            </div>\u000a          </li>\u000a        </ul>\u000a        <ul>\u000a          <li class=\"rudder-form form-sm\">\u000a            <div class=\"input-group\">\u000a              <label class=\"input-group-addon\" for=\"transformResult\">\u000a                <input class=\"compositionCheckbox\" id=\"transformResult\" type=\"checkbox\" name=\"F1416497139909RBXJMI\" value=\"true\"><input type=\"hidden\" name=\"F1416497139909RBXJMI\" value=\"false\">\u000a                <label for=\"transformResult\" class=\"label-radio\">\u000a                  <span class=\"ion ion-checkmark-round\"></span>\u000a                </label>\u000a                <span class=\"ion ion-checkmark-round check-icon\"></span>\u000a              </label>\u000a              <label class=\"form-control\" for=\"transformResult\">\u000a                Invert result<span title=\"Return node(s) not matching query\" class=\"icon-info tooltipable glyphicon glyphicon-question-sign\"></span>\u000a              </label>\u000a            </div>\u000a          </li>\u000a        </ul>\u000a        <div class=\"wbBaseField form-group\">\u000a        <label><span class=\"text-fit\">Match the criteria below with this operand:</span></label>\u000a          <div class=\"switch\">\u000a              <label class=\"radio-inline\" id=\"composition\">\u000a            <input checked=\"checked\" type=\"radio\" name=\"F1416497139908JK0DZT\" value=\"AND\">\u000a            <span class=\"radioTextLabel\">AND</span>\u000a          </label><label class=\"radio-inline\">\u000a            <input type=\"radio\" name=\"F1416497139908JK0DZT\" value=\"OR\">\u000a            <span class=\"radioTextLabel\">OR</span>\u000a          </label>\u000a          </div>\u000a        </div>\u000a        <table class=\"searchNodes\">\u000a          <tbody id=\"query_lines\"><tr class=\"query_line\">\u000a    <td class=\"first objectType\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F141649713991133OB0X=\u0027 + encodeURIComponent(this.value+\u0027,at_0,\u0027+(function() {if (document.getElementById(&quot;at_0&quot;)) {return document.getElementById(&quot;at_0&quot;).value;} else {return null;}})()+\u0027,ct_0,\u0027+ (function() {if (document.getElementById(&quot;ct_0&quot;)) {return document.getElementById(&quot;ct_0&quot;).value;} else {return null;}})() +\u0027,v_0,\u0027+&quot;&quot;), null, null, null)\" id=\"ot_0\" name=\"F1416497139912QJZX5U\"><option value=\"node\">Node summary</option><option value=\"group\"> \u251c\u2500 Groups</option><option value=\"networkInterfaceLogicalElement\"> \u251c\u2500 Network interfaces</option><option value=\"fileSystemLogicalElement\"> \u251c\u2500 File systems</option><option value=\"process\"> \u251c\u2500 Processes</option><option value=\"virtualMachineLogicalElement\"> \u251c\u2500 Virtual machines</option><option value=\"serializedNodeProperty\"> \u251c\u2500 Properties</option><option value=\"environmentVariable\"> \u2514\u2500 Environment variables</option><option value=\"machine\">Hardware</option><option value=\"biosPhysicalElement\"> \u251c\u2500 Bios</option><option value=\"controllerPhysicalElement\"> \u251c\u2500 Controllers</option><option value=\"memoryPhysicalElement\"> \u251c\u2500 Memories</option><option value=\"portPhysicalElement\"> \u251c\u2500 Ports</option><option value=\"processorPhysicalElement\"> \u251c\u2500 Processors</option><option value=\"slotPhysicalElement\"> \u251c\u2500 Slots</option><option value=\"soundCardPhysicalElement\"> \u251c\u2500 Sounds</option><option value=\"storagePhysicalElement\"> \u251c\u2500 Storages</option><option value=\"videoCardPhysicalElement\"> \u2514\u2500 Videos</option><option selected=\"selected\" value=\"software\">Software</option></select></td>\u000a    <td class=\"attributeName\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139913MJH2AQ=\u0027 + encodeURIComponent((function() {if (document.getElementById(&quot;ot_0&quot;)) {return document.getElementById(&quot;ot_0&quot;).value;} else {return null;}})()+\u0027,\u0027+this.value+\u0027,ct_0,\u0027+ (function() {if (document.getElementById(&quot;ct_0&quot;)) {return document.getElementById(&quot;ct_0&quot;).value;} else {return null;}})() +\u0027,v_0,\u0027+&quot;&quot;), null, null, null)\" id=\"at_0\" name=\"F1416497139914JY0WRD\"><option selected=\"selected\" value=\"cn\">Name</option><option value=\"description\">Description</option><option value=\"softwareVersion\">Version</option><option value=\"releaseDate\">Release date</option><option value=\"editor\">Editor</option><option value=\"licenseExpirationDate\">License expiration date</option><option value=\"licenseName\">License</option><option value=\"licenseProductId\">License product ID</option><option value=\"licenseProductKey\">License product key</option></select></td>\u000a    <td class=\"comparator\"><select class=\"selectComparator form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139915SJMRTJ=\u0027 + encodeURIComponent(this.value+\u0027,v_0\u0027), null, null, null)\" id=\"ct_0\" name=\"F1416497139916X33X1V\"><option value=\"exists\">Is defined</option><option value=\"notExists\">Is not defined</option><option value=\"eq\">=</option><option value=\"notEq\">\u2260</option><option selected=\"selected\" value=\"regex\">Regex</option><option value=\"notRegex\">Not matching regex</option></select></td>\u000a    <td class=\"inputValue\"><input value=\"rudder-agent|Rudder agent \u005c(DSC\u005c)\" class=\"queryInputValue form-control input-sm\" id=\"v_0\" type=\"text\" name=\"F1416497139910WMFEYA\"></td>\u000a    <td class=\"removeLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139917BSXYH5=_\u0027); return true;\" value=\"-\" class=\"removeLineButton btn btn-danger btn-xs\" type=\"submit\" name=\"zF1416497139917BSXYH5\"></td>\u000a    <td class=\"last addLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139918OV2VLY=_\u0027); return true;\" value=\"+\" class=\"removeLineButton btn btn-success btn-xs\" type=\"submit\" name=\"zF1416497139918OV2VLY\"></td>\u000a  </tr></tbody><tbody></tbody><tbody><tr class=\"query_line\">\u000a    <td class=\"first objectType\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139920PJWFLN=\u0027 + encodeURIComponent(this.value+\u0027,at_1,\u0027+(function() {if (document.getElementById(&quot;at_1&quot;)) {return document.getElementById(&quot;at_1&quot;).value;} else {return null;}})()+\u0027,ct_1,\u0027+ (function() {if (document.getElementById(&quot;ct_1&quot;)) {return document.getElementById(&quot;ct_1&quot;).value;} else {return null;}})() +\u0027,v_1,\u0027+&quot;&quot;), null, null, null)\" id=\"ot_1\" name=\"F14164971399212TQURA\"><option value=\"node\">Node summary</option><option value=\"group\"> \u251c\u2500 Groups</option><option value=\"networkInterfaceLogicalElement\"> \u251c\u2500 Network interfaces</option><option value=\"fileSystemLogicalElement\"> \u251c\u2500 File systems</option><option value=\"process\"> \u251c\u2500 Processes</option><option value=\"virtualMachineLogicalElement\"> \u251c\u2500 Virtual machines</option><option value=\"serializedNodeProperty\"> \u251c\u2500 Properties</option><option value=\"environmentVariable\"> \u2514\u2500 Environment variables</option><option value=\"machine\">Hardware</option><option value=\"biosPhysicalElement\"> \u251c\u2500 Bios</option><option value=\"controllerPhysicalElement\"> \u251c\u2500 Controllers</option><option value=\"memoryPhysicalElement\"> \u251c\u2500 Memories</option><option value=\"portPhysicalElement\"> \u251c\u2500 Ports</option><option value=\"processorPhysicalElement\"> \u251c\u2500 Processors</option><option value=\"slotPhysicalElement\"> \u251c\u2500 Slots</option><option value=\"soundCardPhysicalElement\"> \u251c\u2500 Sounds</option><option value=\"storagePhysicalElement\"> \u251c\u2500 Storages</option><option value=\"videoCardPhysicalElement\"> \u2514\u2500 Videos</option><option selected=\"selected\" value=\"software\">Software</option></select></td>\u000a    <td class=\"attributeName\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139922ST1FYQ=\u0027 + encodeURIComponent((function() {if (document.getElementById(&quot;ot_1&quot;)) {return document.getElementById(&quot;ot_1&quot;).value;} else {return null;}})()+\u0027,\u0027+this.value+\u0027,ct_1,\u0027+ (function() {if (document.getElementById(&quot;ct_1&quot;)) {return document.getElementById(&quot;ct_1&quot;).value;} else {return null;}})() +\u0027,v_1,\u0027+&quot;&quot;), null, null, null)\" id=\"at_1\" name=\"F1416497139923CLHLKG\"><option value=\"cn\">Name</option><option value=\"description\">Description</option><option selected=\"selected\" value=\"softwareVersion\">Version</option><option value=\"releaseDate\">Release date</option><option value=\"editor\">Editor</option><option value=\"licenseExpirationDate\">License expiration date</option><option value=\"licenseName\">License</option><option value=\"licenseProductId\">License product ID</option><option value=\"licenseProductKey\">License product key</option></select></td>\u000a    <td class=\"comparator\"><select class=\"selectComparator form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139924JZPZ52=\u0027 + encodeURIComponent(this.value+\u0027,v_1\u0027), null, null, null)\" id=\"ct_1\" name=\"F1416497139925Y4XSHF\"><option value=\"exists\">Is defined</option><option value=\"notExists\">Is not defined</option><option value=\"eq\">=</option><option value=\"notEq\">\u2260</option><option selected=\"selected\" value=\"regex\">Regex</option><option value=\"notRegex\">Not matching regex</option></select></td>\u000a    <td class=\"inputValue\"><input value=\"(\u005cd+:)?7(.|~)2(.|~)7(.|~)git202305102201.*\" class=\"queryInputValue form-control input-sm\" id=\"v_1\" type=\"text\" name=\"F1416497139919HO2UES\"></td>\u000a    <td class=\"removeLine\"><input onclick=\"lift.setUriSuffix(\u0027zF14164971399265M3XOC=_\u0027); return true;\" value=\"-\" class=\"removeLineButton btn btn-danger btn-xs\" type=\"submit\" name=\"zF14164971399265M3XOC\"></td>\u000a    <td class=\"last addLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139927FBACO5=_\u0027); return true;\" value=\"+\" class=\"removeLineButton btn btn-success btn-xs\" type=\"submit\" name=\"zF1416497139927FBACO5\"></td>\u000a  </tr></tbody><tbody></tbody>\u000a        </table>\u000a        <div id=\"submitSearch\" class=\"nodeGroupSubmitSearch\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139928TZCWKU=_\u0027); return true;\" value=\"Search\" class=\"submitButton btn btn-primary\" id=\"SubmitSearch\" type=\"submit\" name=\"zF1416497139928TZCWKU\"></div>\u000a      </div>\u000a    </content-query>\u000a  </div>\u000a  <div id=\"gridResult\">\u000a    <table id=\"serverGrid\" cellspacing=\"0\"></table>\u000a  </div>\u000a</form>"); 
// <![CDATA[
jQuery(document).ready(function() {});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {
          $(".queryInputValue").keydown( function(event) {
            processKey(event , 'SubmitSearch')
          } );
          ;});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {nodeIds = []
;
 createNodeTable("serverGrid",function() {reloadTable("serverGrid")} );
                   ;});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {updateHashString('query', {"select":"nodeAndPolicyServer","composition":"And","where":[{"objectType":"software","attribute":"cn","comparator":"regex","value":"rudder-agent|Rudder agent \\(DSC\\)"},{"objectType":"software","attribute":"softwareVersion","comparator":"regex","value":"(\\d+:)?7(.|~)2(.|~)7(.|~)git202305102201.*"}]});});
// ]]>
;;
$('#SubmitSearch').click();;

Then a second POST lift/ajax/F1416497139880IPP5L4-11/ with identical query and response.

Then a third POST lift/ajax/F1416497139880IPP5L4-21/ with:
request:

F1416497139907F3AVIY    […]
0    "true" 
1    "false" 
F1416497139909RBXJMI    "false" 
F1416497139908JK0DZT    "AND" 
F1416497139912QJZX5U    "software" 
F1416497139914JY0WRD    "cn" 
F1416497139916X33X1V    "regex" 
F1416497139910WMFEYA    "rudder-agent|Rudder+agent+\\(DSC\\)" 
F14164971399212TQURA    "software" 
F1416497139923CLHLKG    "softwareVersion" 
F1416497139925Y4XSHF    "regex" 
F1416497139919HO2UES    "(\\d+:)?7(.|~)2(.|~)7(.|~)git202305102201.*" 
zF1416497139928TZCWKU    "_" 

response:

jQuery('#'+"SearchForm").html("\u000a      <div id=\"serverGrid_info_area\"></div>\u000a      <div class=\"row\" id=\"queryParameters\">\u000a        <ul>\u000a          <li class=\"rudder-form form-sm\">\u000a            <div class=\"input-group\">\u000a              <label class=\"input-group-addon\" for=\"typeQuery\">\u000a                <input checked=\"checked\" class=\"compositionCheckbox\" id=\"typeQuery\" type=\"checkbox\" name=\"F1416497139970YS3A1B\" value=\"true\"><input type=\"hidden\" name=\"F1416497139970YS3A1B\" value=\"false\">\u000a                <label for=\"typeQuery\" class=\"label-radio\">\u000a                  <span class=\"ion ion-checkmark-round\"></span>\u000a                </label>\u000a                <span class=\"ion ion-checkmark-round check-icon\"></span>\u000a              </label>\u000a              <label class=\"form-control\" for=\"typeQuery\">\u000a                Include Rudder root <span title=\"The Rudder root server with web application\" class=\"icon-info tooltipable glyphicon glyphicon-question-sign\"></span>\u000a              </label>\u000a            </div>\u000a          </li>\u000a        </ul>\u000a        <ul>\u000a          <li class=\"rudder-form form-sm\">\u000a            <div class=\"input-group\">\u000a              <label class=\"input-group-addon\" for=\"transformResult\">\u000a                <input class=\"compositionCheckbox\" id=\"transformResult\" type=\"checkbox\" name=\"F1416497139972IEAFW5\" value=\"true\"><input type=\"hidden\" name=\"F1416497139972IEAFW5\" value=\"false\">\u000a                <label for=\"transformResult\" class=\"label-radio\">\u000a                  <span class=\"ion ion-checkmark-round\"></span>\u000a                </label>\u000a                <span class=\"ion ion-checkmark-round check-icon\"></span>\u000a              </label>\u000a              <label class=\"form-control\" for=\"transformResult\">\u000a                Invert result<span title=\"Return node(s) not matching query\" class=\"icon-info tooltipable glyphicon glyphicon-question-sign\"></span>\u000a              </label>\u000a            </div>\u000a          </li>\u000a        </ul>\u000a        <div class=\"wbBaseField form-group\">\u000a        <label><span class=\"text-fit\">Match the criteria below with this operand:</span></label>\u000a          <div class=\"switch\">\u000a              <label class=\"radio-inline\" id=\"composition\">\u000a            <input checked=\"checked\" type=\"radio\" name=\"F1416497139971JIZBZ2\" value=\"AND\">\u000a            <span class=\"radioTextLabel\">AND</span>\u000a          </label><label class=\"radio-inline\">\u000a            <input type=\"radio\" name=\"F1416497139971JIZBZ2\" value=\"OR\">\u000a            <span class=\"radioTextLabel\">OR</span>\u000a          </label>\u000a          </div>\u000a        </div>\u000a        <table class=\"searchNodes\">\u000a          <tbody id=\"query_lines\"><tr class=\"query_line\">\u000a    <td class=\"first objectType\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139974IHSI5B=\u0027 + encodeURIComponent(this.value+\u0027,at_0,\u0027+(function() {if (document.getElementById(&quot;at_0&quot;)) {return document.getElementById(&quot;at_0&quot;).value;} else {return null;}})()+\u0027,ct_0,\u0027+ (function() {if (document.getElementById(&quot;ct_0&quot;)) {return document.getElementById(&quot;ct_0&quot;).value;} else {return null;}})() +\u0027,v_0,\u0027+&quot;&quot;), null, null, null)\" id=\"ot_0\" name=\"F14164971399754YU04M\"><option value=\"node\">Node summary</option><option value=\"group\"> \u251c\u2500 Groups</option><option value=\"networkInterfaceLogicalElement\"> \u251c\u2500 Network interfaces</option><option value=\"fileSystemLogicalElement\"> \u251c\u2500 File systems</option><option value=\"process\"> \u251c\u2500 Processes</option><option value=\"virtualMachineLogicalElement\"> \u251c\u2500 Virtual machines</option><option value=\"serializedNodeProperty\"> \u251c\u2500 Properties</option><option value=\"environmentVariable\"> \u2514\u2500 Environment variables</option><option value=\"machine\">Hardware</option><option value=\"biosPhysicalElement\"> \u251c\u2500 Bios</option><option value=\"controllerPhysicalElement\"> \u251c\u2500 Controllers</option><option value=\"memoryPhysicalElement\"> \u251c\u2500 Memories</option><option value=\"portPhysicalElement\"> \u251c\u2500 Ports</option><option value=\"processorPhysicalElement\"> \u251c\u2500 Processors</option><option value=\"slotPhysicalElement\"> \u251c\u2500 Slots</option><option value=\"soundCardPhysicalElement\"> \u251c\u2500 Sounds</option><option value=\"storagePhysicalElement\"> \u251c\u2500 Storages</option><option value=\"videoCardPhysicalElement\"> \u2514\u2500 Videos</option><option selected=\"selected\" value=\"software\">Software</option></select></td>\u000a    <td class=\"attributeName\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139976QM3EWC=\u0027 + encodeURIComponent((function() {if (document.getElementById(&quot;ot_0&quot;)) {return document.getElementById(&quot;ot_0&quot;).value;} else {return null;}})()+\u0027,\u0027+this.value+\u0027,ct_0,\u0027+ (function() {if (document.getElementById(&quot;ct_0&quot;)) {return document.getElementById(&quot;ct_0&quot;).value;} else {return null;}})() +\u0027,v_0,\u0027+&quot;&quot;), null, null, null)\" id=\"at_0\" name=\"F1416497139977C42CGI\"><option selected=\"selected\" value=\"cn\">Name</option><option value=\"description\">Description</option><option value=\"softwareVersion\">Version</option><option value=\"releaseDate\">Release date</option><option value=\"editor\">Editor</option><option value=\"licenseExpirationDate\">License expiration date</option><option value=\"licenseName\">License</option><option value=\"licenseProductId\">License product ID</option><option value=\"licenseProductKey\">License product key</option></select></td>\u000a    <td class=\"comparator\"><select class=\"selectComparator form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139978UBL1LA=\u0027 + encodeURIComponent(this.value+\u0027,v_0\u0027), null, null, null)\" id=\"ct_0\" name=\"F1416497139979J3NCEQ\"><option value=\"exists\">Is defined</option><option value=\"notExists\">Is not defined</option><option value=\"eq\">=</option><option value=\"notEq\">\u2260</option><option selected=\"selected\" value=\"regex\">Regex</option><option value=\"notRegex\">Not matching regex</option></select></td>\u000a    <td class=\"inputValue\"><input value=\"rudder-agent|Rudder agent \u005c(DSC\u005c)\" class=\"queryInputValue form-control input-sm\" id=\"v_0\" type=\"text\" name=\"F1416497139973TBZJGU\"></td>\u000a    <td class=\"removeLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139980QMK5QF=_\u0027); return true;\" value=\"-\" class=\"removeLineButton btn btn-danger btn-xs\" type=\"submit\" name=\"zF1416497139980QMK5QF\"></td>\u000a    <td class=\"last addLine\"><input onclick=\"lift.setUriSuffix(\u0027zF14164971399810R2P2T=_\u0027); return true;\" value=\"+\" class=\"removeLineButton btn btn-success btn-xs\" type=\"submit\" name=\"zF14164971399810R2P2T\"></td>\u000a  </tr></tbody><tbody></tbody><tbody><tr class=\"query_line\">\u000a    <td class=\"first objectType\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139983LY1HH3=\u0027 + encodeURIComponent(this.value+\u0027,at_1,\u0027+(function() {if (document.getElementById(&quot;at_1&quot;)) {return document.getElementById(&quot;at_1&quot;).value;} else {return null;}})()+\u0027,ct_1,\u0027+ (function() {if (document.getElementById(&quot;ct_1&quot;)) {return document.getElementById(&quot;ct_1&quot;).value;} else {return null;}})() +\u0027,v_1,\u0027+&quot;&quot;), null, null, null)\" id=\"ot_1\" name=\"F14164971399845HKKRM\"><option value=\"node\">Node summary</option><option value=\"group\"> \u251c\u2500 Groups</option><option value=\"networkInterfaceLogicalElement\"> \u251c\u2500 Network interfaces</option><option value=\"fileSystemLogicalElement\"> \u251c\u2500 File systems</option><option value=\"process\"> \u251c\u2500 Processes</option><option value=\"virtualMachineLogicalElement\"> \u251c\u2500 Virtual machines</option><option value=\"serializedNodeProperty\"> \u251c\u2500 Properties</option><option value=\"environmentVariable\"> \u2514\u2500 Environment variables</option><option value=\"machine\">Hardware</option><option value=\"biosPhysicalElement\"> \u251c\u2500 Bios</option><option value=\"controllerPhysicalElement\"> \u251c\u2500 Controllers</option><option value=\"memoryPhysicalElement\"> \u251c\u2500 Memories</option><option value=\"portPhysicalElement\"> \u251c\u2500 Ports</option><option value=\"processorPhysicalElement\"> \u251c\u2500 Processors</option><option value=\"slotPhysicalElement\"> \u251c\u2500 Slots</option><option value=\"soundCardPhysicalElement\"> \u251c\u2500 Sounds</option><option value=\"storagePhysicalElement\"> \u251c\u2500 Storages</option><option value=\"videoCardPhysicalElement\"> \u2514\u2500 Videos</option><option selected=\"selected\" value=\"software\">Software</option></select></td>\u000a    <td class=\"attributeName\"><select class=\"selectField form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139985QQKPZG=\u0027 + encodeURIComponent((function() {if (document.getElementById(&quot;ot_1&quot;)) {return document.getElementById(&quot;ot_1&quot;).value;} else {return null;}})()+\u0027,\u0027+this.value+\u0027,ct_1,\u0027+ (function() {if (document.getElementById(&quot;ct_1&quot;)) {return document.getElementById(&quot;ct_1&quot;).value;} else {return null;}})() +\u0027,v_1,\u0027+&quot;&quot;), null, null, null)\" id=\"at_1\" name=\"F1416497139986HBG5W2\"><option value=\"cn\">Name</option><option value=\"description\">Description</option><option selected=\"selected\" value=\"softwareVersion\">Version</option><option value=\"releaseDate\">Release date</option><option value=\"editor\">Editor</option><option value=\"licenseExpirationDate\">License expiration date</option><option value=\"licenseName\">License</option><option value=\"licenseProductId\">License product ID</option><option value=\"licenseProductKey\">License product key</option></select></td>\u000a    <td class=\"comparator\"><select class=\"selectComparator form-control input-sm\" onchange=\"lift.ajax(\u0027F1416497139987HQH1QB=\u0027 + encodeURIComponent(this.value+\u0027,v_1\u0027), null, null, null)\" id=\"ct_1\" name=\"F1416497139988ZGPFNS\"><option value=\"exists\">Is defined</option><option value=\"notExists\">Is not defined</option><option value=\"eq\">=</option><option value=\"notEq\">\u2260</option><option selected=\"selected\" value=\"regex\">Regex</option><option value=\"notRegex\">Not matching regex</option></select></td>\u000a    <td class=\"inputValue\"><input value=\"(\u005cd+:)?7(.|~)2(.|~)7(.|~)git202305102201.*\" class=\"queryInputValue form-control input-sm\" id=\"v_1\" type=\"text\" name=\"F1416497139982BHDPEM\"></td>\u000a    <td class=\"removeLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139989K0XLOW=_\u0027); return true;\" value=\"-\" class=\"removeLineButton btn btn-danger btn-xs\" type=\"submit\" name=\"zF1416497139989K0XLOW\"></td>\u000a    <td class=\"last addLine\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139990YTMBO5=_\u0027); return true;\" value=\"+\" class=\"removeLineButton btn btn-success btn-xs\" type=\"submit\" name=\"zF1416497139990YTMBO5\"></td>\u000a  </tr></tbody><tbody></tbody>\u000a        </table>\u000a        <div id=\"submitSearch\" class=\"nodeGroupSubmitSearch\"><input onclick=\"lift.setUriSuffix(\u0027zF1416497139991F1X4IS=_\u0027); return true;\" value=\"Search\" class=\"submitButton btn btn-primary\" id=\"SubmitSearch\" type=\"submit\" name=\"zF1416497139991F1X4IS\"></div>\u000a      </div>\u000a    "); 
// <![CDATA[
jQuery(document).ready(function() {});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {});
// ]]>
;

// <![CDATA[
jQuery(document).ready(function() {
          $(".queryInputValue").keydown( function(event) {
            processKey(event , 'SubmitSearch')
          } );
          ;});
// ]]>
;;
updateHashString('query', {"select":"nodeAndPolicyServer","composition":"And","where":[{"objectType":"software","attribute":"cn","comparator":"regex","value":"rudder-agent|Rudder agent \\(DSC\\)"},{"objectType":"software","attribute":"softwareVersion","comparator":"regex","value":"(\\d+:)?7(.|~)2(.|~)7(.|~)git202305102201.*"}]});
updateHashString('query', {"select":"nodeAndPolicyServer","composition":"And","where":[{"objectType":"software","attribute":"cn","comparator":"regex","value":"rudder-agent|Rudder agent \\(DSC\\)"},{"objectType":"software","attribute":"softwareVersion","comparator":"regex","value":"(\\d+:)?7(.|~)2(.|~)7(.|~)git202305102201.*"}]});
(function() {lift.ajax('F1416497139992YSV0HJ=' + encodeURIComponent(null), null, null, null);}());createTooltip();;
$("#createGroupFromQueryButton").prop("disabled", false);

Then a forth, identical to the third.

Then finaly a 5th and 6th with request:

    
F1416497139992YSV0HJ    "null" 

response:


          nodeIds = ["root"]

          reloadTable("serverGrid");
      ;

Actions #10

Updated by François ARMAND over 1 year ago

  • Status changed from New to In progress
  • Assignee set to François ARMAND
Actions #11

Updated by François ARMAND over 1 year ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from François ARMAND to Raphael GAUTHIER
  • Pull Request set to https://github.com/Normation/rudder/pull/4794
Actions #12

Updated by Vincent MEMBRÉ over 1 year ago

  • Target version changed from 7.2.7 to 7.2.8
Actions #13

Updated by Anonymous over 1 year ago

  • Status changed from Pending technical review to Pending release
  • Priority changed from 63 to 62
Actions #14

Updated by Vincent MEMBRÉ over 1 year ago

  • Fix check changed from To do to Checked
Actions #15

Updated by Vincent MEMBRÉ over 1 year ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 7.2.8 and 7.3.3 which were released today.

Actions

Also available in: Atom PDF