> On Feb. 19, 2016, 10:57 a.m., Alexandr Antonenko wrote:
> > ambari-web/app/mixins/wizard/assign_master_components.js, line 776
> > <https://reviews.apache.org/r/43430/diff/3/?file=1252149#file1252149line776>
> >
> > No need in such construction, there is native ember function
> > pushObjects.
Thanks for reviewing Alexander
I've been having an issue with the unit test when I use
`hostList.pushObjects(hostNames)`.
The existing unit test for `loadRecommendationsSuccessCallback` works when I
use `Array.prototype.push.apply(hostList, hostNames);`
However, when I use `hostList.pushObjects(hostNames)`, the deep comparison
`expect(c.get('content.recommendedHostsForComponents')).to.deep.equal(expected)`
does not work, and the unit test keeps failing.
I tried changing the expect to use `to.deep.equal`, `to.eql`, `to.deep.eq` -
neither of them worked.
Do you have any suggestions on how to get past this issue?
As a last resort, I was planning to convert the result into JSON and compare it
with an `expectedJSON`.
```
describe('#loadRecommendationsSuccessCallback', function () {
it('should set recommendations', function() {
c.loadRecommendationsSuccessCallback(data);
expect(c.get('content.recommendations')).to.eq(data.resources[0].recommendations);
});
it('should set recommendedHostsForComponents', function() {
c.loadRecommendationsSuccessCallback(data);
var expected = {
"c1": ["h1", "h2", "h4", "h3"],
"c3": ["h1"],
"c2": ["h1", "h2", "h4"]
};
expect(c.get('content.recommendedHostsForComponents')).to.deep.equal(expected);
});
});
```
- Matt
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43430/#review119919
-----------------------------------------------------------
On Feb. 16, 2016, 2:13 p.m., Matt wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43430/
> -----------------------------------------------------------
>
> (Updated Feb. 16, 2016, 2:13 p.m.)
>
>
> Review request for Ambari, Alexander Denissov, Alejandro Fernandez, Aleksandr
> Kovalenko, Alexandr Antonenko, bhuvnesh chaudhary, Goutam Tadi, Jaimin Jetly,
> jun aoki, Lav Jain, Newton Alex, Oleksandr Diachenko, and Sumit Mohanty.
>
>
> Bugs: AMBARI-14987
> https://issues.apache.org/jira/browse/AMBARI-14987
>
>
> Repository: ambari
>
>
> Description
> -------
>
> On the assign masters page for the wizard, recommendations are not shown for
> a master component that is being added for an installed service.
>
> This happens while adding HAWQSTANDBY to the cluster using the 'Add
> HAWQSTANDBY' wizard (situation: HAWQ service is already installed on the
> cluster).
>
> The function getHostForMaster used to return the next available host for the
> master.
> For example:
> Case 1: component C1 is NOT installed on any hosts.
> getHostForMaster would return the first host from the allHosts list.
> Case 2: component C2 is installed on host H1
> getHostForMaster would return next available host from the allHosts list.
> If allHosts = ['H1', 'H2', 'H3']. It would return H2
>
> To avoid just placing the component on the next available host, the
> recommendation is considered.
> Current implementation:
> If a host is recommended for the master, place it on that host (if it is not
> already installed on that host).
> If no recommendation is given, place it on the next available host.
>
>
> Diffs
> -----
>
> ambari-web/app/assets/test/tests.js 9d5cbc1
> ambari-web/app/mixins/wizard/assign_master_components.js f6d1b1a
> ambari-web/test/mixins/wizard/assign_master_components_test.js PRE-CREATION
>
> Diff: https://reviews.apache.org/r/43430/diff/
>
>
> Testing
> -------
>
> Manually Tested.
>
> Tested assign_master page on cluster installation, add service wizard, enable
> namenode wizard and add hawq standby wizard.
>
> Unit test added:
> 10412 tests complete (9 seconds)
> 121 tests pending
>
> [INFO]
> ------------------------------------------------------------------------
> [INFO] BUILD SUCCESS
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Total time: 41.211 s
> [INFO] Finished at: 2016-02-16T14:12:45-08:00
> [INFO] Final Memory: 12M/311M
> [INFO]
> ------------------------------------------------------------------------
>
>
> Thanks,
>
> Matt
>
>