<!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>