<div dir="ltr"><div><div><div><div><div><div>Hi, fuelers,<br><br></div>As you may know, we have a rich and complex network_transformations section in astute.yaml. We use it to describe which OVS/Linux network primitives should be created and how they should be connected together. This section is used by "l23network" Puppet module during the deployment stage.<br><br></div>The problem is that from plugin developer's stand point it's hard to parse a full transformation graph to find which interface/vlan is used for each network (Public, Private, etc.). I see two ways to fix that.<br><br></div>1) Add a new structure to astute.yaml with a simple mapping of networks to interfaces/vlans. Example: <a href="http://paste.openstack.org/show/181466/">http://paste.openstack.org/show/181466/</a> (see roles_meta section). <br>Pros: it's very easy for plugin developers. <br>Cons: there are two sources of truth (roles_meta and transformations). If one plugin patch transformations but forget to patch roles_meta, another plugin, which relies on roles_meta, fails the deployment.<br><br></div>2) Provide a some kind of SDK - functions/libraries for Puppet/Python/Bash, which can be used in plugin's tasks to operate with graph of transformations. <br>Pros: single point of truth. One and controlled way to do things right.<br></div>Cons: a new piece of software will be issued. It must be written, tested, documented, and incorporated into CI/CD infrastructure.<br><br><br></div><div>I prefer the second way. Do you?<br></div><div><div><div><div><div><div><div><br>-- <br><div class="gmail_signature">Andrey Danin<br><a href="mailto:adanin@mirantis.com" target="_blank">adanin@mirantis.com</a><br>skype: gcon.monolake<br></div>
</div></div></div></div></div></div></div></div>