> On Feb. 16, 2017, 12:05 p.m., Sandor Magyari wrote:
> > Yes Robert is right, so there's no such validation because in general is 
> > not necessary to have all hosts from all hostgroups. For ex. let's say you 
> > have a 'worker' hostgroup which contains only Slave or Client components 
> > and you want to add hosts to this hostgroup later. In this case cluster 
> > deployment is started.
> > If you check ConfigureClusterTask.getTopologyRequiredHostGroups() basically 
> > those are the hostgroups that are required to start configurations and 
> > these are typically hostgroups containing Master components. 
> >      So if want to validate then we should validate these host groups are 
> > in Cluster template. The problem is that you can retrive this from 
> > ClusterConfigurationRequest.getRequiredHostGroups() which is created in 
> > TopologyManager.provisionCluster() (line:304) so at a later point then 
> > validateTopology, when cluster resources are already created. So in order 
> > to retrieve required HostGroups we need to create a lot of things like 
> > Cluster/components in db/memory which we need to revert all in case of 
> > throwing an exception from here TopologyManager.provisionCluster() 
> > (line:304).
> >      Another approach would be to check required HostGroups at the end of 
> > TopologyManager.provisionCluster() and in case of missing required hgroups 
> > we can return a message about this problem, which user can correct by 
> > sending a scale request specifying host(s) for missing hgroups.

Hello Sandor,
Thank you for providing this information. As cluster deployment request is 
getting persisted before getRequiredHostGroups() method call. I am not able to 
return a message, instead I addded error message to address this special case 
where a master host group is not mentioned in cluster template file. Could you 
please review the change?


- Amruta


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56627/#review165833
-----------------------------------------------------------


On Feb. 15, 2017, 7:30 p.m., Amruta Borkar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/56627/
> -----------------------------------------------------------
> 
> (Updated Feb. 15, 2017, 7:30 p.m.)
> 
> 
> Review request for Ambari, Di Li, Robert Nettleton, and Sandor Magyari.
> 
> 
> Bugs: AMBARI-19991
>     https://issues.apache.org/jira/browse/AMBARI-19991
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Cluster creation REST API request gets accepted when, cluster template does 
> not list all the host_groups mentioned in the blueprint. But cluster 
> deployment fails showing error message in the logs
> Caused by: java.lang.IllegalArgumentException: 
> TopologyManager.ConfigureClusterTask - prerequisites for config request 
> processing not yet satisfied
> at 
> org.apache.ambari.server.topology.TopologyManager$ConfigureClusterTask.call(TopologyManager.java:908)
> at 
> org.apache.ambari.server.topology.TopologyManager$ConfigureClusterTask.call(TopologyManager.java:889)
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/main/java/org/apache/ambari/server/topology/ClusterTopologyImpl.java
>  d0a4df9 
>   
> ambari-server/src/test/java/org/apache/ambari/server/topology/ClusterTopologyImplTest.java
>  1f31d05 
> 
> Diff: https://reviews.apache.org/r/56627/diff/
> 
> 
> Testing
> -------
> 
> Tested manually, updated test cases
> 
> 
> Thanks,
> 
> Amruta Borkar
> 
>

Reply via email to