<div dir="ltr">Hello all,<div><br></div><div>You may know that for deployment configuration we are serializing additional prefix for controller role (primary), with the goal of deployment order control (primary-controller always should be deployed before secondaries) and some condiions in fuel-library code.</div><div><br></div><div>However, we cannot guarantee that primary controller will be always the same node, because it is not business of nailgun to control elections of primary. Essentially user should not rely on nailgun</div><div>information to find primary, but we need to persist node elected as primary in first deployment</div><div>to resolve orchestration issues (when new node added to cluster we should not mark it as primary).</div><div><br></div><div>So we called primary-controller - "internal" role, which means that it is not exposed to users (or external developers).</div><div>But with introduction of plugins and granular deployment, in my opinion, we need to be able</div><div>to specify that task should run specifically on primary, or on secondaries. Alternative to this approach would be - always run task on all controllers, and let task itself to verify that it is  executed on primary or not.</div><div><br></div><div>Is it possible to have significantly different sets of tasks for controller and primary-controller?</div><div>And same goes for mongo, and i think we had primary for swift also.</div></div>