<div dir="ltr"><div><div><div><div><div><div><div><div><div><div>Hi<br><br></div>I am looking to automate role file generation in TripleO. The idea is basically for an operator to create a simple yaml file (operator.yaml, say) listing services that are needed and then TripleO to generate Controller.yaml enabling only those services that are mentioned.<br><br></div>For example:<br></div>operator.yaml<br></div>services:<br></div>    Glance<br></div>    OpenDaylight<br></div>    Neutron ovs agent<br><br></div>Then TripleO should<br></div>1. Fail because ODL and OVS agent are either-or services<br></div>2. After operator.yaml is modified to remove Neutron ovs agent, it should generate Controller.yaml with below content<br><br><span class="gmail-pl-ent">ServicesDefault</span>:<br><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC84" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">    - <span class="gmail-pl-s">OS::TripleO::Services::GlanceApi</span></td>
      </tr>
      <tr>
        </tr></tbody></table>    - <span class="gmail-pl-s">OS::TripleO::Services::GlanceRegistry<br></span><table class="gmail-highlight gmail-tab-size gmail-js-file-line-container"><tbody><tr><td id="gmail-LC155" class="gmail-blob-code gmail-blob-code-inner gmail-js-file-line">    - <span class="gmail-pl-s">OS::TripleO::Services::OpenDaylightApi</span></td>
      </tr>
      <tr>
        </tr></tbody></table>    - <span class="gmail-pl-s">OS::TripleO::Services::OpenDaylightOvs</span><div><div><div><br></div><div>Currently, operator has to manually edit the role file (specially when deployed with ODL) and I have seen many instances of failing deployment due to variations of OVS, OVN and ODL services enabled when they are actually exclusive.</div><div><br></div><div>I am willing to spend some cycle on this. What I ask is some clearity on its feasibility and any other ideas to make this idea into a feature.<br clear="all"></div><div><div><div><div><div><div><div><div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Thanking you<div><br></div><div>Janki Chhatbar</div><div>OpenStack | Docker | SDN</div><div><a href="http://simplyexplainedblog.wordpress.com" target="_blank">simplyexplainedblog.wordpress.com</a></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>