[ 
https://issues.apache.org/jira/browse/YARN-2201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Varun Vasudev updated YARN-2201:
--------------------------------

    Attachment: apache-yarn-2201.0.patch

Hi [~rchiang], I wrote the code for that test. My apologies for not handling 
the dependency.

The test is meant to ensure that a random user cannot kill another user's app 
via web services. When the RM receives a request to kill an app, it checks if 
the user who sent the request either submitted the app or has administrator 
privileges on the queue in which the app was submitted.

The FifoScheduler give administrator privileges to all users as a result we 
can't use it for this test. CapacityScheduler and FairScheduler allow queue 
specific administrators.The test sets up a queue with an administrator, submits 
an app to that queue, attempts to kill that app as a different user and then 
checks that the request was denied.

In order to add support for FairScheduler, all you have to do is setup a 
FairScheduler conf which sets up the queue with a specific administator and 
reload the rm scheduler with that config. I can make the change myself if you 
wish, but I'm not too familiar with FairScheduler and how to setup queues in 
it. I've also uploaded a patch that skips the test if the scheduler is not 
CapacityScheduler. In the future, once we add support for FairScheduler to it 
to run with FairScheduler as well.

If you'd like me to add support for FairScheduler, please re-assign the bug to 
me.

> TestRMWebServicesAppsModification dependent on yarn-default.xml
> ---------------------------------------------------------------
>
>                 Key: YARN-2201
>                 URL: https://issues.apache.org/jira/browse/YARN-2201
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Ray Chiang
>            Assignee: Ray Chiang
>              Labels: test
>         Attachments: apache-yarn-2201.0.patch
>
>
> TestRMWebServicesAppsModification.java has some errors that are 
> yarn-default.xml dependent.  By changing yarn-default.xml properties, I'm 
> seeing the following errors:
> 1) Changing yarn.resourcemanager.scheduler.class from 
> capacity.CapacityScheduler to fair.FairScheduler gives the error:
> Running 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification
> Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 79.047 sec 
> <<< FAILURE! - in 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification
> testSingleAppKillUnauthorized[1](org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification)
>   Time elapsed: 3.22 sec  <<< FAILURE!
> java.lang.AssertionError: expected:<Forbidden> but was:<Accepted>
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.junit.Assert.failNotEquals(Assert.java:743)
>         at org.junit.Assert.assertEquals(Assert.java:118)
>         at org.junit.Assert.assertEquals(Assert.java:144)
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification.testSingleAppKillUnauthorized(TestRMWebServicesAppsModification.java:458)
> 2) Changing yarn.acl.enable from false to true results in the following 
> errors:
> Running 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification
> Tests run: 10, Failures: 4, Errors: 0, Skipped: 0, Time elapsed: 49.044 sec 
> <<< FAILURE! - in 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification
> testSingleAppKill[0](org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification)
>   Time elapsed: 2.986 sec  <<< FAILURE!
> java.lang.AssertionError: expected:<Accepted> but was:<Unauthorized>
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.junit.Assert.failNotEquals(Assert.java:743)
>         at org.junit.Assert.assertEquals(Assert.java:118)
>         at org.junit.Assert.assertEquals(Assert.java:144)
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification.testSingleAppKill(TestRMWebServicesAppsModification.java:287)
> testSingleAppKillInvalidState[0](org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification)
>   Time elapsed: 2.258 sec  <<< FAILURE!
> java.lang.AssertionError: expected:<Bad Request> but was:<Unauthorized>
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.junit.Assert.failNotEquals(Assert.java:743)
>         at org.junit.Assert.assertEquals(Assert.java:118)
>         at org.junit.Assert.assertEquals(Assert.java:144)
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification.testSingleAppKillInvalidState(TestRMWebServicesAppsModification.java:369)
> testSingleAppKillUnauthorized[0](org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification)
>   Time elapsed: 2.263 sec  <<< FAILURE!
> java.lang.AssertionError: expected:<Forbidden> but was:<Unauthorized>
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.junit.Assert.failNotEquals(Assert.java:743)
>         at org.junit.Assert.assertEquals(Assert.java:118)
>         at org.junit.Assert.assertEquals(Assert.java:144)
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification.testSingleAppKillUnauthorized(TestRMWebServicesAppsModification.java:458)
> testSingleAppKillInvalidId[0](org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification)
>   Time elapsed: 0.214 sec  <<< FAILURE!
> java.lang.AssertionError: expected:<Not Found> but was:<Unauthorized>
>         at org.junit.Assert.fail(Assert.java:88)
>         at org.junit.Assert.failNotEquals(Assert.java:743)
>         at org.junit.Assert.assertEquals(Assert.java:118)
>         at org.junit.Assert.assertEquals(Assert.java:144)
>         at 
> org.apache.hadoop.yarn.server.resourcemanager.webapp.TestRMWebServicesAppsModification.testSingleAppKillInvalidId(TestRMWebServicesAppsModification.java:482)
> I'm opening this JIRA as a discussion for the best way to fix this.  I've got 
> a few ideas, but I would like to get some feedback about potentially more 
> robust ways to fix this test.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to