<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi,</div><div class="gmail_quote"><br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="overflow:hidden">
Can we ignore the problem above and remove this limitation? Or should<br>
we improve it somehow so it would work for one nodes, and will be<br>
ignored for others?</div></blockquote></div>I think that this validation needs to be accomplished in a different way, we don't need 1 controller for the sake of 1 controller,</div><div class="gmail_extra">1 controller is a dependency of compute/cinder/other roles. So from my pov there is atleast 2 options:</div><div class="gmail_extra"><br></div><div class="gmail_extra">1. Use tasks dependencies, and prevent deployment in case if some tasks relies on controller. </div><div class="gmail_extra">But the implementation might be complicated</div><div class="gmail_extra"><br></div><div class="gmail_extra">2. Insert required metadata into roles that relies on another roles, for compute it will be something like:</div><div class="gmail_extra">   compute:</div><div class="gmail_extra">     requires: controller > 1<br>We actually have DSL for declaring such things, we just need to specify this requirements from other side.</div><div class="gmail_extra"><br></div><div class="gmail_extra">But in 2nd case we will still need to use tricks, like one provided by Matt, for certain plugins. So maybe we should spend time and do 1st.</div></div>