Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SPARK-1890 and SPARK-1891- add admin and modify acls #1196

Closed
wants to merge 4 commits into from

Conversation

tgravescs
Copy link
Contributor

It was easier to combine these 2 jira since they touch many of the same places. This pr adds the following:

  • adds modify acls
  • adds admin acls (list of admins/users that get added to both view and modify acls)
  • modify Kill button on UI to take modify acls into account
  • changes config name of spark.ui.acls.enable to spark.acls.enable since I choose poorly in original name. We keep backwards compatibility so people can still use spark.ui.acls.enable. The acls should apply to any web ui as well as any CLI interfaces.
  • send view and modify acls information on to YARN so that YARN interfaces can use (yarn cli for killing applications for example).

@AmplabJenkins
Copy link

Merged build triggered.

@AmplabJenkins
Copy link

Merged build started.

@AmplabJenkins
Copy link

Merged build finished. All automated tests passed.

@AmplabJenkins
Copy link

All automated tests passed.
Refer to this link for build results: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/16063/

* Split a comma separated String, filter out any empty items, and return a Set of strings
*/
private def stringToSet(list: String): Set[String] = {
(list.split(',')).map(_.trim()).filter(!_.isEmpty).toSet
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: too many parentheses

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed a couple.

@vanzin
Copy link
Contributor

vanzin commented Jun 26, 2014

Looks ok, aside from the minor semantic issue above. The comment below scares me a little bit:

 If the user is null it is assumed authentication isn't turned on and all users have access.

But I don't know enough about this code at the moment to be able to see if that's an actual problem.

@tgravescs
Copy link
Contributor Author

You can't determine the user unless some sort of authentication filter is in place. the UI returns null in that case. You can't check acls against a null user so all you can do is assume its either on or off. Since an authentication filter could choose to not filter all web UI pages, some may come back with a user and some may not. That is why we assume if there is no user everyone has access. The only way I would see around that would be to build in some sort config with a real list. We could also change this behavior for say CLI interfaces, if we want them to do something different then the web ui interfaces.

@SparkQA
Copy link

SparkQA commented Jul 15, 2014

QA tests have started for PR 1196. This patch merges cleanly.
View progress: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/16683/consoleFull

@SparkQA
Copy link

SparkQA commented Jul 15, 2014

QA results for PR 1196:
- This patch PASSES unit tests.
- This patch merges cleanly
- This patch adds no public classes

For more information see test ouptut:
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/16683/consoleFull

@pwendell
Copy link
Contributor

Jenkins, test this please. @tgravescs are you waiting for more feedback on this? It seems pretty good to me!

@SparkQA
Copy link

SparkQA commented Jul 30, 2014

QA tests have started for PR 1196. This patch merges cleanly.
View progress: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17514/consoleFull

@SparkQA
Copy link

SparkQA commented Jul 31, 2014

QA results for PR 1196:
- This patch PASSES unit tests.
- This patch merges cleanly
- This patch adds no public classes

For more information see test ouptut:
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/17514/consoleFull

@tgravescs
Copy link
Contributor Author

Yep, I was just waiting on a review. If you are good with it then I'll commit.

@tgravescs
Copy link
Contributor Author

merged into master and branch-1.1

asfgit pushed a commit that referenced this pull request Aug 5, 2014
It was easier to combine these 2 jira since they touch many of the same places.  This pr adds the following:

- adds modify acls
- adds admin acls (list of admins/users that get added to both view and modify acls)
- modify Kill button on UI to take modify acls into account
- changes config name of spark.ui.acls.enable to spark.acls.enable since I choose poorly in original name. We keep backwards compatibility so people can still use spark.ui.acls.enable. The acls should apply to any web ui as well as any CLI interfaces.
- send view and modify acls information on to YARN so that YARN interfaces can use (yarn cli for killing applications for example).

Author: Thomas Graves <tgraves@apache.org>

Closes #1196 from tgravescs/SPARK-1890 and squashes the following commits:

8292eb1 [Thomas Graves] review comments
b92ec89 [Thomas Graves] remove unneeded variable from applistener
4c765f4 [Thomas Graves] Add in admin acls
72eb0ac [Thomas Graves] Add modify acls

(cherry picked from commit 1c5555a)
Signed-off-by: Thomas Graves <tgraves@apache.org>
@asfgit asfgit closed this in 1c5555a Aug 5, 2014
xiliu82 pushed a commit to xiliu82/spark that referenced this pull request Sep 4, 2014
It was easier to combine these 2 jira since they touch many of the same places.  This pr adds the following:

- adds modify acls
- adds admin acls (list of admins/users that get added to both view and modify acls)
- modify Kill button on UI to take modify acls into account
- changes config name of spark.ui.acls.enable to spark.acls.enable since I choose poorly in original name. We keep backwards compatibility so people can still use spark.ui.acls.enable. The acls should apply to any web ui as well as any CLI interfaces.
- send view and modify acls information on to YARN so that YARN interfaces can use (yarn cli for killing applications for example).

Author: Thomas Graves <tgraves@apache.org>

Closes apache#1196 from tgravescs/SPARK-1890 and squashes the following commits:

8292eb1 [Thomas Graves] review comments
b92ec89 [Thomas Graves] remove unneeded variable from applistener
4c765f4 [Thomas Graves] Add in admin acls
72eb0ac [Thomas Graves] Add modify acls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants