You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2017/06/15 21:54:51 UTC
[18/40] geode git commit: Revert "GEODE-3062: create new
SecurityService after receiving cluster config"
Revert "GEODE-3062: create new SecurityService after receiving cluster config"
This reverts commit cecad6c37d59369a29237f7d940f297804633aa1.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/a79d2cc1
Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/a79d2cc1
Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/a79d2cc1
Branch: refs/heads/feature/GEODE-2980
Commit: a79d2cc1621bd8c36531519df5e1edbb0faabf96
Parents: 7bc3111
Author: Kirk Lund <kl...@apache.org>
Authored: Wed Jun 14 15:41:49 2017 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Wed Jun 14 15:41:49 2017 -0700
----------------------------------------------------------------------
.../internal/InternalDistributedSystem.java | 4 ---
.../cache/ClusterConfigurationLoader.java | 7 ++--
.../geode/internal/cache/GemFireCacheImpl.java | 35 +++++++-------------
.../ClusterConfigWithSecurityDUnitTest.java | 31 ++++-------------
4 files changed, 22 insertions(+), 55 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/geode/blob/a79d2cc1/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
index f406393..22edb6f 100644
--- a/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
+++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/InternalDistributedSystem.java
@@ -516,10 +516,6 @@ public class InternalDistributedSystem extends DistributedSystem
return this.securityService;
}
- public void setSecurityService(SecurityService securityService) {
- this.securityService = securityService;
- }
-
/**
* Registers a listener to the system
*
http://git-wip-us.apache.org/repos/asf/geode/blob/a79d2cc1/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java b/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java
index 92cfd96..4f4881f 100644
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/ClusterConfigurationLoader.java
@@ -152,12 +152,13 @@ public class ClusterConfigurationLoader {
/***
* Apply the gemfire properties cluster configuration on this member
- *
+ *
+ * @param cache Cache created for this member
* @param response {@link ConfigurationResponse} containing the requested {@link Configuration}
* @param config this member's config
*/
- public static void applyClusterPropertiesConfiguration(ConfigurationResponse response,
- DistributionConfig config) {
+ public static void applyClusterPropertiesConfiguration(Cache cache,
+ ConfigurationResponse response, DistributionConfig config) {
if (response == null || response.getRequestedConfiguration().isEmpty()) {
return;
}
http://git-wip-us.apache.org/repos/asf/geode/blob/a79d2cc1/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
index c503c40..40df0c7 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/GemFireCacheImpl.java
@@ -77,7 +77,6 @@ import javax.transaction.TransactionManager;
import com.sun.jna.Native;
import com.sun.jna.Platform;
import org.apache.commons.lang.StringUtils;
-import org.apache.geode.internal.security.SecurityServiceFactory;
import org.apache.logging.log4j.Logger;
import org.apache.geode.CancelCriterion;
@@ -127,6 +126,7 @@ import org.apache.geode.cache.client.PoolFactory;
import org.apache.geode.cache.client.PoolManager;
import org.apache.geode.cache.client.internal.ClientMetadataService;
import org.apache.geode.cache.client.internal.ClientRegionFactoryImpl;
+import org.apache.geode.cache.client.internal.ConnectionImpl;
import org.apache.geode.cache.client.internal.InternalClientCache;
import org.apache.geode.cache.client.internal.PoolImpl;
import org.apache.geode.cache.control.ResourceManager;
@@ -213,6 +213,7 @@ import org.apache.geode.internal.net.SocketCreator;
import org.apache.geode.internal.offheap.MemoryAllocator;
import org.apache.geode.internal.process.ClusterConfigurationNotAvailableException;
import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.internal.security.SecurityServiceFactory;
import org.apache.geode.internal.sequencelog.SequenceLoggerImpl;
import org.apache.geode.internal.tcp.ConnectionTable;
import org.apache.geode.internal.util.concurrent.FutureResult;
@@ -324,8 +325,6 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
private static final Pattern DOUBLE_BACKSLASH = Pattern.compile("\\\\");
- private volatile ConfigurationResponse configurationResponse;
-
/** To test MAX_QUERY_EXECUTION_TIME option. */
public int testMaxQueryExecutionTime = -1;
@@ -812,10 +811,7 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
this.system = system;
this.dm = this.system.getDistributionManager();
- this.configurationResponse = loadClusterConfig();
-
- this.securityService = SecurityServiceFactory.create(cacheConfig, this.system.getConfig());
- this.system.setSecurityService(this.securityService);
+ this.securityService = this.system.getSecurityService();
if (!this.isClient && PoolManager.getAll().isEmpty()) {
// We only support management on members of a distributed system
@@ -935,18 +931,6 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
} // synchronized
}
- private ConfigurationResponse loadClusterConfig() {
- // request and check cluster configuration
- ConfigurationResponse configurationResponse = requestSharedConfiguration();
- deployJarsReceivedFromClusterConfiguration(configurationResponse);
-
- // apply the cluster's properties configuration and initialize security using that configuration
- ClusterConfigurationLoader.applyClusterPropertiesConfiguration(configurationResponse,
- this.system.getConfig());
-
- return configurationResponse;
- }
-
@Override
public SecurityService getSecurityService() {
return this.securityService;
@@ -1170,7 +1154,13 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
ClassPathLoader.setLatestToDefault(this.system.getConfig().getDeployWorkingDir());
- // Cluster Config request moved from here
+ // request and check cluster configuration
+ ConfigurationResponse configurationResponse = requestSharedConfiguration();
+ deployJarsReceivedFromClusterConfiguration(configurationResponse);
+
+ // apply the cluster's properties configuration and initialize security using that configuration
+ ClusterConfigurationLoader.applyClusterPropertiesConfiguration(this, configurationResponse,
+ this.system.getConfig());
SystemMemberCacheEventProcessor.send(this, Operation.CACHE_CREATE);
this.resourceAdvisor.initializationGate();
@@ -1194,11 +1184,11 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
boolean completedCacheXml = false;
try {
- if (this.configurationResponse == null) {
+ if (configurationResponse == null) {
// Deploy all the jars from the deploy working dir.
ClassPathLoader.getLatest().getJarDeployer().loadPreviouslyDeployedJarsFromDisk();
}
- ClusterConfigurationLoader.applyClusterXmlConfiguration(this, this.configurationResponse,
+ ClusterConfigurationLoader.applyClusterXmlConfiguration(this, configurationResponse,
this.system.getConfig());
initializeDeclarativeCache();
completedCacheXml = true;
@@ -1211,7 +1201,6 @@ public class GemFireCacheImpl implements InternalCache, InternalClientCache, Has
// I don't want init to throw an exception that came from the close.
// I want it to throw the original exception that came from initializeDeclarativeCache.
}
- this.configurationResponse = null;
}
}
http://git-wip-us.apache.org/repos/asf/geode/blob/a79d2cc1/geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithSecurityDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithSecurityDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithSecurityDUnitTest.java
index 41e9525..c551ca9 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithSecurityDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigWithSecurityDUnitTest.java
@@ -24,7 +24,6 @@ import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.io.FileUtils;
import org.apache.geode.distributed.internal.ClusterConfigurationService;
import org.apache.geode.distributed.internal.InternalLocator;
-import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.configuration.utils.ZipUtils;
import org.apache.geode.security.SimpleTestSecurityManager;
@@ -44,10 +43,7 @@ import java.util.Properties;
@Category({DistributedTest.class, SecurityTest.class})
public class ClusterConfigWithSecurityDUnitTest {
-
- private String clusterConfigZipPath;
- private MemberVM locator0;
- private Properties locatorProps;
+ public String clusterConfigZipPath;
@Rule
public LocatorServerStartupRule lsRule = new LocatorServerStartupRule();
@@ -55,6 +51,9 @@ public class ClusterConfigWithSecurityDUnitTest {
@Rule
public GfshShellConnectionRule connector = new GfshShellConnectionRule();
+ MemberVM locator0;
+ Properties locatorProps;
+
@Before
public void before() throws Exception {
clusterConfigZipPath = buildSecureClusterConfigZip();
@@ -65,8 +64,8 @@ public class ClusterConfigWithSecurityDUnitTest {
}
@Test
- @Ignore("Fails until GEODE-2315 is implemented")
- public void testSecurityPropsInheritanceOnLocator() throws Exception {
+ @Ignore("GEODE-2315")
+ public void testSecurityPropsInheritance() throws Exception {
locatorProps.clear();
locatorProps.setProperty(LOCATORS, "localhost[" + locator0.getPort() + "]");
locatorProps.setProperty("security-username", "cluster");
@@ -105,24 +104,6 @@ public class ClusterConfigWithSecurityDUnitTest {
});
}
- @Test // fails due to GEODE-3062
- public void testSecurityPropsInheritanceOnServer() throws Exception {
- Properties serverProps = new Properties();
- serverProps.setProperty(LOCATORS, "localhost[" + locator0.getPort() + "]");
- serverProps.setProperty("security-username", "cluster");
- serverProps.setProperty("security-password", "cluster");
- MemberVM server = lsRule.startServerVM(1, serverProps);
-
- // cluster config specifies a security-manager so integrated security should be enabled
- server.invoke(() -> {
- InternalCache cache = LocatorServerStartupRule.serverStarter.getCache();
- Properties properties = cache.getDistributedSystem().getSecurityProperties();
- assertThat(properties.getProperty(SECURITY_MANAGER))
- .isEqualTo(SimpleTestSecurityManager.class.getName());
- assertThat(cache.getSecurityService().isIntegratedSecurity()).isTrue();
- });
- }
-
private String buildSecureClusterConfigZip() throws Exception {
File clusterDir = lsRule.getTempFolder().newFolder("cluster");
File clusterSubDir = new File(clusterDir, "cluster");