The root cause of this problem is change in serialization of deployment information for nodes in 'ready' status.
Since in 6.1 the default deployment info for 'ready' node wasn't serialized, we had to merge deployment information for 'ready' nodes with default deployment information to get all nodes in the cluster properly configured.
In 7.0, however, default deployment information for 'New' cluster includes all nodes, both 'ready' and 'discover'. On the other hand, deployment information is no longer serialized on the fly, but rather fetched from 'replaced_deployment_info' attribute in 'nodes' table. As we modified and uploaded the information before the deployment, replaced deployment info became inconsistent after adding new controllers: they didn't make it to the replaced deployment settings of the new controller.
This, in turn, caused primary controller to ignore addition of subsequent controllers.
The root cause of this problem is change in serialization of deployment information for nodes in 'ready' status.
Since in 6.1 the default deployment info for 'ready' node wasn't serialized, we had to merge deployment information for 'ready' nodes with default deployment information to get all nodes in the cluster properly configured.
In 7.0, however, default deployment information for 'New' cluster includes all nodes, both 'ready' and 'discover'. On the other hand, deployment information is no longer serialized on the fly, but rather fetched from 'replaced_ deployment_ info' attribute in 'nodes' table. As we modified and uploaded the information before the deployment, replaced deployment info became inconsistent after adding new controllers: they didn't make it to the replaced deployment settings of the new controller.
This, in turn, caused primary controller to ignore addition of subsequent controllers.