<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Le 31/03/2016 12:37, Francois Armand a
      écrit :<br>
    </div>
    <blockquote cite="mid:56FCFDE3.2050007@normation.com" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=windows-1252">
      Hello, <br>
      <br>
      So, here goes for a summary of <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://www.rudder-project.org/redmine/issues/8022">http://www.rudder-project.org/redmine/issues/8022</a>,
      "Node's FQDN-Resolution is sometimes invalid" and related tickets.
      <br>
      The problem cover up several sub-cases, which need to be addressed
      systematically to achieve some result.<br>
      They are: <br>
      <ul>
        <li>1/ the node FQDN is used for identifying a node, and then
          manage authentication and authorization to access its
          promises. If Rudder server, CFEngine promise server, and the
          node don't agree on it, the node can't get its promises. This
          is a hard problem because:</li>
        <ul>
          <li>FQDN is fragile. It needs a perfectly up to date and
            shared DNS environment. But "it's always a DNS problem",
            what gives an idea. <br>
          </li>
          <li>FQDN tools are notoriously broken, and don't always agree
            about what is the FQDN of a host</li>
          <li>even in a perfectly working and up-to-date DNS env, there
            may have voluntary decision not to have the same FQDN from
            the host and the server, as explained in #8022 ticket. <br>
          </li>
        </ul>
        <li>2/ if the node FQDN is not correct in the first sent
          inventory, the node configuration is delayed by one day,
          because from the node point of view, the inventory was
          correctly sent and so the standard frequency for sending
          inventories is applied. <br>
        </li>
      </ul>
      <br>
      The long-term solution for 1/ is to use something else that FQDN
      to identify the node - we have for example an UUID for that. The
      problem here is that it is a hard limitation of the protocol used
      by cf-serverd. So to use another identification scheme (and why
      not our own authentication/authorization), we need to either patch
      cf-serverd or use a different client-server protocol for promises
      transfer. Both solutions are open, but are out of scope.<br>
      <br>
      Meanwhile, we can address at best 1/ and 2/ <br>
      <br>
      <b>For 1/, </b>we need to prevent as much as we can to give bad
      FQDN and in all case, give the user a possibility to hook what he
      knows should be the correct value. <br>
      <b>- Prevent more bad FQDN:</b><b><br>
      </b>=> update perl version: <a moz-do-not-send="true"
        class="moz-txt-link-freetext"
        href="http://www.rudder-project.org/redmine/issues/8123">http://www.rudder-project.org/redmine/issues/8123</a><br>
      I didn't find anything else on that subject, compared to what we
      are doing now. <br>
      <br>
      <b>- Let the user hook the correct value: </b><b><br>
      </b>=> <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://www.rudder-project.org/redmine/issues/8022#note-20">http://www.rudder-project.org/redmine/issues/8022#note-20</a><br>
      Here, we still need to specify the path convention for command and
      file to look for the correct FDQN. <br>
    </blockquote>
    I have some remarks/questions here:<br>
    <br>
    * If I understand correctly the process will be: Inventory is ran on
    the Node, then inventory is modified to add data from commands /
    file ? or will this be used when runnig fusionInventory ? <br>
    <br>
    * In Which entry will they be stored ? RUDDER/HOSTAME? another one?<br>
    <br>
    * Do we want to define Hostname only ? Would it not be better if the
    solution was much more adaptable and can modify any entry from the
    inventory ? <br>
    <br>
    <br>
    About the path, I suggest we should put them under
    /var/rudder/inventories :<br>
    <br>
    <ul>
      <li>If we modify only hostname (RUDDER/HOSTNAME):</li>
      <ul>
        <li>/var/rudder/inventories/hostname-command: Command to execute
          the get the correct hostname</li>
        <li>/var/rudder/inventories/hostname-file: File containing the
          path the file containing the correct hostname</li>
      </ul>
    </ul>
    <ul>
      <li>If we want something more general:</li>
      <ul>
        <li>/var/rudder/inventories/commands or
          /var/rudder/inventories/hooks.d : to put all commands/hooks</li>
        <li>/var/rudder/inventories/mapping: a file mapping a Key in
          inventory to an action to do, ie:</li>
        <ul>
          <li>RUDDER/HOSTNAME => get_fqdn.sh # Will run get_fqdn.sh 
            (from hooks directory!) and put output into the correct tag<br>
          </li>
          <li>OPERATINGSYSTEM/OSVERSION => /some/path/to/file # Will
            read that file to fill the tag<br>
          </li>
        </ul>
      </ul>
    </ul>
    I hope I'm not going too far from the original idea ...<br>
    <br>
    <br>
    <blockquote cite="mid:56FCFDE3.2050007@normation.com" type="cite"> <br>
      <b>For 2/, </b>we need to prevent the sending of inventory that
      will be rejected by the server for sure. <b><br>
      </b>=> <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://www.rudder-project.org/redmine/issues/8127">http://www.rudder-project.org/redmine/issues/8127</a><br>
      <br>
      Hope it helps sum up the whole solution. <br>
      <br>
      Cheers, <br>
      <br>
      <div class="moz-signature">-- <br>
        <meta content="text/html; charset=windows-1252"
          http-equiv="Content-Type">
        <style type="text/css"><!--
    a.redlink:link { color: #1782E6; text-decoration: none; }
    a.redlink:visited { color: #1782E6; text-decoration: none; }
    .sig { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: small; }
    .sigsmall { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: x-small; }
  --></style>
        <table width="380" border="0" cellpadding="0" cellspacing="2">
          <tbody>
            <tr>
              <td colspan="2">
                <hr></td>
            </tr>
            <tr>
              <td colspan="2"><b><img alt=""
                    src="cid:part5.07030407.01060505@normation.com"
                    align="left" height="50" hspace="10" width="50"> <span
                    class="sig">François ARMAND</span></b><br>
                <span class="sig"><i>Co-founder & CTO</i></span><br>
                <span class="sig"><a moz-do-not-send="true"
                    class="redlink" href="http://www.normation.com">Normation</a></span>
              </td>
            </tr>
            <tr>
              <td colspan="2">
                <hr></td>
            </tr>
            <tr>
              <td colspan="2"><span class="sigsmall"><b>87 rue de
                    Turbigo, 75003 Paris, France</b></span></td>
            </tr>
            <tr>
              <td><span class="sigsmall">Telephone:</span></td>
              <td><span class="sigsmall">+33 (0)1 83 62 99 23</span></td>
            </tr>
            <tr>
              <td><span class="sigsmall">Mobile:</span></td>
              <td><span class="sigsmall">+33 (0)6 63 37 60 55</span></td>
            </tr>
            <tr>
              <td colspan="2">
                <hr></td>
            </tr>
          </tbody>
        </table>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
rudder-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rudder-dev@lists.rudder-project.org">rudder-dev@lists.rudder-project.org</a>
<a class="moz-txt-link-freetext" href="http://www.rudder-project.org/mailman/listinfo/rudder-dev">http://www.rudder-project.org/mailman/listinfo/rudder-dev</a>
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      <meta content="text/html; charset=windows-1252"
        http-equiv="Content-Type">
      <style type="text/css">
<!--
a.redlink:link { color: #1782E6; }
a.redlink:visited { color: #1782E6; }
.sig { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: small; }
.sigsmall { font-family: 'Century Gothic', CenturyGothic, AppleGothic, sans-serif; font-size: x-small; }
-->
    </style>
      <table width="380" border="0" cellpadding="0" cellspacing="2">
        <tbody>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><b><img alt="Logo Normation"
                  src="cid:part7.08050604.03060206@normation.com"
                  align="left" height="50" hspace="10" width="50"> <span
                  class="sig">Vincent Membré</span></b><br>
              <span class="sig"><i>Developer / Release manager</i></span><br>
              <span class="sig"><a class="redlink"
                  href="http://www.normation.com">Normation</a></span> </td>
          </tr>
          <tr>
            <td colspan="2">
              <hr></td>
          </tr>
          <tr>
            <td colspan="2"><span class="sigsmall"><b>87, Rue de
                  Turbigo, 75003 Paris, France</b></span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Phone:</span></td>
            <td><span class="sigsmall">+33 (0)1 84 16 06 00</span></td>
          </tr>
          <tr>
            <td><span class="sigsmall">Mobile:</span></td>
            <td><span class="sigsmall">+33 (0)6 10 14 76 78</span></td>
          </tr>
          <tr>
            <td colspan="2">
              <hr> </td>
          </tr>
        </tbody>
      </table>
    </div>
  </body>
</html>