[02/47] knox git commit: KNOX-501: Avoid NPE , in case of passing invalid argument to KnoxCli. Contributed by J.Andreina.
KNOX-501: Avoid NPE , in case of passing invalid argument to KnoxCli. Contributed by J.Andreina. Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/7d839171 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/7d839171 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/7d839171 Branch: refs/heads/KNOX-481 Commit: 7d839171a7c2ecda217732718ae5aedf4d429fba Parents: 2192932 Author: Kevin Minder kevin.min...@hortonworks.com Authored: Thu Feb 12 10:40:26 2015 -0500 Committer: Kevin Minder kevin.min...@hortonworks.com Committed: Thu Feb 12 10:40:26 2015 -0500 -- CHANGES | 1 + .../java/org/apache/hadoop/gateway/util/KnoxCLI.java | 8 +--- .../java/org/apache/hadoop/gateway/util/KnoxCLITest.java | 11 +++ 3 files changed, 17 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/CHANGES -- diff --git a/CHANGES b/CHANGES index 4d072b6..9f2677a 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,7 @@ Release Notes - Apache Knox - Version 0.6.0 ** Improvement * [KNOX-462] - Proper error message when root tag of topology file incorrect + * [KNOX-501] - Avoid NPE in case of passing invalid argument to KnoxCli. -- Release Notes - Apache Knox - Version 0.5.1 http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java index dd379aa..8366f2e 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java @@ -89,10 +89,12 @@ public class KnoxCLI extends Configured implements Tool { if (exitCode != 0) { return exitCode; } - if (command.validate()) { - initializeServices( command instanceof MasterCreateCommand ); - command.execute(); + if (command != null command.validate()) { +initializeServices( command instanceof MasterCreateCommand ); +command.execute(); } else { +out.println(ERROR: Invalid Command + \n + Unrecognized option: + args[0] + \n ++ A fatal exception has occurred. Program will exit.); exitCode = -2; } } catch (Exception e) { http://git-wip-us.apache.org/repos/asf/knox/blob/7d839171/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java -- diff --git a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java index 82fc9cc..82f380a 100644 --- a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java +++ b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java @@ -120,6 +120,17 @@ public class KnoxCLITest { } @Test + public void testForInvalidArgument() throws Exception { +outContent.reset(); +String[] args1 = { --value, testvalue1, --master, master }; +KnoxCLI cli = new KnoxCLI(); +cli.setConf(new GatewayConfigImpl()); +int rc = cli.run(args1); +assertEquals(-2, rc); +assertTrue(outContent.toString().contains(ERROR: Invalid Command)); + } + + @Test public void testListAndDeleteOfAliasForValidClusterName() throws Exception { outContent.reset(); String[] args1 =
[11/47] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/b8aed418 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/b8aed418 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/b8aed418 Branch: refs/heads/KNOX-481 Commit: b8aed418f90fe9abe8353671a424fc703a5a5e17 Parents: 4fbb0c6 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:13 2015 -0500 -- .../apache/hadoop/gateway/config/impl/GatewayConfigImpl.java| 5 + 1 file changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/b8aed418/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 4241856..cfbec54 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -174,6 +174,11 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { } @Override + public String getGatewayStacksDir() { +return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); + } + + @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); }
[43/47] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/5cc21a5c Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/5cc21a5c Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/5cc21a5c Branch: refs/heads/KNOX-481 Commit: 5cc21a5c24c70bbb1fa12e6d015ec4e3a302ab9f Parents: 6615a0d Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:08 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 39 +--- .../service/definition/PolicyBinding.java | 24 .../gateway/service/definition/UrlBinding.java | 13 +++ .../services/yarn-rm/2.5.0/service.xml | 1 - .../definition/ServiceDefinitionTest.java | 10 + 5 files changed, 81 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/5cc21a5c/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 755fc67..f31b08a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -24,10 +24,7 @@ import org.apache.hadoop.gateway.descriptor.FilterParamDescriptor; import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter; import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.service.definition.CustomDispatch; -import org.apache.hadoop.gateway.service.definition.RewriteFilter; -import org.apache.hadoop.gateway.service.definition.ServiceDefinition; -import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.service.definition.*; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; @@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); resource.pattern(binding.getPattern()); +ListPolicyBinding policyBindings = binding.getPolicyBindings(); +if (policyBindings == null) { + policyBindings = serviceDefinition.getPolicyBindings(); +} +if (policyBindings == null) { + //add default set + addDefaultPolicies(context, service, filterParams, params, resource); +} else { + addPolicies(context, service, filterParams, params, resource, policyBindings); +} +addDispatchFilter(context, service, resource, binding); + } + + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { +for (PolicyBinding policyBinding : policyBindings) { + String role = policyBinding.getRole(); + if (role == null) { +throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); + } + role = role.trim().toLowerCase(); + if (role.equals(rewrite)) { +addRewriteFilter(context, service, filterParams, params, resource); + } else if (topologyContainsProviderType(context, role)) { +context.contributeFilter( service, resource, role, policyBinding.getName(), null ); + } +} + } + + private void addDefaultPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); addAuthorizationFilter(context, service, resource); +addRewriteFilter(context, service, filterParams, params, resource); + } + + private void addRewriteFilter(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { if ( !filterParams.isEmpty() ) { for ( Map.EntryString, String filterParam : filterParams.entrySet() ) {
[18/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/a4106a59 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/a4106a59 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/a4106a59 Branch: refs/heads/KNOX-481 Commit: a4106a59c2b5386b7f633e837534b302ba385273 Parents: 55cef73 Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 24 +++ .../service/definition/PolicyBinding.java | 45 .../service/definition/RewriteFilter.java | 47 - .../service/definition/ServiceDefinition.java | 24 +++ .../gateway/service/definition/UrlBinding.java | 73 .../services/yarn-rm/2.5.0/service.xml | 70 +-- .../definition/ServiceDefinitionTest.java | 6 +- 7 files changed, 62 insertions(+), 227 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/a4106a59/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index f31b08a..7220cdd 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon private void contributeResources(DeploymentContext context, Service service) { MapString, String filterParams = new HashMapString, String(); -ListUrlBinding bindings = serviceDefinition.getUrlBindings(); -for ( UrlBinding binding : bindings ) { - ListRewriteFilter filters = binding.getRewriteFilters(); +ListRoute bindings = serviceDefinition.getRoutes(); +for ( Route binding : bindings ) { + ListRewrite filters = binding.getRewrites(); if ( filters != null !filters.isEmpty() ) { filterParams.clear(); -for ( RewriteFilter filter : filters ) { - filterParams.put(filter.getApplyTo(), filter.getRef()); +for ( Rewrite filter : filters ) { + filterParams.put(filter.getTo(), filter.getApply()); } } try { @@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, Route binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(binding.getPattern()); -ListPolicyBinding policyBindings = binding.getPolicyBindings(); +resource.pattern(binding.getPath()); +ListPolicy policyBindings = binding.getPolicies(); if (policyBindings == null) { - policyBindings = serviceDefinition.getPolicyBindings(); + policyBindings = serviceDefinition.getPolicies(); } if (policyBindings == null) { //add default set @@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon addDispatchFilter(context, service, resource, binding); } - private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { -for (PolicyBinding policyBinding : policyBindings) { + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicy policyBindings) throws URISyntaxException { +for (Policy policyBinding : policyBindings) { String role = policyBinding.getRole(); if (role == null) { throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); @@ -142,7 +142,7 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon
[20/47] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483
Added HA support and URL-level dispatch for webhdfs KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/01c341e8 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/01c341e8 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/01c341e8 Branch: refs/heads/KNOX-481 Commit: 01c341e81311cdcce9d3b16c6b0242f2be080425 Parents: fca7fa5 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 11:16:00 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 51 +++- .../gateway/service/definition/UrlBinding.java | 11 + 2 files changed, 50 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/01c341e8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 79cc4a5..755fc67 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.service.definition.CustomDispatch; import org.apache.hadoop.gateway.service.definition.RewriteFilter; import org.apache.hadoop.gateway.service.definition.ServiceDefinition; import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import java.net.URISyntaxException; @@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } try { -contributeResource(context, service, binding.getPattern(), filterParams); +contributeResource(context, service, binding, filterParams); } catch ( URISyntaxException e ) { e.printStackTrace(); } @@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, String pattern, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(pattern); +resource.pattern(binding.getPattern()); addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); @@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } addRewriteFilter(context, service, resource, params); -CustomDispatch customDispatch = serviceDefinition.getDispatch(); -if (customDispatch != null) { - String contributorName = customDispatch.getContributorName(); - if (contributorName != null) { -addDispatchFilter(context, service, resource, DISPATCH_ROLE, contributorName); +addDispatchFilter(context, service, resource, binding); + } + + private void addDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, UrlBinding binding) { +CustomDispatch customDispatch = binding.getDispatch(); +if ( customDispatch == null ) { + customDispatch = serviceDefinition.getDispatch(); +} +if ( customDispatch != null ) { + boolean isHaEnabled = isHaEnabled(context); + if ( isHaEnabled (customDispatch.getHaContributorName() != null) ) { +addDispatchFilter(context, service, resource, DISPATCH_ROLE, customDispatch.getHaContributorName()); } else { -String className = customDispatch.getClassName(); -if (className != null) { - FilterDescriptor filter = resource.addFilter().name( getName() ).role( DISPATCH_ROLE ).impl( GatewayDispatchFilter.class ); - filter.param().name(DISPATCH_IMPL_PARAM).value(className); +String contributorName = customDispatch.getContributorName(); +if ( contributorName != null ) { + addDispatchFilter(context, service, resource, DISPATCH_ROLE, contributorName); +} else { +
[24/47] knox git commit: Added versions to service definitions for deployment and topology KNOX-481
Added versions to service definitions for deployment and topology KNOX-481 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/92b13253 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/92b13253 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/92b13253 Branch: refs/heads/KNOX-481 Commit: 92b132533b955724ed5be73002bc77cc2eeea090 Parents: 0919c2e Author: Sumit Gupta su...@apache.org Authored: Tue Jan 27 10:56:37 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../apache/hadoop/gateway/GatewayMessages.java | 3 + .../gateway/deploy/DeploymentFactory.java | 109 .../ServiceDefinitionDeploymentContributor.java | 6 + .../interpreter/ServicePropertyInterpreter.java | 3 +- .../xml/KnoxFormatXmlTopologyRules.java | 3 + .../topology/xml/TopologyRulesModuleTest.java | 17 ++- .../xml/service-param-topology-knox-format.xml | 1 + .../xml/simple-topology-knox-format.xml | 1 + gateway-spi/pom.xml | 6 +- .../deploy/ServiceDeploymentContributor.java| 3 + .../ServiceDeploymentContributorBase.java | 6 + .../apache/hadoop/gateway/topology/Service.java | 9 ++ .../hadoop/gateway/topology/Topology.java | 36 ++--- .../apache/hadoop/gateway/topology/Version.java | 130 +++ pom.xml | 6 +- 15 files changed, 254 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/92b13253/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java index 4fd2a7c..45e105b 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java @@ -127,6 +127,9 @@ public interface GatewayMessages { @Message( level = MessageLevel.WARN, text = Ignoring service deployment contributor with invalid null role: {0} ) void ignoringServiceContributorWithMissingRole( String className ); + @Message( level = MessageLevel.WARN, text = Ignoring service deployment contributor with invalid null version: {0} ) + void ignoringServiceContributorWithMissingVersion( String className ); + @Message( level = MessageLevel.WARN, text = Ignoring provider deployment contributor with invalid null name: {0} ) void ignoringProviderContributorWithMissingName( String className ); http://git-wip-us.apache.org/repos/asf/knox/blob/92b13253/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index a0cc6cb..16d188a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -19,18 +19,17 @@ package org.apache.hadoop.gateway.deploy; import org.apache.hadoop.gateway.GatewayMessages; import org.apache.hadoop.gateway.GatewayForwardingServlet; -import org.apache.hadoop.gateway.GatewayResources; import org.apache.hadoop.gateway.GatewayServlet; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.descriptor.GatewayDescriptor; import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory; import org.apache.hadoop.gateway.i18n.messages.MessagesFactory; -import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.registry.ServiceRegistry; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import org.apache.hadoop.gateway.topology.Topology; +import org.apache.hadoop.gateway.topology.Version; import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.Asset; @@ -44,26 +43,16 @@ import java.beans.Statement; import java.io.File; import java.io.IOException; import java.io.StringWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.ServiceLoader; -import java.util.Set; -import java.util.LinkedHashMap; +import java.util.*;
[25/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/0919c2eb Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/0919c2eb Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/0919c2eb Branch: refs/heads/KNOX-481 Commit: 0919c2eb3a7982f6b0a408dce97af997422e99f0 Parents: 9972790 Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 24 +++ .../gateway/service/definition/Policy.java | 45 .../service/definition/PolicyBinding.java | 45 .../gateway/service/definition/Rewrite.java | 47 + .../service/definition/RewriteFilter.java | 47 - .../gateway/service/definition/Route.java | 73 .../service/definition/ServiceDefinition.java | 24 +++ .../gateway/service/definition/UrlBinding.java | 73 .../resources/services/hbase/0.98.0/service.xml | 28 .../resources/services/hive/0.13.0/service.xml | 6 +- .../resources/services/oozie/4.0.0/service.xml | 22 +++--- .../services/webhcat/0.13.0/service.xml | 8 +-- .../services/webhdfs/2.4.0/service.xml | 38 +- .../services/yarn-rm/2.5.0/service.xml | 70 +-- .../definition/ServiceDefinitionTest.java | 6 +- 15 files changed, 278 insertions(+), 278 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/0919c2eb/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index f31b08a..7220cdd 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon private void contributeResources(DeploymentContext context, Service service) { MapString, String filterParams = new HashMapString, String(); -ListUrlBinding bindings = serviceDefinition.getUrlBindings(); -for ( UrlBinding binding : bindings ) { - ListRewriteFilter filters = binding.getRewriteFilters(); +ListRoute bindings = serviceDefinition.getRoutes(); +for ( Route binding : bindings ) { + ListRewrite filters = binding.getRewrites(); if ( filters != null !filters.isEmpty() ) { filterParams.clear(); -for ( RewriteFilter filter : filters ) { - filterParams.put(filter.getApplyTo(), filter.getRef()); +for ( Rewrite filter : filters ) { + filterParams.put(filter.getTo(), filter.getApply()); } } try { @@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, Route binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(binding.getPattern()); -ListPolicyBinding policyBindings = binding.getPolicyBindings(); +resource.pattern(binding.getPath()); +ListPolicy policyBindings = binding.getPolicies(); if (policyBindings == null) { - policyBindings = serviceDefinition.getPolicyBindings(); + policyBindings = serviceDefinition.getPolicies(); } if (policyBindings == null) { //add default set @@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon addDispatchFilter(context, service, resource, binding); } - private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { -for (PolicyBinding policyBinding : policyBindings) { + private void addPolicies(DeploymentContext context,
[05/47] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/85a32497 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/85a32497 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/85a32497 Branch: refs/heads/KNOX-481 Commit: 85a3249700d9ba269122bff0d986fa599ef1177c Parents: 30fd9dc Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:00:59 2015 -0500 -- .../apache/hadoop/gateway/config/impl/GatewayConfigImpl.java| 5 + 1 file changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/85a32497/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 97853b3..4241856 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -169,6 +169,11 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { } @Override + public String getGatewayStacksDir() { +return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); + } + + @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); }
[36/47] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/1f660287 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/1f660287 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/1f660287 Branch: refs/heads/KNOX-481 Commit: 1f6602879240add09fec7f0bf99aeecec4571c73 Parents: 5cc21a5 Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:08 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 24 +++ .../service/definition/PolicyBinding.java | 45 .../service/definition/RewriteFilter.java | 47 - .../service/definition/ServiceDefinition.java | 24 +++ .../gateway/service/definition/UrlBinding.java | 73 .../services/yarn-rm/2.5.0/service.xml | 70 +-- .../definition/ServiceDefinitionTest.java | 6 +- 7 files changed, 62 insertions(+), 227 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/1f660287/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index f31b08a..7220cdd 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon private void contributeResources(DeploymentContext context, Service service) { MapString, String filterParams = new HashMapString, String(); -ListUrlBinding bindings = serviceDefinition.getUrlBindings(); -for ( UrlBinding binding : bindings ) { - ListRewriteFilter filters = binding.getRewriteFilters(); +ListRoute bindings = serviceDefinition.getRoutes(); +for ( Route binding : bindings ) { + ListRewrite filters = binding.getRewrites(); if ( filters != null !filters.isEmpty() ) { filterParams.clear(); -for ( RewriteFilter filter : filters ) { - filterParams.put(filter.getApplyTo(), filter.getRef()); +for ( Rewrite filter : filters ) { + filterParams.put(filter.getTo(), filter.getApply()); } } try { @@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, Route binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(binding.getPattern()); -ListPolicyBinding policyBindings = binding.getPolicyBindings(); +resource.pattern(binding.getPath()); +ListPolicy policyBindings = binding.getPolicies(); if (policyBindings == null) { - policyBindings = serviceDefinition.getPolicyBindings(); + policyBindings = serviceDefinition.getPolicies(); } if (policyBindings == null) { //add default set @@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon addDispatchFilter(context, service, resource, binding); } - private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { -for (PolicyBinding policyBinding : policyBindings) { + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicy policyBindings) throws URISyntaxException { +for (Policy policyBinding : policyBindings) { String role = policyBinding.getRole(); if (role == null) { throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); @@ -142,7 +142,7 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon
[23/47] knox git commit: Added Kevin's config injector
Added Kevin's config injector Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/826f3d52 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/826f3d52 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/826f3d52 Branch: refs/heads/KNOX-481 Commit: 826f3d526ef89cff70fd1a6e35c2b7c5498eb4af Parents: 2543b3f Author: Sumit Gupta su...@apache.org Authored: Thu Jan 29 15:39:22 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../impl/DispatchDeploymentContributor.java | 2 +- .../gateway/hive/HiveHttpClientDispatch.java| 20 +- gateway-spi/pom.xml | 4 + .../config/FilterConfigurationAdapter.java | 35 ++ .../FilterConfigurationAdapterDescriptor.java | 29 ++ .../gateway/dispatch/GatewayDispatchFilter.java | 25 +- .../gateway/dispatch/HttpClientDispatch.java| 46 +-- ...ay.config.spi.ConfigurationAdapterDescriptor | 18 + gateway-util-configinjector/pom.xml | 63 +++ .../org/apache/hadoop/gateway/config/Alias.java | 31 ++ .../gateway/config/ConfigurationAdapter.java| 24 ++ .../gateway/config/ConfigurationBinding.java| 24 ++ .../gateway/config/ConfigurationException.java | 30 ++ .../config/ConfigurationInjectorBuilder.java| 107 ++ .../apache/hadoop/gateway/config/Configure.java | 30 ++ .../apache/hadoop/gateway/config/Default.java | 31 ++ .../apache/hadoop/gateway/config/Optional.java | 30 ++ .../config/impl/BeanConfigurationAdapter.java | 43 +++ .../BeanConfigurationAdapterDescriptor.java | 30 ++ .../impl/ConfigurationAdapterFactory.java | 132 +++ .../impl/DefaultConfigurationBinding.java | 29 ++ .../impl/DefaultConfigurationInjector.java | 224 +++ .../config/impl/MapConfigurationAdapter.java| 38 ++ .../impl/MapConfigurationAdapterDescriptor.java | 30 ++ .../config/impl/MappedConfigurationBinding.java | 38 ++ .../impl/PropertiesConfigurationAdapter.java| 38 ++ ...ropertiesConfigurationAdapterDescriptor.java | 30 ++ .../AbstractConfigurationAdapterDescriptor.java | 42 ++ .../spi/ConfigurationAdapterDescriptor.java | 28 ++ .../config/spi/ConfigurationInjector.java | 27 ++ ...ay.config.spi.ConfigurationAdapterDescriptor | 20 + ...oop.gateway.config.spi.ConfigurationInjector | 18 + .../gateway/config/AdapterSampleTest.java | 57 +++ .../apache/hadoop/gateway/config/FuncTest.java | 379 +++ .../gateway/config/MapFieldSampleTest.java | 45 +++ .../gateway/config/MapMethodSampleTest.java | 49 +++ .../config/PropertiesFactorySampleTest.java | 40 ++ .../config/PropertiesFieldSampleTest.java | 39 ++ .../config/PropertiesMethodSampleTest.java | 57 +++ .../apache/hadoop/gateway/config/UsageTest.java | 43 +++ .../BeanConfigurationAdapterDescriptorTest.java | 57 +++ .../impl/BeanConfigurationAdapterTest.java | 40 ++ pom.xml | 6 + 43 files changed, 2081 insertions(+), 47 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/826f3d52/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java index 3bc260c..345784f 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java @@ -61,7 +61,7 @@ public class DispatchDeploymentContributor extends ProviderDeploymentContributor } FilterDescriptor filter = resource.addFilter().name( getName() ).role( getRole() ).impl( GatewayDispatchFilter.class ); filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName()); -filter.param().name(replayBufferSize).value(replayBufferSize); +filter.param().name(REPLAY_BUFFER_SIZE_PARAM).value(replayBufferSize); if( context.getGatewayConfig().isHadoopKerberosSecured() ) { filter.param().name(kerberos).value(true); } http://git-wip-us.apache.org/repos/asf/knox/blob/826f3d52/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java -- diff --git a/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java b/gateway-service-hive/src/main/java/org/apache/hadoop/gateway/hive/HiveHttpClientDispatch.java
[16/47] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/99727909 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/99727909 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/99727909 Branch: refs/heads/KNOX-481 Commit: 99727909d6f201729f0224ace3a3140f41ff1b0d Parents: 49cc8d0 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 39 +--- .../service/definition/PolicyBinding.java | 24 .../service/definition/ServiceDefinition.java | 12 ++ .../gateway/service/definition/UrlBinding.java | 13 +++ .../services/webhdfs/2.4.0/service.xml | 7 .../services/yarn-rm/2.5.0/service.xml | 1 - .../definition/ServiceDefinitionTest.java | 10 + 7 files changed, 100 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/99727909/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 755fc67..f31b08a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -24,10 +24,7 @@ import org.apache.hadoop.gateway.descriptor.FilterParamDescriptor; import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter; import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.service.definition.CustomDispatch; -import org.apache.hadoop.gateway.service.definition.RewriteFilter; -import org.apache.hadoop.gateway.service.definition.ServiceDefinition; -import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.service.definition.*; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; @@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); resource.pattern(binding.getPattern()); +ListPolicyBinding policyBindings = binding.getPolicyBindings(); +if (policyBindings == null) { + policyBindings = serviceDefinition.getPolicyBindings(); +} +if (policyBindings == null) { + //add default set + addDefaultPolicies(context, service, filterParams, params, resource); +} else { + addPolicies(context, service, filterParams, params, resource, policyBindings); +} +addDispatchFilter(context, service, resource, binding); + } + + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { +for (PolicyBinding policyBinding : policyBindings) { + String role = policyBinding.getRole(); + if (role == null) { +throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); + } + role = role.trim().toLowerCase(); + if (role.equals(rewrite)) { +addRewriteFilter(context, service, filterParams, params, resource); + } else if (topologyContainsProviderType(context, role)) { +context.contributeFilter( service, resource, role, policyBinding.getName(), null ); + } +} + } + + private void addDefaultPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); addAuthorizationFilter(context, service, resource); +addRewriteFilter(context, service, filterParams, params, resource); + } + + private void addRewriteFilter(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { if ( !filterParams.isEmpty() ) {
[42/47] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/8cbd9fe8 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/8cbd9fe8 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/8cbd9fe8 Branch: refs/heads/KNOX-481 Commit: 8cbd9fe802e7c0d1bb41a1b013a9ec5061a8512c Parents: 4aee123 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:08 2015 -0500 -- .../gateway/deploy/DeploymentFactory.java | 109 +-- .../ServiceDefinitionDeploymentContributor.java | 194 ++- .../service/definition/PolicyBinding.java | 21 ++ .../service/definition/RewriteFilter.java | 47 + .../service/definition/ServiceDefinition.java | 37 +--- .../gateway/service/definition/UrlBinding.java | 49 + .../services/yarn-rm/2.5.0/service.xml | 70 +++ .../definition/ServiceDefinitionTest.java | 18 +- 8 files changed, 270 insertions(+), 275 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/8cbd9fe8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index 16d188a..a0cc6cb 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -19,17 +19,18 @@ package org.apache.hadoop.gateway.deploy; import org.apache.hadoop.gateway.GatewayMessages; import org.apache.hadoop.gateway.GatewayForwardingServlet; +import org.apache.hadoop.gateway.GatewayResources; import org.apache.hadoop.gateway.GatewayServlet; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.descriptor.GatewayDescriptor; import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory; import org.apache.hadoop.gateway.i18n.messages.MessagesFactory; +import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.registry.ServiceRegistry; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import org.apache.hadoop.gateway.topology.Topology; -import org.apache.hadoop.gateway.topology.Version; import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.Asset; @@ -43,16 +44,26 @@ import java.beans.Statement; import java.io.File; import java.io.IOException; import java.io.StringWriter; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.ServiceLoader; +import java.util.Set; +import java.util.LinkedHashMap; public abstract class DeploymentFactory { private static final String DEFAULT_APP_REDIRECT_CONTEXT_PATH = redirectTo; private static final String STACKS_SERVICES_DIRECTORY = services; + private static GatewayResources res = ResourcesFactory.get( GatewayResources.class ); private static GatewayMessages log = MessagesFactory.get( GatewayMessages.class ); private static GatewayServices gatewayServices = null; - private static MapString,MapString,MapVersion, ServiceDeploymentContributor SERVICE_CONTRIBUTOR_MAP; + //private static SetServiceDeploymentContributor SERVICE_CONTRIBUTORS; + private static MapString,MapString,ServiceDeploymentContributor SERVICE_CONTRIBUTOR_MAP; static { loadServiceContributors(); } @@ -62,7 +73,7 @@ public abstract class DeploymentFactory { static { loadProviderContributors(); } - + public static void setGatewayServices(GatewayServices services) { DeploymentFactory.gatewayServices = services; } @@ -73,7 +84,7 @@ public abstract class DeploymentFactory { String stacks = config.getGatewayStacksDir(); File stacksDir = new File(stacks, STACKS_SERVICES_DIRECTORY); SetServiceDeploymentContributor deploymentContributors = ServiceDefinitionsLoader.loadServiceDefinitions(stacksDir); -addServiceDeploymentContributors(deploymentContributors.iterator()); +addServiceDeploymentContributors(SERVICE_CONTRIBUTOR_MAP, deploymentContributors.iterator()); MapString,ListProviderDeploymentContributor providers = selectContextProviders( topology ); MapString,ListServiceDeploymentContributor
[47/47] knox git commit: Merge branch 'KNOX-481' of https://git-wip-us.apache.org/repos/asf/knox into KNOX-481
Merge branch 'KNOX-481' of https://git-wip-us.apache.org/repos/asf/knox into KNOX-481 Conflicts: gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/272fb90e Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/272fb90e Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/272fb90e Branch: refs/heads/KNOX-481 Commit: 272fb90ed69cb50f166b48ab9bf6fc597f07061b Parents: aeee64e a1d4356 Author: Sumit Gupta su...@apache.org Authored: Thu Feb 12 21:16:51 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 21:16:51 2015 -0500 -- .../gateway/config/impl/GatewayConfigImpl.java | 10 - .../service/definition/ServiceDefinition.java | 46 2 files changed, 56 deletions(-) --
[44/47] knox git commit: KNOX-483 added oozie service xml
KNOX-483 added oozie service xml Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/9122c27d Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/9122c27d Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/9122c27d Branch: refs/heads/KNOX-481 Commit: 9122c27dddeddd7a8d2ce13af24c1755698e1813 Parents: 8cbd9fe Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 16:18:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:08 2015 -0500 -- .../gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/9122c27d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index dd2a4c9..4cff585 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -56,7 +56,6 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon @Override public void contributeService(DeploymentContext context, Service service) throws Exception { -System.out.println(contributing service def); contributeRewriteRules(context, service); contributeResources(context, service); }
[19/47] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/55cef738 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/55cef738 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/55cef738 Branch: refs/heads/KNOX-481 Commit: 55cef738cef468ea50d2d2dc397563f1f5f4ca72 Parents: 01c341e Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 39 +--- .../service/definition/PolicyBinding.java | 24 .../service/definition/ServiceDefinition.java | 12 ++ .../gateway/service/definition/UrlBinding.java | 13 +++ .../services/yarn-rm/2.5.0/service.xml | 1 - .../definition/ServiceDefinitionTest.java | 10 + 6 files changed, 93 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/55cef738/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 755fc67..f31b08a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -24,10 +24,7 @@ import org.apache.hadoop.gateway.descriptor.FilterParamDescriptor; import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter; import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.service.definition.CustomDispatch; -import org.apache.hadoop.gateway.service.definition.RewriteFilter; -import org.apache.hadoop.gateway.service.definition.ServiceDefinition; -import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.service.definition.*; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; @@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); resource.pattern(binding.getPattern()); +ListPolicyBinding policyBindings = binding.getPolicyBindings(); +if (policyBindings == null) { + policyBindings = serviceDefinition.getPolicyBindings(); +} +if (policyBindings == null) { + //add default set + addDefaultPolicies(context, service, filterParams, params, resource); +} else { + addPolicies(context, service, filterParams, params, resource, policyBindings); +} +addDispatchFilter(context, service, resource, binding); + } + + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { +for (PolicyBinding policyBinding : policyBindings) { + String role = policyBinding.getRole(); + if (role == null) { +throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); + } + role = role.trim().toLowerCase(); + if (role.equals(rewrite)) { +addRewriteFilter(context, service, filterParams, params, resource); + } else if (topologyContainsProviderType(context, role)) { +context.contributeFilter( service, resource, role, policyBinding.getName(), null ); + } +} + } + + private void addDefaultPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); addAuthorizationFilter(context, service, resource); +addRewriteFilter(context, service, filterParams, params, resource); + } + + private void addRewriteFilter(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { if ( !filterParams.isEmpty() ) { for ( Map.EntryString, String filterParam :
[21/47] knox git commit: Fixed merge issues with master KNOX-481
Fixed merge issues with master KNOX-481 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/d7f2b51d Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/d7f2b51d Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/d7f2b51d Branch: refs/heads/KNOX-481 Commit: d7f2b51ddbc8bcaf92d2c8f84631e944ea05f643 Parents: 826f3d5 Author: Sumit Gupta su...@apache.org Authored: Thu Jan 29 19:39:08 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:01:14 2015 -0500 -- .../impl/DispatchDeploymentContributor.java | 23 .../HBaseDispatchDeploymentContributor.java | 22 +++ .../hive/HiveDispatchDeploymentContributor.java | 22 +++ .../gateway/dispatch/HttpClientDispatch.java| 3 --- .../deploy/DeploymentFactoryFuncTest.java | 2 ++ 5 files changed, 42 insertions(+), 30 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/d7f2b51d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java index 345784f..30f2c65 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java @@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import java.util.List; +import java.util.Map; public class DispatchDeploymentContributor extends ProviderDeploymentContributorBase { @@ -50,18 +51,22 @@ public class DispatchDeploymentContributor extends ProviderDeploymentContributor @Override public void contributeFilter( DeploymentContext context, Provider provider, Service service, ResourceDescriptor resource, ListFilterParamDescriptor params ) { -String replayBufferSize = DEFAULT_REPLAY_BUFFER_SIZE; -if (params != null) { - for (FilterParamDescriptor paramDescriptor : params) { -if (REPLAY_BUFFER_SIZE_PARAM.equals( paramDescriptor.name() )) { - replayBufferSize = paramDescriptor.value(); - break; +FilterDescriptor filter = resource.addFilter().name( getName() ).role( getRole() ).impl( GatewayDispatchFilter.class ); + filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName()); +FilterParamDescriptor filterParam = filter.param().name( REPLAY_BUFFER_SIZE_PARAM ).value( DEFAULT_REPLAY_BUFFER_SIZE ); +for ( Map.EntryString,String serviceParam : service.getParams().entrySet() ) { + if ( REPLAY_BUFFER_SIZE_PARAM.equals( serviceParam.getKey() ) ) { +filterParam.value( serviceParam.getValue() ); + } +} +if ( params != null ) { + for ( FilterParamDescriptor customParam : params ) { +if ( REPLAY_BUFFER_SIZE_PARAM.equals( customParam.name() ) ) { + filterParam.value( customParam.value() ); } } } -FilterDescriptor filter = resource.addFilter().name( getName() ).role( getRole() ).impl( GatewayDispatchFilter.class ); - filter.param().name(DISPATCH_IMPL_PARAM).value(HttpClientDispatch.class.getName()); -filter.param().name(REPLAY_BUFFER_SIZE_PARAM).value(replayBufferSize); + if( context.getGatewayConfig().isHadoopKerberosSecured() ) { filter.param().name(kerberos).value(true); } http://git-wip-us.apache.org/repos/asf/knox/blob/d7f2b51d/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java -- diff --git a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java index c5d1ab9..a87b84c 100644 --- a/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java +++ b/gateway-service-hbase/src/main/java/org/apache/hadoop/gateway/hbase/HBaseDispatchDeploymentContributor.java @@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import java.util.List; +import java.util.Map; public class HBaseDispatchDeploymentContributor extends ProviderDeploymentContributorBase { @@ -50,18 +51,21 @@ public class HBaseDispatchDeploymentContributor extends ProviderDeploymentContri @Override public void
[26/47] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483
Separated dispatch from filters and added custom dispatch config KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/6ada46ef Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/6ada46ef Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/6ada46ef Branch: refs/heads/KNOX-481 Commit: 6ada46efd5e3b36fe721ab9baf118a5fe839d009 Parents: 87ce454 Author: Sumit Gupta su...@apache.org Authored: Thu Jan 15 23:46:01 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:05 2015 -0500 -- .../gateway/service/definition/ServiceDefinition.java| 11 +++ 1 file changed, 11 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/6ada46ef/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java index cbb9309..9cbb9e0 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java @@ -38,6 +38,8 @@ public class ServiceDefinition { private CustomDispatch dispatch; + private CustomDispatch dispatch; + @XmlAttribute public String getName() { return name; @@ -93,4 +95,13 @@ public class ServiceDefinition { public void setDispatch(CustomDispatch dispatch) { this.dispatch = dispatch; } + + @XmlElement(name = dispatch) + public CustomDispatch getDispatch() { +return dispatch; + } + + public void setDispatch(CustomDispatch dispatch) { +this.dispatch = dispatch; + } }
[41/47] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483
Separated dispatch from filters and added custom dispatch config KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/99311af0 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/99311af0 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/99311af0 Branch: refs/heads/KNOX-481 Commit: 99311af0b4e38742508312e4ca12486ee2f74a12 Parents: 56eaf14 Author: Sumit Gupta su...@apache.org Authored: Thu Jan 15 23:46:01 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 17:16:08 2015 -0500 -- .../gateway/service/definition/ServiceDefinition.java| 11 +++ 1 file changed, 11 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/99311af0/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java index cbb9309..9cbb9e0 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java @@ -38,6 +38,8 @@ public class ServiceDefinition { private CustomDispatch dispatch; + private CustomDispatch dispatch; + @XmlAttribute public String getName() { return name; @@ -93,4 +95,13 @@ public class ServiceDefinition { public void setDispatch(CustomDispatch dispatch) { this.dispatch = dispatch; } + + @XmlElement(name = dispatch) + public CustomDispatch getDispatch() { +return dispatch; + } + + public void setDispatch(CustomDispatch dispatch) { +this.dispatch = dispatch; + } }
[04/47] knox git commit: KNOX-483 added webhcat for testing
KNOX-483 added webhcat for testing Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/30fd9dc2 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/30fd9dc2 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/30fd9dc2 Branch: refs/heads/KNOX-481 Commit: 30fd9dc213a111f8811d59469b7fab2803b1f845 Parents: 0b9f320 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 16:39:11 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 16:00:38 2015 -0500 -- .../services/webhcat/0.13.0/rewrite.xml | 28 .../services/webhcat/0.13.0/service.xml | 23 .../webhcat/WebHCatDeploymentContributor.java | 8 +++--- 3 files changed, 55 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml -- diff --git a/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml new file mode 100644 index 000..558abb4 --- /dev/null +++ b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/rewrite.xml @@ -0,0 +1,28 @@ +?xml version=1.0 encoding=UTF-8 standalone=yes? +!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the License); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an AS IS BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-- +rules + +rule dir=IN name=WEBHCAT/webhcat/root/inbound pattern=*://*:*/**/templeton/v1/?{**} + rewrite template={$serviceUrl[WEBHCAT]}/v1/?{**}/ +/rule + +rule dir=IN name=WEBHCAT/webhcat/path/inbound pattern=*://*:*/**/templeton/v1/{path=**}?{**} + rewrite template={$serviceUrl[WEBHCAT]}/v1/{path=**}?{**}/ +/rule + +/rules http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml -- diff --git a/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml new file mode 100644 index 000..9f0c6bf --- /dev/null +++ b/gateway-service-definitions/src/main/resources/services/webhcat/0.13.0/service.xml @@ -0,0 +1,23 @@ +?xml version=1.0 encoding=UTF-8 standalone=yes? +!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the License); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an AS IS BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-- +service role=WEBHCAT name=webhcat version=0.13.0 +urls +url pattern=/templeton/v1/?**/ +url pattern=/templeton/v1/**?**/ +/urls +/service http://git-wip-us.apache.org/repos/asf/knox/blob/30fd9dc2/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java -- diff --git a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java index 9ee7a9a..857459f 100644 --- a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java +++
[07/41] knox git commit: KNOX-483 added oozie service xml
KNOX-483 added oozie service xml Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/c8484c99 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/c8484c99 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/c8484c99 Branch: refs/heads/KNOX-481 Commit: c8484c99cce2c26343a4cd523aaff752d4b27797 Parents: d378cdd Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 16:18:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:19:42 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 1 - .../resources/services/oozie/4.0.0/rewrite.xml | 122 +++ .../resources/services/oozie/4.0.0/service.xml | 30 + .../oozie/OozieDeploymentContributor.java | 19 ++- 4 files changed, 165 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/c8484c99/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index dd2a4c9..4cff585 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -56,7 +56,6 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon @Override public void contributeService(DeploymentContext context, Service service) throws Exception { -System.out.println(contributing service def); contributeRewriteRules(context, service); contributeResources(context, service); } http://git-wip-us.apache.org/repos/asf/knox/blob/c8484c99/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml -- diff --git a/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml b/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml new file mode 100644 index 000..d3c52bb --- /dev/null +++ b/gateway-service-definitions/src/main/resources/services/oozie/4.0.0/rewrite.xml @@ -0,0 +1,122 @@ +!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the License); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an AS IS BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-- +rules + +rule dir=IN name=OOZIE/oozie/root pattern=*://*:*/**/oozie/{**}?{**} +rewrite template={$serviceUrl[OOZIE]}/{**}?{**}/ +/rule + +rule dir=IN name=OOZIE/oozie/v1 pattern=*://*:*/**/oozie/v1/{**}?{**} +rewrite template={$serviceUrl[OOZIE]}/v1/{**}?{**}/ +/rule + +rule dir=IN name=OOZIE/oozie/v2 pattern=*://*:*/**/oozie/v2/{**}?{**} +rewrite template={$serviceUrl[OOZIE]}/v2/{**}?{**}/ +/rule + +rule name=OOZIE/oozie/user-name +rewrite template={$username}/ +/rule + +rule name=OOZIE/oozie/name-node-url +rewrite template=hdfs://{$serviceMappedAddr[NAMENODE]}/ +/rule + +rule name=OOZIE/oozie/job-tracker-address +rewrite template={$serviceMappedAddr[JOBTRACKER]}/ +/rule + +rule name=OOZIE/oozie/hdfs-path flow=OR +match pattern=/~ +rewrite template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/user/{$username}/ +/match +match pattern=/~/{path=**} +rewrite template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/user/{$username}/{path=**}/ +/match +match pattern={path=**} +rewrite template=hdfs://{$serviceMappedHost[NAMENODE]}:{$servicePort[NAMENODE]}/{path=**}/ +/match +/rule + +filter name=OOZIE/oozie/configuration +content type=*/xml +buffer path=/configuration/property +detect path=name value=user.name +apply
[11/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483
Added HA support and URL-level dispatch for webhdfs KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/6ed40a7d Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/6ed40a7d Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/6ed40a7d Branch: refs/heads/KNOX-481 Commit: 6ed40a7d7a0e685b847d26d55485c866d90e49dc Parents: e9fe7bc Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 11:16:00 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:24:58 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 51 +++- .../service/definition/CustomDispatch.java | 11 + .../gateway/service/definition/UrlBinding.java | 11 + .../services/webhdfs/2.4.0/service.xml | 2 + ...NameNodeHaDispatchDeploymentContributor.java | 6 +-- .../hdfs/dispatch/WebHdfsHaDispatchFilter.java | 36 ++ .../dispatch/WebHdfsHaHttpClientDispatch.java | 48 ++ .../WebHdfsHaHttpClientDispatchTest.java| 8 ++- .../deploy/DeploymentFactoryFuncTest.java | 6 +-- 9 files changed, 135 insertions(+), 44 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/6ed40a7d/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 79cc4a5..755fc67 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.service.definition.CustomDispatch; import org.apache.hadoop.gateway.service.definition.RewriteFilter; import org.apache.hadoop.gateway.service.definition.ServiceDefinition; import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import java.net.URISyntaxException; @@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } try { -contributeResource(context, service, binding.getPattern(), filterParams); +contributeResource(context, service, binding, filterParams); } catch ( URISyntaxException e ) { e.printStackTrace(); } @@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, String pattern, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(pattern); +resource.pattern(binding.getPattern()); addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); @@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } addRewriteFilter(context, service, resource, params); -CustomDispatch customDispatch = serviceDefinition.getDispatch(); -if (customDispatch != null) { - String contributorName = customDispatch.getContributorName(); - if (contributorName != null) { -addDispatchFilter(context, service, resource, DISPATCH_ROLE, contributorName); +addDispatchFilter(context, service, resource, binding); + } + + private void addDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, UrlBinding binding) { +CustomDispatch customDispatch = binding.getDispatch(); +if ( customDispatch == null ) { + customDispatch = serviceDefinition.getDispatch(); +} +if ( customDispatch != null ) { + boolean isHaEnabled = isHaEnabled(context); + if ( isHaEnabled (customDispatch.getHaContributorName() != null) ) { +addDispatchFilter(context, service, resource, DISPATCH_ROLE, customDispatch.getHaContributorName()); } else { -String className = customDispatch.getClassName(); -if (className != null) { -
[13/41] knox git commit: Added versions to service definitions for deployment and topology KNOX-481
Added versions to service definitions for deployment and topology KNOX-481 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/bfb3abd8 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/bfb3abd8 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/bfb3abd8 Branch: refs/heads/KNOX-481 Commit: bfb3abd8fd7c571dc17da0b515afc4c0ec670482 Parents: 27dfa07 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 27 10:56:37 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:24:58 2015 -0500 -- .../apache/hadoop/gateway/GatewayMessages.java | 3 + .../gateway/deploy/DeploymentFactory.java | 109 .../ServiceDefinitionDeploymentContributor.java | 6 + .../interpreter/ServicePropertyInterpreter.java | 3 +- .../xml/KnoxFormatXmlTopologyRules.java | 3 + .../topology/xml/TopologyRulesModuleTest.java | 17 ++- .../xml/service-param-topology-knox-format.xml | 1 + .../xml/simple-topology-knox-format.xml | 1 + gateway-spi/pom.xml | 6 +- .../deploy/ServiceDeploymentContributor.java| 3 + .../ServiceDeploymentContributorBase.java | 6 + .../apache/hadoop/gateway/topology/Service.java | 9 ++ .../hadoop/gateway/topology/Topology.java | 36 ++--- .../apache/hadoop/gateway/topology/Version.java | 130 +++ pom.xml | 6 +- 15 files changed, 254 insertions(+), 85 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/bfb3abd8/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java index 9325c02..fb0e3a4 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java @@ -124,6 +124,9 @@ public interface GatewayMessages { @Message( level = MessageLevel.WARN, text = Ignoring service deployment contributor with invalid null role: {0} ) void ignoringServiceContributorWithMissingRole( String className ); + @Message( level = MessageLevel.WARN, text = Ignoring service deployment contributor with invalid null version: {0} ) + void ignoringServiceContributorWithMissingVersion( String className ); + @Message( level = MessageLevel.WARN, text = Ignoring provider deployment contributor with invalid null name: {0} ) void ignoringProviderContributorWithMissingName( String className ); http://git-wip-us.apache.org/repos/asf/knox/blob/bfb3abd8/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index a0cc6cb..16d188a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -19,18 +19,17 @@ package org.apache.hadoop.gateway.deploy; import org.apache.hadoop.gateway.GatewayMessages; import org.apache.hadoop.gateway.GatewayForwardingServlet; -import org.apache.hadoop.gateway.GatewayResources; import org.apache.hadoop.gateway.GatewayServlet; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.descriptor.GatewayDescriptor; import org.apache.hadoop.gateway.descriptor.GatewayDescriptorFactory; import org.apache.hadoop.gateway.i18n.messages.MessagesFactory; -import org.apache.hadoop.gateway.i18n.resources.ResourcesFactory; import org.apache.hadoop.gateway.services.GatewayServices; import org.apache.hadoop.gateway.services.registry.ServiceRegistry; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import org.apache.hadoop.gateway.topology.Topology; +import org.apache.hadoop.gateway.topology.Version; import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.Asset; @@ -44,26 +43,16 @@ import java.beans.Statement; import java.io.File; import java.io.IOException; import java.io.StringWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.ServiceLoader; -import java.util.Set; -import java.util.LinkedHashMap; +import java.util.*;
[18/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/12b28045 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/12b28045 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/12b28045 Branch: refs/heads/KNOX-481 Commit: 12b28045e50a727a6c20949be532054dce5dead6 Parents: c588ab7 Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:17:28 2015 -0500 -- .../service/definition/PolicyBinding.java | 45 .../service/definition/RewriteFilter.java | 47 - .../service/definition/ServiceDefinition.java | 23 -- .../gateway/service/definition/UrlBinding.java | 73 4 files changed, 188 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/12b28045/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java deleted file mode 100644 index d87674f..000 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.gateway.service.definition; - -import javax.xml.bind.annotation.XmlAttribute; - -public class PolicyBinding { - - private String name; - - private String role; - - @XmlAttribute - public String getName() { -return name; - } - - public void setName(String name) { -this.name = name; - } - - @XmlAttribute - public String getRole() { -return role; - } - - public void setRole(String role) { -this.role = role; - } -} http://git-wip-us.apache.org/repos/asf/knox/blob/12b28045/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java deleted file mode 100644 index 4b0dccc..000 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.gateway.service.definition; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = rewrite-filter) -public class RewriteFilter { - - private String ref; - - private String applyTo; - - @XmlAttribute - public String getRef() { -return ref; - } - - public void setRef(String ref) { -this.ref = ref; - } - - @XmlAttribute(name = apply-to) - public String getApplyTo() { -return applyTo; - } - - public void setApplyTo(String applyTo) { -
[09/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/27dfa079 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/27dfa079 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/27dfa079 Branch: refs/heads/KNOX-481 Commit: 27dfa07936b0d6a0bbcaf0aec9b0ea4b8f9b990f Parents: fe085d3 Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:24:58 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 24 +++ .../gateway/service/definition/Policy.java | 45 .../service/definition/PolicyBinding.java | 45 .../gateway/service/definition/Rewrite.java | 47 + .../service/definition/RewriteFilter.java | 47 - .../gateway/service/definition/Route.java | 73 .../service/definition/ServiceDefinition.java | 24 +++ .../gateway/service/definition/UrlBinding.java | 73 .../resources/services/hbase/0.98.0/service.xml | 28 .../resources/services/hive/0.13.0/service.xml | 6 +- .../resources/services/oozie/4.0.0/service.xml | 22 +++--- .../services/webhcat/0.13.0/service.xml | 8 +-- .../services/webhdfs/2.4.0/service.xml | 38 +- .../services/yarn-rm/2.5.0/service.xml | 70 +-- .../definition/ServiceDefinitionTest.java | 6 +- 15 files changed, 278 insertions(+), 278 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/27dfa079/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index f31b08a..7220cdd 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -74,13 +74,13 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon private void contributeResources(DeploymentContext context, Service service) { MapString, String filterParams = new HashMapString, String(); -ListUrlBinding bindings = serviceDefinition.getUrlBindings(); -for ( UrlBinding binding : bindings ) { - ListRewriteFilter filters = binding.getRewriteFilters(); +ListRoute bindings = serviceDefinition.getRoutes(); +for ( Route binding : bindings ) { + ListRewrite filters = binding.getRewrites(); if ( filters != null !filters.isEmpty() ) { filterParams.clear(); -for ( RewriteFilter filter : filters ) { - filterParams.put(filter.getApplyTo(), filter.getRef()); +for ( Rewrite filter : filters ) { + filterParams.put(filter.getTo(), filter.getApply()); } } try { @@ -92,14 +92,14 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, Route binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(binding.getPattern()); -ListPolicyBinding policyBindings = binding.getPolicyBindings(); +resource.pattern(binding.getPath()); +ListPolicy policyBindings = binding.getPolicies(); if (policyBindings == null) { - policyBindings = serviceDefinition.getPolicyBindings(); + policyBindings = serviceDefinition.getPolicies(); } if (policyBindings == null) { //add default set @@ -110,8 +110,8 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon addDispatchFilter(context, service, resource, binding); } - private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { -for (PolicyBinding policyBinding : policyBindings) { + private void addPolicies(DeploymentContext context,
[19/41] knox git commit: Added versions to service definitions for deployment and topology KNOX-481
Added versions to service definitions for deployment and topology KNOX-481 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/4dc51e61 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/4dc51e61 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/4dc51e61 Branch: refs/heads/KNOX-481 Commit: 4dc51e61c74b943371dc48502b6aa4d52971d706 Parents: 12b2804 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 27 10:56:37 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:25:54 2015 -0500 -- .../apache/hadoop/gateway/deploy/DeploymentFactory.java | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/4dc51e61/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index 54e58f2..16d188a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -43,15 +43,7 @@ import java.beans.Statement; import java.io.File; import java.io.IOException; import java.io.StringWriter; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.ServiceLoader; -import java.util.Set; -import java.util.LinkedHashMap; +import java.util.*; public abstract class DeploymentFactory {
[27/41] knox git commit: renamed service xml elements and attributes as per review KNOX-483
renamed service xml elements and attributes as per review KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/31630693 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/31630693 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/31630693 Branch: refs/heads/KNOX-481 Commit: 31630693f255686d8372ee3c79966ef6c236dd21 Parents: bba245f Author: Sumit Gupta su...@apache.org Authored: Wed Jan 21 15:52:15 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:50:07 2015 -0500 -- .../service/definition/PolicyBinding.java | 45 .../service/definition/RewriteFilter.java | 47 - .../gateway/service/definition/UrlBinding.java | 73 3 files changed, 165 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/31630693/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java deleted file mode 100644 index d87674f..000 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java +++ /dev/null @@ -1,45 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.gateway.service.definition; - -import javax.xml.bind.annotation.XmlAttribute; - -public class PolicyBinding { - - private String name; - - private String role; - - @XmlAttribute - public String getName() { -return name; - } - - public void setName(String name) { -this.name = name; - } - - @XmlAttribute - public String getRole() { -return role; - } - - public void setRole(String role) { -this.role = role; - } -} http://git-wip-us.apache.org/repos/asf/knox/blob/31630693/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java deleted file mode 100644 index 4b0dccc..000 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.gateway.service.definition; - -import javax.xml.bind.annotation.XmlAttribute; -import javax.xml.bind.annotation.XmlType; - -@XmlType(name = rewrite-filter) -public class RewriteFilter { - - private String ref; - - private String applyTo; - - @XmlAttribute - public String getRef() { -return ref; - } - - public void setRef(String ref) { -this.ref = ref; - } - - @XmlAttribute(name = apply-to) - public String getApplyTo() { -return applyTo; - } - - public void setApplyTo(String applyTo) { -this.applyTo = applyTo; - } -}
[16/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483
Added HA support and URL-level dispatch for webhdfs KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/886d59d0 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/886d59d0 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/886d59d0 Branch: refs/heads/KNOX-481 Commit: 886d59d099e1510717f611e5e2be10e7227f1ea0 Parents: 562bb52 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 11:16:00 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:08:52 2015 -0500 -- .../hadoop/gateway/service/definition/UrlBinding.java| 11 +++ 1 file changed, 11 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/886d59d0/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java index 3630ebf..c64658c 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java @@ -29,6 +29,8 @@ public class UrlBinding { private ListRewriteFilter rewriteFilters; + private CustomDispatch dispatch; + @XmlAttribute public String getPattern() { return pattern; @@ -46,4 +48,13 @@ public class UrlBinding { public void setRewriteFilters(ListRewriteFilter rewriteFilters) { this.rewriteFilters = rewriteFilters; } + + @XmlElement(name = dispatch) + public CustomDispatch getDispatch() { +return dispatch; + } + + public void setDispatch(CustomDispatch dispatch) { +this.dispatch = dispatch; + } }
[41/41] knox git commit: Fixed issues with merge
Fixed issues with merge Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/9e0e3e8c Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/9e0e3e8c Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/9e0e3e8c Branch: refs/heads/KNOX-481 Commit: 9e0e3e8ceb06d33bc2f504d8f254954f15af586d Parents: 37963dc Author: Sumit Gupta su...@apache.org Authored: Thu Feb 12 11:21:20 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Thu Feb 12 11:21:20 2015 -0500 -- .../gateway/config/impl/GatewayConfigImpl.java | 16 .../deploy/impl/DispatchDeploymentContributor.java | 2 +- .../hadoop/gateway/dispatch/HttpClientDispatch.java | 2 +- 3 files changed, 2 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index f935533..d34cbb4 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -167,24 +167,8 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { @Override public String getGatewayStacksDir() { -return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); - } - - @Override - public String getGatewayStacksDir() { -return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); - } - - @Override - public String getGatewayStacksDir() { return getGatewayDataDir() + File.separator + STACKS_SERVICES_DIRECTORY; } - - @Override - public String getGatewayStacksDir() { -return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); - } - @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java index 4d272c2..30f2c65 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/DispatchDeploymentContributor.java @@ -37,7 +37,7 @@ public class DispatchDeploymentContributor extends ProviderDeploymentContributor private static final String DISPATCH_IMPL_PARAM = dispatch-impl; // Default global replay buffer size in KB - public static final String DEFAULT_REPLAY_BUFFER_SIZE = 4; + public static final String DEFAULT_REPLAY_BUFFER_SIZE = 8; @Override public String getRole() { http://git-wip-us.apache.org/repos/asf/knox/blob/9e0e3e8c/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java -- diff --git a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java index 8c5b4f9..e5810d4 100644 --- a/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java +++ b/gateway-spi/src/main/java/org/apache/hadoop/gateway/dispatch/HttpClientDispatch.java @@ -301,7 +301,7 @@ public class HttpClientDispatch extends AbstractGatewayDispatch { } @Configure - protected void setReplayBufferSize(@Default(4) int size) { + protected void setReplayBufferSize(@Default(8) int size) { replayBufferSize = size; }
[32/41] knox git commit: KNOX-483 added webhdfs sans ha
KNOX-483 added webhdfs sans ha Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/335b6a42 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/335b6a42 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/335b6a42 Branch: refs/heads/KNOX-481 Commit: 335b6a428f7a221e02b07094b4d35d213f21d474 Parents: 5930edb Author: Sumit Gupta su...@apache.org Authored: Mon Jan 19 12:21:03 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:51:10 2015 -0500 -- .../src/main/resources/services/yarn-rm/2.5.0/service.xml | 2 -- 1 file changed, 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/335b6a42/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml -- diff --git a/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml b/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml index 61a77f0..f77d94d 100644 --- a/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml +++ b/gateway-service-definitions/src/main/resources/services/yarn-rm/2.5.0/service.xml @@ -16,13 +16,11 @@ limitations under the License. -- service role=RESOURCEMANAGER name=resourcemanager version=2.5.0 -policies/policies urls url pattern=/resourcemanager/v1/cluster// url pattern=/resourcemanager/v1/cluster/**?**/ url pattern=/resourcemanager/v1/cluster/apps?** rewrite-filter ref=RESOURCEMANAGER/resourcemanager/apps/outbound apply-to=response.body/ -policies/policies /url url pattern=/resourcemanager/v1/cluster/apps?** rewrite-filter ref=RESOURCEMANAGER/resourcemanager/apps/outbound apply-to=response.body/
[12/41] knox git commit: KNOX-483 added webhdfs sans ha
KNOX-483 added webhdfs sans ha Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/e9fe7bcc Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/e9fe7bcc Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/e9fe7bcc Branch: refs/heads/KNOX-481 Commit: e9fe7bccf04bf1ac61e50a9c3d08359efbee2a29 Parents: 7258c49 Author: Sumit Gupta su...@apache.org Authored: Mon Jan 19 12:21:03 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:24:58 2015 -0500 -- .../services/webhdfs/2.4.0/rewrite.xml | 70 .../services/webhdfs/2.4.0/service.xml | 38 +++ .../services/yarn-rm/2.5.0/service.xml | 2 - .../hdfs/WebHdfsDeploymentContributor.java | 10 +-- .../deploy/DeploymentFactoryFuncTest.java | 34 +- 5 files changed, 145 insertions(+), 9 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/e9fe7bcc/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml -- diff --git a/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml b/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml new file mode 100644 index 000..efbd93d --- /dev/null +++ b/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/rewrite.xml @@ -0,0 +1,70 @@ +?xml version=1.0 encoding=UTF-8 standalone=yes? +!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the License); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an AS IS BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +-- +rules + +rule dir=OUT name=WEBHDFS/webhdfs/outbound pattern=hdfs://*:*/{path=**}?{**} +rewrite template={$frontend[url]}/webhdfs/v1/{path=**}?{**}/ +/rule + +rule dir=OUT name=WEBHDFS/webhdfs/outbound pattern=webhdfs://*:*/{path=**}?{**} +rewrite template={$frontend[url]}/webhdfs/v1/{path=**}?{**}/ +/rule + +rule dir=OUT name=WEBHDFS/webhdfs/outbound/namenode/headers/location +match pattern={scheme}://{host}:{port}/{path=**}?{**}/ +rewrite template={$frontend[url]}/webhdfs/data/v1/{path=**}?{scheme}?host={$hostmap(host)}?{port}?{**}/ +encrypt-query/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/hdfs pattern=hdfs:/{path=**}?{**} +rewrite template={$serviceMappedUrl[NAMENODE]}/{path=**}?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/webhdfs pattern=webhdfs:/{path=**}?{**} +rewrite template={$serviceUrl[WEBHDFS]}/{path=**}?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/root pattern=*://*:*/**/webhdfs/{version}/?{**} +rewrite template={$serviceUrl[WEBHDFS]}/{version}/?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/file pattern=*://*:*/**/webhdfs/{version}/{path=**}?{**} +rewrite template={$serviceUrl[WEBHDFS]}/{version}/{path=**}?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/home pattern=*://*:*/**/webhdfs/{version}/~?{**} +rewrite template={$serviceUrl[WEBHDFS]}/{version}/user/{$username}?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/namenode/home/file pattern=*://*:*/**/webhdfs/{version}/~/{path=**}?{**} +rewrite template={$serviceUrl[WEBHDFS]}/{version}/user/{$username}/{path=**}?{**}/ +/rule + +rule dir=IN name=WEBHDFS/webhdfs/inbound/datanode +decrypt-query/ +match pattern=*://*:*/**/webhdfs/data/*/{path=**}?{scheme}?{host}?{port}?{**}/ +rewrite template={scheme}://{host}:{port}/{path=**}?{**}/ +/rule + +filter name=WEBHDFS/webhdfs/outbound/namenode/headers +content type=application/x-http-headers +apply path=Location rule=WEBHDFS/webhdfs/outbound/namenode/headers/location/ +/content +/filter + +/rules \ No newline at end of file http://git-wip-us.apache.org/repos/asf/knox/blob/e9fe7bcc/gateway-service-definitions/src/main/resources/services/webhdfs/2.4.0/service.xml -- diff --git
[26/41] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/bba245fe Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/bba245fe Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/bba245fe Branch: refs/heads/KNOX-481 Commit: bba245fe736be164d575ce89b2af86b0ba48f348 Parents: 52c3418 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:49:49 2015 -0500 -- .../service/definition/PolicyBinding.java | 24 .../service/definition/ServiceDefinition.java | 12 ++ .../gateway/service/definition/UrlBinding.java | 13 +++ 3 files changed, 49 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java index ad6b0a6..d87674f 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java @@ -17,5 +17,29 @@ */ package org.apache.hadoop.gateway.service.definition; +import javax.xml.bind.annotation.XmlAttribute; + public class PolicyBinding { + + private String name; + + private String role; + + @XmlAttribute + public String getName() { +return name; + } + + public void setName(String name) { +this.name = name; + } + + @XmlAttribute + public String getRole() { +return role; + } + + public void setRole(String role) { +this.role = role; + } } http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java index 9cbb9e0..6cb14c4 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java @@ -38,6 +38,8 @@ public class ServiceDefinition { private CustomDispatch dispatch; + private ListPolicyBinding policyBindings; + private CustomDispatch dispatch; @XmlAttribute @@ -96,6 +98,16 @@ public class ServiceDefinition { this.dispatch = dispatch; } + @XmlElement(name = policy) + @XmlElementWrapper(name = policies) + public ListPolicyBinding getPolicyBindings() { +return policyBindings; + } + + public void setPolicyBindings(ListPolicyBinding policyBindings) { +this.policyBindings = policyBindings; + } + @XmlElement(name = dispatch) public CustomDispatch getDispatch() { return dispatch; http://git-wip-us.apache.org/repos/asf/knox/blob/bba245fe/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java index c64658c..a1b7718 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/UrlBinding.java @@ -19,6 +19,7 @@ package org.apache.hadoop.gateway.service.definition; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlType; import java.util.List; @@ -29,6 +30,8 @@ public class UrlBinding { private ListRewriteFilter rewriteFilters; + private ListPolicyBinding policyBindings; + private CustomDispatch dispatch; @XmlAttribute @@ -49,6 +52,16 @@ public class UrlBinding { this.rewriteFilters = rewriteFilters; } + @XmlElement(name = policy) + @XmlElementWrapper(name = policies) + public ListPolicyBinding getPolicyBindings() { +return policyBindings; + } + +
[38/41] knox git commit: Minor cleanup and bug fixes KNOX-481
http://git-wip-us.apache.org/repos/asf/knox/blob/7cb3551b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java -- diff --git a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java b/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java deleted file mode 100644 index 857459f..000 --- a/gateway-service-webhcat/src/main/java/org/apache/hadoop/gateway/webhcat/WebHCatDeploymentContributor.java +++ /dev/null @@ -1,95 +0,0 @@ -/** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.gateway.webhcat; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.Reader; -import java.net.URISyntaxException; - -import org.apache.hadoop.gateway.deploy.DeploymentContext; -import org.apache.hadoop.gateway.deploy.ServiceDeploymentContributorBase; -import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; -import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptorFactory; -import org.apache.hadoop.gateway.topology.Service; - -public class WebHCatDeploymentContributor extends ServiceDeploymentContributorBase { - - private static final String RULES_RESOURCE = WebHCatDeploymentContributor.class.getName().replace( '.', '/' ) + /rewrite.xml; - private static final String WEBHCAT_EXTERNAL_PATH = /templeton/v1; - - @Override - public String getRole() { -return xWEBHCAT; - } - - @Override - public String getName() { -return xwebhcat; - } - - @Override - public void contributeService( DeploymentContext context, Service service ) throws Exception { -//contributeRewriteRules( context, service ); -//contributeResources( context, service ); - } - - private void contributeRewriteRules( DeploymentContext context, Service service ) throws IOException { -UrlRewriteRulesDescriptor hbaseRules = loadRulesFromTemplate(); -UrlRewriteRulesDescriptor clusterRules = context.getDescriptor( rewrite ); -clusterRules.addRules( hbaseRules ); - } - - private UrlRewriteRulesDescriptor loadRulesFromTemplate() throws IOException { -InputStream stream = this.getClass().getClassLoader().getResourceAsStream( RULES_RESOURCE ); -Reader reader = new InputStreamReader( stream ); -UrlRewriteRulesDescriptor rules = UrlRewriteRulesDescriptorFactory.load( xml, reader ); -reader.close(); -stream.close(); -return rules; - } - - private void contributeResources( DeploymentContext context, Service service ) throws URISyntaxException { -ResourceDescriptor rootResource = context.getGatewayDescriptor().addResource(); -rootResource.role( service.getRole() ); -rootResource.pattern( WEBHCAT_EXTERNAL_PATH + /?** ); -addWebAppSecFilters( context, service, rootResource ); -addAuthenticationFilter( context, service, rootResource ); -addRewriteFilter( context, service, rootResource, null ); -addIdentityAssertionFilter( context, service, rootResource ); -addAuthorizationFilter( context, service, rootResource ); -addDispatchFilter( context, service, rootResource ); - -ResourceDescriptor pathResource = context.getGatewayDescriptor().addResource(); -pathResource.role( service.getRole() ); -pathResource.pattern( WEBHCAT_EXTERNAL_PATH + /**?** ); -addWebAppSecFilters( context, service, pathResource ); -addAuthenticationFilter( context, service, pathResource ); -addRewriteFilter( context, service, pathResource, null ); -addIdentityAssertionFilter( context, service, pathResource ); -addAuthorizationFilter( context, service, pathResource ); -addDispatchFilter( context, service, pathResource ); - } - - private void addDispatchFilter( - DeploymentContext context, Service service, ResourceDescriptor resource ) { -context.contributeFilter( service, resource, dispatch, http-client, null ); - } -}
[15/41] knox git commit: Separated dispatch from filters and added custom dispatch config KNOX-483
Separated dispatch from filters and added custom dispatch config KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/562bb52c Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/562bb52c Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/562bb52c Branch: refs/heads/KNOX-481 Commit: 562bb52c28a6e42fd63290acf3ad4320948fb475 Parents: 35e0c71 Author: Sumit Gupta su...@apache.org Authored: Thu Jan 15 23:46:01 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:02:47 2015 -0500 -- .../gateway/service/definition/ServiceDefinition.java| 11 +++ 1 file changed, 11 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/562bb52c/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java index cbb9309..9cbb9e0 100644 --- a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/ServiceDefinition.java @@ -38,6 +38,8 @@ public class ServiceDefinition { private CustomDispatch dispatch; + private CustomDispatch dispatch; + @XmlAttribute public String getName() { return name; @@ -93,4 +95,13 @@ public class ServiceDefinition { public void setDispatch(CustomDispatch dispatch) { this.dispatch = dispatch; } + + @XmlElement(name = dispatch) + public CustomDispatch getDispatch() { +return dispatch; + } + + public void setDispatch(CustomDispatch dispatch) { +this.dispatch = dispatch; + } }
[02/41] knox git commit: KNOX-493 - Data and sub data directory should be made configurable. (Andreina J via lmccay)
KNOX-493 - Data and sub data directory should be made configurable. (Andreina J via lmccay) Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/1275b088 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/1275b088 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/1275b088 Branch: refs/heads/KNOX-481 Commit: 1275b08820bac477901d3a6e207ea867426c5e6c Parents: 59735a8 Author: Larry McCay lmc...@hortonworks.com Authored: Thu Feb 5 22:20:39 2015 -0500 Committer: Larry McCay lmc...@hortonworks.com Committed: Thu Feb 5 22:20:39 2015 -0500 -- CHANGES | 1 + .../gateway/config/impl/GatewayConfigImpl.java | 17 - .../hadoop/gateway/GatewayGlobalConfigTest.java | 66 +++- .../conf-demo/conf/gateway-default.xml | 11 .../resources/conf-demo/conf/gateway-site.xml | 11 5 files changed, 102 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/1275b088/CHANGES -- diff --git a/CHANGES b/CHANGES index 2588f74..e795281 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,7 @@ Release Notes - Apache Knox - Version 0.6.0 * [KNOX-479] - Remove cacheManager configuration from template files * [KNOX-480] - KnoxCLI needs to print usage when alias not provided * [KNOX-494] - knox-env.sh script should print proper warning message , if JAVA is not set. (Andreina J via lmccay) + * [KNOX-493] - Data and sub data directory should be made configurable. (Andreina J via lmccay) -- Release Notes - Apache Knox - Version 0.5.1 http://git-wip-us.apache.org/repos/asf/knox/blob/1275b088/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 87691b9..4b2a0ac 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -98,6 +98,8 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { public static final String HTTP_PORT = GATEWAY_CONFIG_FILE_PREFIX + .port; public static final String HTTP_PATH = GATEWAY_CONFIG_FILE_PREFIX + .path; public static final String DEPLOYMENT_DIR = GATEWAY_CONFIG_FILE_PREFIX + .deployment.dir; + public static final String SECURITY_DIR = GATEWAY_CONFIG_FILE_PREFIX + .security.dir; + public static final String DATA_DIR = GATEWAY_CONFIG_FILE_PREFIX + .data.dir; public static final String HADOOP_CONF_DIR = GATEWAY_CONFIG_FILE_PREFIX + .hadoop.conf.dir; // public static final String SHIRO_CONFIG_FILE = GATEWAY_CONFIG_FILE_PREFIX + .shiro.config.file; public static final String FRONTEND_URL = GATEWAY_CONFIG_FILE_PREFIX + .frontend.url; @@ -105,6 +107,8 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { public static final String DEFAULT_HTTP_PORT = ; public static final String DEFAULT_HTTP_PATH = gateway; public static final String DEFAULT_DEPLOYMENT_DIR = deployments; + public static final String DEFAULT_SECURITY_DIR = security; + public static final String DEFAULT_DATA_DIR = data; private static final String SSL_ENABLED = ssl.enabled; private static final String SSL_EXCLUDE_PROTOCOLS = ssl.exclude.protocols; // public static final String DEFAULT_SHIRO_CONFIG_FILE = shiro.ini; @@ -148,8 +152,15 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { @Override public String getGatewayDataDir() { -String value = getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + data ); -return value; +String systemValue = +System.getProperty(GATEWAY_DATA_HOME_VAR, System.getenv(GATEWAY_DATA_HOME_VAR)); +String dataDir = null; +if (systemValue != null) { + dataDir = systemValue; +} else { + dataDir = get(DATA_DIR, getGatewayHomeDir() + File.separator + DEFAULT_DATA_DIR); +} +return dataDir; } @Override @@ -280,7 +291,7 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { @Override public String getGatewaySecurityDir() { -return getGatewayDataDir() + File.separator + security; +return get(SECURITY_DIR, getGatewayDataDir() + File.separator + DEFAULT_SECURITY_DIR); } @Override
[05/41] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/d378cdd1 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/d378cdd1 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/d378cdd1 Branch: refs/heads/KNOX-481 Commit: d378cdd19e55142a59c2b78bee1e8ff20be05911 Parents: 5abdde8 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:15:57 2015 -0500 -- gateway-server/pom.xml | 8 + .../gateway/config/impl/GatewayConfigImpl.java | 5 + .../gateway/deploy/DeploymentFactory.java | 54 +++--- .../ServiceDefinitionDeploymentContributor.java | 108 +++ .../gateway/util/ServiceDefinitionsLoader.java | 95 + gateway-service-definitions/pom.xml | 39 .../service/definition/PolicyBinding.java | 21 ++ .../service/definition/RewriteFilter.java | 47 + .../service/definition/ServiceDefinition.java | 73 +++ .../gateway/service/definition/UrlBinding.java | 49 + .../services/yarn-rm/2.5.0/rewrite.xml | 193 +++ .../services/yarn-rm/2.5.0/service.xml | 54 ++ .../definition/ServiceDefinitionTest.java | 46 + .../ResourceManagerDeploymentContributor.java | 9 +- .../hadoop/gateway/config/GatewayConfig.java| 6 + .../hadoop/gateway/GatewayFuncTestDriver.java | 13 ++ .../hadoop/gateway/GatewayTestConfig.java | 6 +- pom.xml | 6 + 18 files changed, 805 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/pom.xml -- diff --git a/gateway-server/pom.xml b/gateway-server/pom.xml index 3f736f3..1304cd0 100644 --- a/gateway-server/pom.xml +++ b/gateway-server/pom.xml @@ -178,6 +178,14 @@ groupIdcommons-io/groupId artifactIdcommons-io/artifactId /dependency +dependency +groupIdorg.apache.knox/groupId +artifactIdgateway-service-definitions/artifactId +/dependency +dependency +groupIdorg.apache.knox/groupId +artifactIdgateway-provider-rewrite/artifactId +/dependency !-- ** ** ** ** ** ** -- !-- ** Test Dependencies ** -- http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 4b2a0ac..97853b3 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -164,6 +164,11 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { } @Override + public String getGatewayStacksDir() { +return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); + } + + @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); } http://git-wip-us.apache.org/repos/asf/knox/blob/d378cdd1/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index 44ba37a..a0cc6cb 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -31,6 +31,7 @@ import org.apache.hadoop.gateway.services.registry.ServiceRegistry; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import org.apache.hadoop.gateway.topology.Topology; +import org.apache.hadoop.gateway.util.ServiceDefinitionsLoader; import org.jboss.shrinkwrap.api.ShrinkWrap; import org.jboss.shrinkwrap.api.asset.Asset; import org.jboss.shrinkwrap.api.asset.StringAsset; @@ -40,6 +41,7 @@ import org.jboss.shrinkwrap.descriptor.api.webapp30.WebAppDescriptor; import org.jboss.shrinkwrap.descriptor.api.webcommon30.ServletType; import
[30/41] knox git commit: Added HA support and URL-level dispatch for webhdfs KNOX-483
Added HA support and URL-level dispatch for webhdfs KNOX-483 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/e9c54cf1 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/e9c54cf1 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/e9c54cf1 Branch: refs/heads/KNOX-481 Commit: e9c54cf1d944ce35dce8188937ce81bd1c869cb1 Parents: 335b6a4 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 11:16:00 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:51:10 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 51 +++- .../gateway/service/definition/UrlBinding.java | 11 + 2 files changed, 50 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/e9c54cf1/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 79cc4a5..755fc67 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -28,6 +28,7 @@ import org.apache.hadoop.gateway.service.definition.CustomDispatch; import org.apache.hadoop.gateway.service.definition.RewriteFilter; import org.apache.hadoop.gateway.service.definition.ServiceDefinition; import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; import java.net.URISyntaxException; @@ -86,7 +87,7 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } try { -contributeResource(context, service, binding.getPattern(), filterParams); +contributeResource(context, service, binding, filterParams); } catch ( URISyntaxException e ) { e.printStackTrace(); } @@ -94,11 +95,11 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } - private void contributeResource(DeploymentContext context, Service service, String pattern, MapString, String filterParams) throws URISyntaxException { + private void contributeResource(DeploymentContext context, Service service, UrlBinding binding, MapString, String filterParams) throws URISyntaxException { ListFilterParamDescriptor params = new ArrayListFilterParamDescriptor(); ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); -resource.pattern(pattern); +resource.pattern(binding.getPattern()); addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); @@ -109,20 +110,46 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon } } addRewriteFilter(context, service, resource, params); -CustomDispatch customDispatch = serviceDefinition.getDispatch(); -if (customDispatch != null) { - String contributorName = customDispatch.getContributorName(); - if (contributorName != null) { -addDispatchFilter(context, service, resource, DISPATCH_ROLE, contributorName); +addDispatchFilter(context, service, resource, binding); + } + + private void addDispatchFilter(DeploymentContext context, Service service, ResourceDescriptor resource, UrlBinding binding) { +CustomDispatch customDispatch = binding.getDispatch(); +if ( customDispatch == null ) { + customDispatch = serviceDefinition.getDispatch(); +} +if ( customDispatch != null ) { + boolean isHaEnabled = isHaEnabled(context); + if ( isHaEnabled (customDispatch.getHaContributorName() != null) ) { +addDispatchFilter(context, service, resource, DISPATCH_ROLE, customDispatch.getHaContributorName()); } else { -String className = customDispatch.getClassName(); -if (className != null) { - FilterDescriptor filter = resource.addFilter().name( getName() ).role( DISPATCH_ROLE ).impl( GatewayDispatchFilter.class ); - filter.param().name(DISPATCH_IMPL_PARAM).value(className); +String contributorName = customDispatch.getContributorName(); +if ( contributorName != null ) { + addDispatchFilter(context, service, resource, DISPATCH_ROLE, contributorName); +} else { +
[10/41] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/fe085d3a Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/fe085d3a Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/fe085d3a Branch: refs/heads/KNOX-481 Commit: fe085d3aea14b10fa59fef493e28976bf33c89a9 Parents: 6ed40a7 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:24:58 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 39 +--- .../service/definition/PolicyBinding.java | 24 .../service/definition/ServiceDefinition.java | 12 ++ .../gateway/service/definition/UrlBinding.java | 13 +++ .../services/webhdfs/2.4.0/service.xml | 7 .../services/yarn-rm/2.5.0/service.xml | 1 - .../definition/ServiceDefinitionTest.java | 10 + 7 files changed, 100 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/fe085d3a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 755fc67..f31b08a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -24,10 +24,7 @@ import org.apache.hadoop.gateway.descriptor.FilterParamDescriptor; import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter; import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.service.definition.CustomDispatch; -import org.apache.hadoop.gateway.service.definition.RewriteFilter; -import org.apache.hadoop.gateway.service.definition.ServiceDefinition; -import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.service.definition.*; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; @@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); resource.pattern(binding.getPattern()); +ListPolicyBinding policyBindings = binding.getPolicyBindings(); +if (policyBindings == null) { + policyBindings = serviceDefinition.getPolicyBindings(); +} +if (policyBindings == null) { + //add default set + addDefaultPolicies(context, service, filterParams, params, resource); +} else { + addPolicies(context, service, filterParams, params, resource, policyBindings); +} +addDispatchFilter(context, service, resource, binding); + } + + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { +for (PolicyBinding policyBinding : policyBindings) { + String role = policyBinding.getRole(); + if (role == null) { +throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); + } + role = role.trim().toLowerCase(); + if (role.equals(rewrite)) { +addRewriteFilter(context, service, filterParams, params, resource); + } else if (topologyContainsProviderType(context, role)) { +context.contributeFilter( service, resource, role, policyBinding.getName(), null ); + } +} + } + + private void addDefaultPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); addAuthorizationFilter(context, service, resource); +addRewriteFilter(context, service, filterParams, params, resource); + } + + private void addRewriteFilter(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { if ( !filterParams.isEmpty() ) {
[14/41] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/35e0c711 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/35e0c711 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/35e0c711 Branch: refs/heads/KNOX-481 Commit: 35e0c7113dd80228c4b905c5423607c29c777d0a Parents: bfb3abd Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 13:43:53 2015 -0500 -- .../gateway/config/impl/GatewayConfigImpl.java | 5 ++ .../gateway/deploy/DeploymentFactory.java | 10 +++- .../service/definition/PolicyBinding.java | 21 + .../service/definition/RewriteFilter.java | 47 +++ .../gateway/service/definition/UrlBinding.java | 49 5 files changed, 131 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 97853b3..4241856 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -169,6 +169,11 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { } @Override + public String getGatewayStacksDir() { +return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); + } + + @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); } http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java index 16d188a..54e58f2 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/DeploymentFactory.java @@ -43,7 +43,15 @@ import java.beans.Statement; import java.io.File; import java.io.IOException; import java.io.StringWriter; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.ServiceLoader; +import java.util.Set; +import java.util.LinkedHashMap; public abstract class DeploymentFactory { http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java new file mode 100644 index 000..ad6b0a6 --- /dev/null +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java @@ -0,0 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.gateway.service.definition; + +public class PolicyBinding { +} http://git-wip-us.apache.org/repos/asf/knox/blob/35e0c711/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java -- diff --git
[23/41] knox git commit: KNOX-483 initial commit for loading service definitions
KNOX-483 initial commit for loading service definitions Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/21d9a17e Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/21d9a17e Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/21d9a17e Branch: refs/heads/KNOX-481 Commit: 21d9a17e80cb22c0868062b8846f2b723e4bfc3f Parents: ef2439b Author: Sumit Gupta su...@apache.org Authored: Tue Jan 6 12:07:29 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:38:09 2015 -0500 -- .../gateway/config/impl/GatewayConfigImpl.java | 5 ++ .../service/definition/PolicyBinding.java | 21 + .../service/definition/RewriteFilter.java | 47 +++ .../gateway/service/definition/UrlBinding.java | 49 4 files changed, 122 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java index 4241856..cfbec54 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/config/impl/GatewayConfigImpl.java @@ -174,6 +174,11 @@ public class GatewayConfigImpl extends Configuration implements GatewayConfig { } @Override + public String getGatewayStacksDir() { +return getVar( GATEWAY_DATA_HOME_VAR, getGatewayHomeDir() + File.separator + stacks ); + } + + @Override public String getHadoopConfDir() { return get( HADOOP_CONF_DIR ); } http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java new file mode 100644 index 000..ad6b0a6 --- /dev/null +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/PolicyBinding.java @@ -0,0 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.gateway.service.definition; + +public class PolicyBinding { +} http://git-wip-us.apache.org/repos/asf/knox/blob/21d9a17e/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java -- diff --git a/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java new file mode 100644 index 000..4b0dccc --- /dev/null +++ b/gateway-service-definitions/src/main/java/org/apache/hadoop/gateway/service/definition/RewriteFilter.java @@ -0,0 +1,47 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing
[37/41] knox git commit: Added policy chain to webhdfs service KNOX-487
Added policy chain to webhdfs service KNOX-487 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/3c6b7506 Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/3c6b7506 Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/3c6b7506 Branch: refs/heads/KNOX-481 Commit: 3c6b750654e2ca0bb7a96529f826d1aff6231ea5 Parents: e9c54cf Author: Sumit Gupta su...@apache.org Authored: Tue Jan 20 12:23:31 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:51:11 2015 -0500 -- .../ServiceDefinitionDeploymentContributor.java | 39 +--- .../service/definition/PolicyBinding.java | 24 .../gateway/service/definition/UrlBinding.java | 13 +++ .../services/yarn-rm/2.5.0/service.xml | 1 - .../definition/ServiceDefinitionTest.java | 10 + 5 files changed, 81 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/3c6b7506/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java index 755fc67..f31b08a 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/deploy/impl/ServiceDefinitionDeploymentContributor.java @@ -24,10 +24,7 @@ import org.apache.hadoop.gateway.descriptor.FilterParamDescriptor; import org.apache.hadoop.gateway.descriptor.ResourceDescriptor; import org.apache.hadoop.gateway.dispatch.GatewayDispatchFilter; import org.apache.hadoop.gateway.filter.rewrite.api.UrlRewriteRulesDescriptor; -import org.apache.hadoop.gateway.service.definition.CustomDispatch; -import org.apache.hadoop.gateway.service.definition.RewriteFilter; -import org.apache.hadoop.gateway.service.definition.ServiceDefinition; -import org.apache.hadoop.gateway.service.definition.UrlBinding; +import org.apache.hadoop.gateway.service.definition.*; import org.apache.hadoop.gateway.topology.Provider; import org.apache.hadoop.gateway.topology.Service; @@ -100,17 +97,49 @@ public class ServiceDefinitionDeploymentContributor extends ServiceDeploymentCon ResourceDescriptor resource = context.getGatewayDescriptor().addResource(); resource.role(service.getRole()); resource.pattern(binding.getPattern()); +ListPolicyBinding policyBindings = binding.getPolicyBindings(); +if (policyBindings == null) { + policyBindings = serviceDefinition.getPolicyBindings(); +} +if (policyBindings == null) { + //add default set + addDefaultPolicies(context, service, filterParams, params, resource); +} else { + addPolicies(context, service, filterParams, params, resource, policyBindings); +} +addDispatchFilter(context, service, resource, binding); + } + + private void addPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource, ListPolicyBinding policyBindings) throws URISyntaxException { +for (PolicyBinding policyBinding : policyBindings) { + String role = policyBinding.getRole(); + if (role == null) { +throw new IllegalArgumentException(Policy defined has no role for service + service.getName()); + } + role = role.trim().toLowerCase(); + if (role.equals(rewrite)) { +addRewriteFilter(context, service, filterParams, params, resource); + } else if (topologyContainsProviderType(context, role)) { +context.contributeFilter( service, resource, role, policyBinding.getName(), null ); + } +} + } + + private void addDefaultPolicies(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { addWebAppSecFilters(context, service, resource); addAuthenticationFilter(context, service, resource); addIdentityAssertionFilter(context, service, resource); addAuthorizationFilter(context, service, resource); +addRewriteFilter(context, service, filterParams, params, resource); + } + + private void addRewriteFilter(DeploymentContext context, Service service, MapString, String filterParams, ListFilterParamDescriptor params, ResourceDescriptor resource) throws URISyntaxException { if ( !filterParams.isEmpty() ) { for ( Map.EntryString, String filterParam : filterParams.entrySet() ) {
[20/41] knox git commit: Added service definitions to the assembly KNOX-481
Added service definitions to the assembly KNOX-481 Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/106279da Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/106279da Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/106279da Branch: refs/heads/KNOX-481 Commit: 106279daa5aa6b924eb8fb0024ebe322d0a1d1c5 Parents: 4dc51e6 Author: Sumit Gupta su...@apache.org Authored: Tue Jan 27 12:32:25 2015 -0500 Committer: Sumit Gupta su...@apache.org Committed: Wed Feb 11 15:25:55 2015 -0500 -- gateway-release/pom.xml | 31 +++ gateway-release/src/assembly.xml | 7 +++ 2 files changed, 38 insertions(+) -- http://git-wip-us.apache.org/repos/asf/knox/blob/106279da/gateway-release/pom.xml -- diff --git a/gateway-release/pom.xml b/gateway-release/pom.xml index 744242b..0ea7a81 100644 --- a/gateway-release/pom.xml +++ b/gateway-release/pom.xml @@ -37,6 +37,7 @@ /license /licenses + profiles profile idrelease/id @@ -94,6 +95,36 @@ /dependency /dependencies /plugin +plugin +groupIdorg.apache.maven.plugins/groupId +artifactIdmaven-dependency-plugin/artifactId +version2.8/version +executions +execution +idunpack/id +phasegenerate-resources/phase +goals +goalunpack/goal +/goals +configuration +artifactItems +artifactItem +groupId${gateway-group}/groupId + artifactIdgateway-service-definitions/artifactId +typejar/type +overWritetrue/overWrite + outputDirectory${project.build.directory}/outputDirectory +includesservices/**/*/includes + !--excludes**/*.class/excludes-- +/artifactItem +/artifactItems + !--outputDirectory${project.build.directory}/data/outputDirectory-- + !--overWriteReleasesfalse/overWriteReleases-- + !--overWriteSnapshotstrue/overWriteSnapshots-- +/configuration +/execution +/executions +/plugin /plugins /build /profile http://git-wip-us.apache.org/repos/asf/knox/blob/106279da/gateway-release/src/assembly.xml -- diff --git a/gateway-release/src/assembly.xml b/gateway-release/src/assembly.xml index 9a46f39..709d1f3 100644 --- a/gateway-release/src/assembly.xml +++ b/gateway-release/src/assembly.xml @@ -58,6 +58,13 @@ /includes fileMode0444/fileMode /fileSet +fileSet +directory${project.build.directory}/services/directory +outputDirectorydata/services/outputDirectory +includes +include**/*/include +/includes +/fileSet /fileSets dependencySets dependencySet
knox git commit: KNOX-462: Proper error message when root tag of topology file incorrect Contributed by J.Andreina via KNOX-462.3.patch.
Repository: knox Updated Branches: refs/heads/master 5abdde8bc - 2192932e0 KNOX-462: Proper error message when root tag of topology file incorrect Contributed by J.Andreina via KNOX-462.3.patch. Project: http://git-wip-us.apache.org/repos/asf/knox/repo Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/2192932e Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/2192932e Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/2192932e Branch: refs/heads/master Commit: 2192932e012186ca8dc5777bdcc1b14d162c9128 Parents: 5abdde8 Author: Kevin Minder kevin.min...@hortonworks.com Authored: Thu Feb 12 10:07:14 2015 -0500 Committer: Kevin Minder kevin.min...@hortonworks.com Committed: Thu Feb 12 10:07:14 2015 -0500 -- CHANGES | 3 ++ .../apache/hadoop/gateway/GatewayMessages.java | 3 ++ .../topology/impl/DefaultTopologyService.java | 35 ++-- .../apache/hadoop/gateway/audit/api/Action.java | 1 + 4 files changed, 40 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/CHANGES -- diff --git a/CHANGES b/CHANGES index e795281..4d072b6 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,9 @@ Release Notes - Apache Knox - Version 0.6.0 * [KNOX-494] - knox-env.sh script should print proper warning message , if JAVA is not set. (Andreina J via lmccay) * [KNOX-493] - Data and sub data directory should be made configurable. (Andreina J via lmccay) +** Improvement + * [KNOX-462] - Proper error message when root tag of topology file incorrect + -- Release Notes - Apache Knox - Version 0.5.1 -- http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java index 9325c02..4fd2a7c 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/GatewayMessages.java @@ -97,6 +97,9 @@ public interface GatewayMessages { @Message( level = MessageLevel.ERROR, text = Failed to redeploy topology {0}: {1} ) void failedToRedeployTopology( String name, @StackTrace(level=MessageLevel.DEBUG) Throwable e ); + @Message(level = MessageLevel.ERROR, text = Failed to load topology {0}: Topology configuration is invalid!) + void failedToLoadTopology(String fileName); + @Message( level = MessageLevel.ERROR, text = Failed to redeploy topologies: {0} ) void failedToRedeployTopologies( @StackTrace(level=MessageLevel.DEBUG) Throwable e ); http://git-wip-us.apache.org/repos/asf/knox/blob/2192932e/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java -- diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java index c80d8a1..74a29bc 100644 --- a/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java +++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/services/topology/impl/DefaultTopologyService.java @@ -28,6 +28,12 @@ import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationMonitor; import org.apache.commons.io.monitor.FileAlterationObserver; import org.apache.hadoop.gateway.GatewayMessages; +import org.apache.hadoop.gateway.audit.api.Action; +import org.apache.hadoop.gateway.audit.api.ActionOutcome; +import org.apache.hadoop.gateway.audit.api.AuditServiceFactory; +import org.apache.hadoop.gateway.audit.api.Auditor; +import org.apache.hadoop.gateway.audit.api.ResourceType; +import org.apache.hadoop.gateway.audit.log4j.audit.AuditConstants; import org.apache.hadoop.gateway.config.GatewayConfig; import org.apache.hadoop.gateway.i18n.messages.MessagesFactory; import org.apache.hadoop.gateway.services.ServiceLifecycleException; @@ -65,7 +71,9 @@ import static org.apache.commons.digester3.binder.DigesterLoader.newLoader; public class DefaultTopologyService extends FileAlterationListenerAdaptor implements TopologyService, TopologyMonitor, TopologyProvider, FileFilter, FileAlterationListener { - + private static Auditor auditor =