<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Oct 21, 2015 at 1:21 PM, Igor Kalnitsky <span dir="ltr"><<a href="mailto:ikalnitsky@mirantis.com" target="_blank">ikalnitsky@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We can make bidirectional dependencies, just like our deployment tasks do.</blockquote></div><br>I'm not sure that we are on the same page regarding problem definition.</div><div class="gmail_extra">Imagine the case when we have environment with next set of roles:</div><div class="gmail_extra"><br></div><div class="gmail_extra">1. standalone-rabbitmq</div><div class="gmail_extra">2. standalone-mysql</div><div class="gmail_extra">3. standalone-other-api things</div><div class="gmail_extra">4. compute - requires: controller > 1</div><div class="gmail_extra">5. cinder - requires: controller > 1</div><div class="gmail_extra">6. designate (whatever custom role) - requires: controller > 1</div><div class="gmail_extra"><br></div><div class="gmail_extra">As you see - there is no controller anymore.</div><div class="gmail_extra">And 1, 2, 3 developed by one guy, who knows that he need to overwrite requirements for 4,5, but he knows nothing about 6.</div><div class="gmail_extra">At the same time developer of 6 role, obviously, knows nothing about standalone-* things.</div><div class="gmail_extra">What options do we have here?</div><div class="gmail_extra"><br></div></div>