}
private boolean provisionComponents(AmClusterDef clusterDef, List<String> addedNodeNames,
ClusterReportQueue reports) throws Exception {
logger.info("Installing roles " + addedNodeNames);
ApiStackServiceList stackServiceList =
apiManager.getStackWithCompAndConfigs(clusterDef.getAmStack()
.getName(), clusterDef.getAmStack().getVersion());
Map<String, String> configTypeToService = stackServiceList.configTypeToService();
Map<String, ApiComponentInfo> componentToInfo = stackServiceList.componentToInfo();
ApiHostComponents apiHostComponents = null;
Set<String> serviceNames = getExistingClusterServices(clusterDef);
List<String> targetHostNames = new ArrayList<>();
List<AmNodeDef> targetNodeDefs = new ArrayList<>();
for (AmNodeDef nodeDef : clusterDef.getNodes()) {