-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55518/
-----------------------------------------------------------
Review request for Ambari, Di Li and Gaurav Nagar.
Bugs: AMBARI-19451
https://issues.apache.org/jira/browse/AMBARI-19451
Repository: ambari
Description
-------
Per the Apache documentation for Yarn Node Labels
(http://hadoop.apache.org/docs/r2.7.3/hadoop-yarn/hadoop-yarn-site/NodeLabel.html),
queues that can only access nodes without labels are defined by setting the
property "yarn.scheduler.capacity.<queue-path>.accessible-node-labels" with
space as the value.
Reproduction Steps:
1. In the Capacity Scheduler view (Yarn Queue Manager), create queues q1,q2,
and set accessible node labels for root,q1,q2 but not for default queue
2. Since there is no way to specify a "space" as the value for accessible node
labels via Yarn Queue Manager, add this property manually via yarn configs.
i.e. In Yarn -> Configs -> Scheduler, manually add
yarn.scheduler.capacity.root.default.accessible-node-labels= (space after the =)
3. Save the configuration and restart Resource Manager as required
4. Return to Yarn Queue Manager, and click the default queue. It shows an error
- Label is not exist on cluster.
This seems to happen because in the capacity scheduler code, the value of the
yarn.scheduler.capacity.<queue-path>.accessible-node-labels.<label>.capacity is
not trimmed and the " " string is considered to be a label.
Diffs
-----
contrib/views/capacity-scheduler/src/main/resources/ui/app/serializers.js
de19cc9
contrib/views/capacity-scheduler/src/main/resources/ui/app/templates/components/queueContainer.hbs
453bbbc
Diff: https://reviews.apache.org/r/55518/diff/
Testing
-------
Manual test.
mvn test
Build failure is unrelated to the change. Also, I could not reproduce the build
failure. The capacity scheduler code compiles cleanly.
Thanks,
Sangeeta Ravindran