<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
  <meta name="Generator" content="Zarafa WebAccess v7.1.11-46050">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>reclass and jinja template</title>
  <style type="text/css">
      body
      {
        font-family: Arial, Verdana, Sans-Serif ! important;
        font-size: 12px;
        padding: 5px 5px 5px 5px;
        margin: 0px;
        border-style: none;
        background-color: #ffffff;
      }

      p, ul, li
      {
        margin-top: 0px;
        margin-bottom: 0px;
      }
  </style>
</head>
<body>
<p>All,</p><p> </p><p>I have a question regarding reclass and jinja templates. I have a salt state to configure my resolv.conf.  The state contains a jinja template</p><p> </p><p>{%- for nameserver in nameservers %}</p><p>nameserver {{ nameserver }}</p><p>{%- endfor %}</p><p> </p><p>In reclass I have defined a hosted@lication.yml which contains 2 nameservers:</p><p> </p><div>resolver:</div><div>    searchpaths:</div><div>      - b-it.internal</div><div>    nameservers:</div><div>      - 192.168.1.1</div><div>      - 192.168.1.2</div><div> </div><div>and on host level I added </div><div> </div><div><div>resolver:</div><div>    nameservers:</div><div>      - 192.168.1.3</div><div> </div><div>When defining it in this way and I perform a salt-call pillar.items it get:</div><div> </div><div><div>resolver:</div><div>        ----------</div><div>        nameservers:</div><div>            - 192.168.1.1</div><div>            - 192.168.1.2</div><div>            - 192.168.1.3</div><div> </div><div>So the entry on hostlevel does not override the on hosted@ level.</div><div> </div><div>When I run the state I get all 3 nameservers  in resolv.conf.</div><div> </div><div>When I define the nameserver in reclass in a different way on hosted@ level:</div><div> </div><div><div>resolver:</div><div>    searchpaths:</div><div>      b-it.internal</div><div>    nameservers:</div><div>      192.168.1.1</div><div>      192.168.1.2</div><div> </div><div>And on host level:resolver:</div><div> </div><div>    nameservers:</div><div>      192.168.1.3</div><div> </div><div>Reclass does override the nameserver on host level  and the salt-call pillar.items looks like this:</div><div> </div><div><div> nameservers:</div><div>            192.168.1.3</div><div> </div><div>The state however transfors the output of reclass into the following resolv.conf.</div><div> </div><div> </div><div>   </div></div><div><div>                  +nameserver 1</div><div>                  +nameserver 9</div><div>                  +nameserver 2</div><div>                  +nameserver .</div><div>                  +nameserver 1</div><div>                  +nameserver 6</div><div>                  +nameserver 8</div><div>                  +nameserver .</div><div>                  +nameserver 1</div><div>                  +nameserver .</div><div>                  +nameserver 3</div></div></div></div></div><p> </p><p>Does anyone has a solution to fix this?</p><p> </p><p>Kind Regards,</p><p> </p><p>Stephan de Bot</p><p> </p><p> </p>
</body>
</html>