From 56cdf4213e97a9d387bd45e1368bd86568ca8fad Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Mon, 2 Mar 2020 15:49:04 +0300 Subject: [PATCH] GG-27348 Implemented support for Ent/Ult agent. (#897) (cherry picked from commit b0c119c23adbf8723988fceac11a4affe05c592e) --- .../ignite/internal/GridKernalContext.java | 4 +- .../internal/GridKernalContextImpl.java | 10 +-- .../ignite/internal/IgniteComponentType.java | 4 +- .../apache/ignite/internal/IgniteKernal.java | 12 ++- .../reader/StandaloneGridKernalContext.java | 4 +- .../management/ManagementConfiguration.java | 54 ++++++------- ...r.java => ManagementConsoleProcessor.java} | 25 ++---- .../NoopManagementConsoleProcessor.java | 13 +++- .../ChangeManagementConfigurationTask.java | 10 +-- modules/management-console-agent/pom.xml | 14 ++-- ...essor.java => ManagementConsoleAgent.java} | 78 +++++++++++-------- .../controller/SecurityActionsController.java | 4 +- .../agent/processor/ClusterInfoProcessor.java | 23 +++++- .../ManagementConsoleMessagesProcessor.java | 4 +- .../action/DistributedActionProcessor.java | 8 +- .../processor/action/ExecuteActionTask.java | 17 ++-- .../processor/export/EventsExporter.java | 12 +-- .../export/NodesConfigurationExporter.java | 2 +- .../agent/processor/export/SpanExporter.java | 2 +- .../ignite/agent/ws/RetryableSender.java | 8 +- .../ignite/agent/AgentCommonAbstractTest.java | 11 +++ ...t.java => ManagementConsoleAgentTest.java} | 18 ++--- .../processor/ClusterInfoProcessorTest.java | 14 ++-- .../processor/export/EventsExporterTest.java | 2 +- .../processor/export/SpanExporterTest.java | 2 +- .../agent/testsuites/AgentTestSuite.java | 8 +- .../ignite/agent/ws/WebSocketManagerTest.java | 6 +- 27 files changed, 206 insertions(+), 163 deletions(-) rename modules/core/src/main/java/org/apache/ignite/internal/processors/management/{ManagementConsoleProcessorAdapter.java => ManagementConsoleProcessor.java} (56%) rename modules/management-console-agent/src/main/java/org/apache/ignite/agent/{ManagementConsoleProcessor.java => ManagementConsoleAgent.java} (87%) rename modules/management-console-agent/src/test/java/org/apache/ignite/agent/{ManagementConsoleProcessorTest.java => ManagementConsoleAgentTest.java} (81%) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java index 02a5ecc6a8126..2b296e4d999be 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContext.java @@ -49,9 +49,9 @@ import org.apache.ignite.internal.processors.diagnostic.DiagnosticProcessor; import org.apache.ignite.internal.processors.failure.FailureProcessor; import org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor; -import org.apache.ignite.internal.processors.management.ManagementConsoleProcessorAdapter; import org.apache.ignite.internal.processors.job.GridJobProcessor; import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.marshaller.GridMarshallerMappingProcessor; import org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage; import org.apache.ignite.internal.processors.metric.GridMetricManager; @@ -751,7 +751,7 @@ public interface GridKernalContext extends Iterable { /** * @return Control Center processor. */ - public ManagementConsoleProcessorAdapter managementConsole(); + public ManagementConsoleProcessor managementConsole(); /** * @return Local continuous tasks processor. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java index e0e7b5c5919d8..cb96fb98a921d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/GridKernalContextImpl.java @@ -67,7 +67,7 @@ import org.apache.ignite.internal.processors.diagnostic.DiagnosticProcessor; import org.apache.ignite.internal.processors.failure.FailureProcessor; import org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor; -import org.apache.ignite.internal.processors.management.ManagementConsoleProcessorAdapter; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.job.GridJobProcessor; import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor; import org.apache.ignite.internal.processors.marshaller.GridMarshallerMappingProcessor; @@ -331,7 +331,7 @@ public class GridKernalContextImpl implements GridKernalContext, Externalizable /** */ @GridToStringExclude - private ManagementConsoleProcessorAdapter mgmtConsoleProc; + private ManagementConsoleProcessor mgmtConsoleProc; /** */ @GridToStringExclude @@ -703,8 +703,8 @@ else if (comp instanceof DiagnosticProcessor) diagnosticProcessor = (DiagnosticProcessor)comp; else if (comp instanceof RollingUpgradeProcessor) rollingUpgradeProc = (RollingUpgradeProcessor)comp; - else if (comp instanceof ManagementConsoleProcessorAdapter) - mgmtConsoleProc = (ManagementConsoleProcessorAdapter)comp; + else if (comp instanceof ManagementConsoleProcessor) + mgmtConsoleProc = (ManagementConsoleProcessor)comp; else if (comp instanceof DurableBackgroundTasksProcessor) durableBackgroundTasksProcessor = (DurableBackgroundTasksProcessor)comp; else if (!(comp instanceof DiscoveryNodeValidationProcessor @@ -1290,7 +1290,7 @@ public void recoveryMode(boolean recoveryMode) { } /** {@inheritDoc} */ - @Override public ManagementConsoleProcessorAdapter managementConsole() { + @Override public ManagementConsoleProcessor managementConsole() { return mgmtConsoleProc; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java index 32484bf79c67b..edecbf44b61bb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteComponentType.java @@ -110,10 +110,10 @@ public enum IgniteComponentType { "ignite-opencensus" ), - /** Control Center. */ + /** Control Center agent. */ MANAGEMENT_CONSOLE( NoopManagementConsoleProcessor.class.getName(), - "org.apache.ignite.agent.ManagementConsoleProcessor", + "org.apache.ignite.agent.ManagementConsoleAgent", "ignite-management-console-agent", "org.apache.ignite.agent.processor.metrics.MetricsExporterMessageFactory" ); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java index 194cd9fe04788..30c6f09f26468 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgniteKernal.java @@ -151,6 +151,7 @@ import org.apache.ignite.internal.processors.job.GridJobProcessor; import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor; import org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.marshaller.GridMarshallerMappingProcessor; import org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageImpl; import org.apache.ignite.internal.processors.metric.GridMetricManager; @@ -1160,7 +1161,7 @@ public void start( startProcessor(new GridTaskSessionProcessor(ctx)); startProcessor(new GridJobProcessor(ctx)); startProcessor(new GridTaskProcessor(ctx)); - startProcessor((GridProcessor)SCHEDULE.createOptional(ctx)); + startProcessor(SCHEDULE.createOptional(ctx)); startProcessor(new GridRestProcessor(ctx)); startProcessor(new DataStreamProcessor(ctx)); startProcessor(new GridContinuousProcessor(ctx)); @@ -1172,7 +1173,7 @@ public void start( startProcessor(new DistributedMetaStorageImpl(ctx)); startProcessor(new DistributedConfigurationProcessor(ctx)); - startProcessor(MANAGEMENT_CONSOLE.createOptional(ctx)); + startProcessor(createComponent(ManagementConsoleProcessor.class, ctx)); startProcessor(new DurableBackgroundTasksProcessor(ctx)); // Start transactional data replication processor. @@ -4253,9 +4254,12 @@ private static T createComponent(Class cls, GridKer if (cls.equals(TransactionalDrProcessor.class)) return (T)new NoOpTransactionalDrProcessor(ctx); - if(cls.equals(GridSecurityProcessor.class)) + if (cls.equals(GridSecurityProcessor.class)) return null; + if (cls.equals(ManagementConsoleProcessor.class)) + return MANAGEMENT_CONSOLE.createOptional(ctx); + Class implCls = null; try { @@ -4422,7 +4426,7 @@ void waitPreviousReconnect() { try { reconnectDone.get(); } - catch (IgniteCheckedException ignote) { + catch (IgniteCheckedException ignored) { // No-op. } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java index 2162b9eb7d71f..bcc62dcd1b5f4 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/wal/reader/StandaloneGridKernalContext.java @@ -65,9 +65,9 @@ import org.apache.ignite.internal.processors.diagnostic.DiagnosticProcessor; import org.apache.ignite.internal.processors.failure.FailureProcessor; import org.apache.ignite.internal.processors.localtask.DurableBackgroundTasksProcessor; -import org.apache.ignite.internal.processors.management.ManagementConsoleProcessorAdapter; import org.apache.ignite.internal.processors.job.GridJobProcessor; import org.apache.ignite.internal.processors.jobmetrics.GridJobMetricsProcessor; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.marshaller.GridMarshallerMappingProcessor; import org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage; import org.apache.ignite.internal.processors.metric.GridMetricManager; @@ -718,7 +718,7 @@ protected IgniteConfiguration prepareIgniteConfiguration() { } /** {@inheritDoc} */ - @Override public ManagementConsoleProcessorAdapter managementConsole() { + @Override public ManagementConsoleProcessor managementConsole() { return null; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConfiguration.java index 66cf39e4ec72f..5375d5170e4ff 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConfiguration.java @@ -90,86 +90,86 @@ public ManagementConfiguration setEnabled(boolean enabled) { } /** - * @return Server URI. + * @return Control Center URI. */ public List getConsoleUris() { return consoleUris; } /** - * @param srvUri URI. + * @param consoleUris URI. * @return {@code this} for chaining. */ - public ManagementConfiguration setConsoleUris(List srvUri) { - this.consoleUris = srvUri; + public ManagementConfiguration setConsoleUris(List consoleUris) { + this.consoleUris = consoleUris; return this; } /** - * @return Server key store. + * @return Control Center key store. */ public String getConsoleKeyStore() { return consoleKeyStore; } /** - * @param srvKeyStore Server key store. + * @param consoleKeyStore Control Center key store. * @return {@code this} for chaining. */ - public ManagementConfiguration setConsoleKeyStore(String srvKeyStore) { - this.consoleKeyStore = srvKeyStore; + public ManagementConfiguration setConsoleKeyStore(String consoleKeyStore) { + this.consoleKeyStore = consoleKeyStore; return this; } /** - * @return Server key store password. + * @return Control Center key store password. */ public String getConsoleKeyStorePassword() { return consoleKeyStorePass; } /** - * @param srvKeyStorePass Server key store password. + * @param consoleKeyStorePass Control Center key store password. * @return {@code this} for chaining. */ - public ManagementConfiguration setConsoleKeyStorePassword(String srvKeyStorePass) { - this.consoleKeyStorePass = srvKeyStorePass; + public ManagementConfiguration setConsoleKeyStorePassword(String consoleKeyStorePass) { + this.consoleKeyStorePass = consoleKeyStorePass; return this; } /** - * @return Server trust store. + * @return Control Center trust store. */ public String getConsoleTrustStore() { return consoleTrustStore; } /** - * @param srvTrustStore Path to server trust store. + * @param consoleTrustStore Path to Control Center trust store. * @return {@code this} for chaining. */ - public ManagementConfiguration setConsoleTrustStore(String srvTrustStore) { - this.consoleTrustStore = srvTrustStore; + public ManagementConfiguration setConsoleTrustStore(String consoleTrustStore) { + this.consoleTrustStore = consoleTrustStore; return this; } /** - * @return Server trust store password. + * @return Control Center trust store password. */ public String getConsoleTrustStorePassword() { return consoleTrustStorePass; } /** - * @param srvTrustStorePass Server trust store password. + * @param consoleTrustStorePass Console trust store password. * @return {@code this} for chaining. */ - public ManagementConfiguration setConsoleTrustStorePassword(String srvTrustStorePass) { - this.consoleTrustStorePass = srvTrustStorePass; + public ManagementConfiguration setConsoleTrustStorePassword(String consoleTrustStorePass) { + this.consoleTrustStorePass = consoleTrustStorePass; return this; } @@ -199,10 +199,11 @@ public long getSecuritySessionTimeout() { } /** - * @param sesTimeout Session timeout in milliseconds. + * @param securitySesTimeout Session timeout in milliseconds. */ - public ManagementConfiguration setSecuritySessionTimeout(long sesTimeout) { - this.securitySesTimeout = sesTimeout; + public ManagementConfiguration setSecuritySessionTimeout(long securitySesTimeout) { + this.securitySesTimeout = securitySesTimeout; + return this; } @@ -214,10 +215,11 @@ public long getSecuritySessionExpirationTimeout() { } /** - * @param sesExpirationTimeout Session expiration timeout. + * @param securitySesExpirationTimeout Session expiration timeout. */ - public ManagementConfiguration setSecuritySessionExpirationTimeout(long sesExpirationTimeout) { - this.securitySesExpirationTimeout = sesExpirationTimeout; + public ManagementConfiguration setSecuritySessionExpirationTimeout(long securitySesExpirationTimeout) { + this.securitySesExpirationTimeout = securitySesExpirationTimeout; + return this; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessorAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessor.java similarity index 56% rename from modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessorAdapter.java rename to modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessor.java index a754af41be8d0..57776c7676d8b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessorAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/ManagementConsoleProcessor.java @@ -16,38 +16,23 @@ package org.apache.ignite.internal.processors.management; -import org.apache.ignite.internal.GridKernalContext; -import org.apache.ignite.internal.processors.GridProcessorAdapter; +import org.apache.ignite.internal.processors.GridProcessor; /** - * No-op implementation of Control Center agent, throws exception on usage attempt. + * Control Center processor. */ -public abstract class ManagementConsoleProcessorAdapter extends GridProcessorAdapter { - /** Management configuration instance. */ - protected ManagementConfiguration cfg = new ManagementConfiguration(); - - /** - * @param ctx Kernal context. - */ - protected ManagementConsoleProcessorAdapter(GridKernalContext ctx) { - super(ctx); - } - +public interface ManagementConsoleProcessor extends GridProcessor { /** * Sets the configuration. * * @param cfg Management configuration instance. */ - public void configuration(ManagementConfiguration cfg) { - this.cfg = cfg; - } + public void configuration(ManagementConfiguration cfg); /** * Gets the configuration. * * @return Management configuration instance. */ - public ManagementConfiguration configuration() { - return cfg; - } + public ManagementConfiguration configuration(); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/NoopManagementConsoleProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/NoopManagementConsoleProcessor.java index b48e791621339..e0ab6b40fe025 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/management/NoopManagementConsoleProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/management/NoopManagementConsoleProcessor.java @@ -17,15 +17,26 @@ package org.apache.ignite.internal.processors.management; import org.apache.ignite.internal.GridKernalContext; +import org.apache.ignite.internal.processors.GridProcessorAdapter; /** * No-op Control Center processor. */ -public class NoopManagementConsoleProcessor extends ManagementConsoleProcessorAdapter { +public class NoopManagementConsoleProcessor extends GridProcessorAdapter implements ManagementConsoleProcessor { /** * @param ctx Kernal context. */ public NoopManagementConsoleProcessor(GridKernalContext ctx) { super(ctx); } + + /** {@inheritDoc} */ + @Override public void configuration(ManagementConfiguration cfg) { + // No-op. + } + + /** {@inheritDoc} */ + @Override public ManagementConfiguration configuration() { + return null; + } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/management/ChangeManagementConfigurationTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/management/ChangeManagementConfigurationTask.java index 435dce2e7c1d8..6c0fba4cb32f6 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/management/ChangeManagementConfigurationTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/management/ChangeManagementConfigurationTask.java @@ -18,7 +18,7 @@ import org.apache.ignite.IgniteException; import org.apache.ignite.internal.processors.management.ManagementConfiguration; -import org.apache.ignite.internal.processors.management.ManagementConsoleProcessorAdapter; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.task.GridInternal; import org.apache.ignite.internal.processors.task.GridVisorManagementTask; import org.apache.ignite.internal.util.typedef.internal.S; @@ -58,12 +58,12 @@ private static class ChangeManagementConfigurationJob extends VisorJobprovided + + org.gridgain + ignite-indexing + ${project.version} + provided + + org.gridgain ignite-opencensus @@ -116,13 +123,6 @@ - - org.gridgain - ignite-indexing - ${project.version} - test - - org.gridgain ignite-core diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleProcessor.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleAgent.java similarity index 87% rename from modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleProcessor.java rename to modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleAgent.java index bf5be4776c54c..ac969d7daadf0 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleProcessor.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ManagementConsoleAgent.java @@ -41,11 +41,11 @@ import org.apache.ignite.agent.ws.WebSocketManager; import org.apache.ignite.events.DiscoveryEvent; import org.apache.ignite.internal.GridKernalContext; -import org.apache.ignite.internal.IgniteFeatures; import org.apache.ignite.internal.cluster.IgniteClusterImpl; import org.apache.ignite.internal.managers.discovery.DiscoCache; +import org.apache.ignite.internal.processors.GridProcessorAdapter; import org.apache.ignite.internal.processors.management.ManagementConfiguration; -import org.apache.ignite.internal.processors.management.ManagementConsoleProcessorAdapter; +import org.apache.ignite.internal.processors.management.ManagementConsoleProcessor; import org.apache.ignite.internal.processors.metastorage.DistributedMetaStorage; import org.apache.ignite.internal.processors.metastorage.ReadableDistributedMetaStorage; import org.apache.ignite.internal.util.typedef.F; @@ -69,14 +69,15 @@ import static org.apache.ignite.events.EventType.EVT_NODE_LEFT; import static org.apache.ignite.events.EventType.EVT_NODE_SEGMENTED; import static org.apache.ignite.internal.IgniteFeatures.CLUSTER_ID_AND_TAG; -import static org.apache.ignite.internal.IgniteFeatures.allNodesSupports; import static org.apache.ignite.internal.IgniteFeatures.TRACING; +import static org.apache.ignite.internal.IgniteFeatures.allNodesSupports; +import static org.apache.ignite.internal.IgniteFeatures.nodeSupports; import static org.apache.ignite.internal.util.IgniteUtils.isLocalNodeCoordinator; /** * Control Center agent. */ -public class ManagementConsoleProcessor extends ManagementConsoleProcessorAdapter { +public class ManagementConsoleAgent extends GridProcessorAdapter implements ManagementConsoleProcessor { /** Control Center configuration meta storage prefix. */ private static final String MANAGEMENT_CFG_META_STORAGE_PREFIX = "mgmt-console-cfg"; @@ -86,8 +87,11 @@ public class ManagementConsoleProcessor extends ManagementConsoleProcessorAdapte /** Discovery event on restart agent. */ private static final int[] EVTS_DISCOVERY = new int[] {EVT_NODE_FAILED, EVT_NODE_LEFT, EVT_NODE_SEGMENTED}; + /** Management configuration instance. */ + private ManagementConfiguration cfg = new ManagementConfiguration(); + /** Websocket manager. */ - private WebSocketManager mgr; + protected WebSocketManager mgr; /** Cluster processor. */ private ClusterInfoProcessor clusterProc; @@ -125,7 +129,7 @@ public class ManagementConsoleProcessor extends ManagementConsoleProcessorAdapte /** Session registry. */ private SessionRegistry sesRegistry; - /** Active server uri. */ + /** Active server URI. */ private String curSrvUri; /** If first connection error after successful connection. */ @@ -137,23 +141,23 @@ public class ManagementConsoleProcessor extends ManagementConsoleProcessorAdapte /** * @param ctx Kernal context. */ - public ManagementConsoleProcessor(GridKernalContext ctx) { + public ManagementConsoleAgent(GridKernalContext ctx) { super(ctx); } /** {@inheritDoc} */ @Override public void onKernalStart(boolean active) { if (isManagementConsoleFeaturesEnabled()) { - this.metaStorage = ctx.distributedMetastorage(); - this.evtsExporter = new EventsExporter(ctx); - this.metricExporter = new MetricsExporter(ctx); - this.actDispatcher = new ActionDispatcher(ctx); + metaStorage = ctx.distributedMetastorage(); + evtsExporter = new EventsExporter(ctx); + metricExporter = new MetricsExporter(ctx); + actDispatcher = new ActionDispatcher(ctx); if (isTracingEnabled()) - this.spanExporter = new SpanExporter(ctx); + spanExporter = new SpanExporter(ctx); else U.quietAndWarn(log, "Current Ignite configuration does not support tracing functionality" + - " and management console agent will not collect traces" + + " and control center agent will not collect traces" + " (consider adding ignite-opencensus module to classpath)."); // Connect to backend if local node is a coordinator or await coordinator change event. @@ -198,7 +202,7 @@ public ManagementConsoleProcessor(GridKernalContext ctx) { * Stop agent. */ private void disconnect() { - log.info("Stopping Management Console agent."); + log.info("Stopping Control Center agent."); U.shutdownNow(getClass(), connectPool, log); @@ -210,7 +214,12 @@ private void disconnect() { disconnected.set(false); - U.quietAndInfo(log, "Management console agent stopped."); + U.quietAndInfo(log, "Control Center agent stopped."); + } + + /** {@inheritDoc} */ + @Override public ManagementConfiguration configuration() { + return cfg; } /** {@inheritDoc} */ @@ -221,7 +230,7 @@ private void disconnect() { if (oldCfg.isEnabled() != cfg.isEnabled()) cfg = oldCfg.setEnabled(cfg.isEnabled()); - super.configuration(cfg); + this.cfg = cfg; writeToMetaStorage(cfg); @@ -263,7 +272,7 @@ public DistributedActionProcessor distributedActionProcessor() { * @return {@code True} if tracing is enable. */ boolean isTracingEnabled() { - return IgniteFeatures.nodeSupports(ctx, ctx.grid().localNode(), TRACING); + return nodeSupports(ctx, ctx.grid().localNode(), TRACING); } /** @@ -275,7 +284,7 @@ boolean isManagementConsoleFeaturesEnabled() { } /** - * Start agent on local node if this is coordinator node. + * Start agent on a local node if it is a coordinator node. */ private void launchAgentListener(DiscoveryEvent evt, DiscoCache discoCache) { if (isLocalNodeCoordinator(ctx.discovery()) && agentStarted.compareAndSet(false, true)) { @@ -288,7 +297,7 @@ private void launchAgentListener(DiscoveryEvent evt, DiscoCache discoCache) { } /** - * @param uris Management Console Server URIs. + * @param uris Control Center Server URIs. */ private String nextUri(List uris, String cur) { int idx = uris.indexOf(cur); @@ -333,10 +342,10 @@ else if ( ) ) { if (disconnected.compareAndSet(false, true)) - log.error("Failed to establish websocket connection with Management Console: " + curSrvUri); + log.error("Failed to establish websocket connection with Control Center: " + curSrvUri); } else - log.error("Failed to establish websocket connection with Management Console: " + curSrvUri, e); + log.error("Failed to establish websocket connection with Control Center: " + curSrvUri, e); } } } @@ -359,14 +368,14 @@ private void connect() { return; } - log.info("Starting Management Console agent on coordinator"); + log.info("Starting Control Center agent on coordinator"); - this.mgr = new WebSocketManager(ctx); - this.sesRegistry = new SessionRegistry(ctx); - this.clusterProc = new ClusterInfoProcessor(ctx, mgr); - this.metricProc = new MetricsProcessor(ctx, mgr); - this.distributedActProc = new DistributedActionProcessor(ctx); - this.cacheProc = new CacheChangesProcessor(ctx, mgr); + mgr = new WebSocketManager(ctx); + sesRegistry = new SessionRegistry(ctx); + clusterProc = createClusterInfoProcessor(); + metricProc = new MetricsProcessor(ctx, mgr); + distributedActProc = new DistributedActionProcessor(ctx); + cacheProc = new CacheChangesProcessor(ctx, mgr); evtsExporter.addGlobalEventListener(); @@ -420,6 +429,13 @@ private void writeToMetaStorage(ManagementConfiguration cfg) { } } + /** + * @return Cluster info processor. + */ + protected ClusterInfoProcessor createClusterInfoProcessor() { + return new ClusterInfoProcessor(ctx, mgr); + } + /** * Session handler for sending cluster info to backend. */ @@ -430,15 +446,15 @@ private class AfterConnectedSessionHandler extends StompSessionHandlerAdapter { U.quietAndInfo(log, ""); - U.quietAndInfo(log, "Found Management Console that can be used to monitor your cluster: " + curSrvUri); + U.quietAndInfo(log, "Found Control Center that can be used to monitor your cluster: " + curSrvUri); U.quietAndInfo(log, ""); U.quietAndInfo(log, "Open link in browser to monitor your cluster: " + monitoringUri(curSrvUri, cluster.id())); - U.quietAndInfo(log, "If you already using Management Console, you can add cluster manually by it's ID: " - + cluster.id()); + U.quietAndInfo(log, "If you are already using Control Center, you can add the cluster manually" + + " by its ID: " + cluster.id()); clusterProc.sendInitialState(); diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/action/controller/SecurityActionsController.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/action/controller/SecurityActionsController.java index 01b6f2650d0a5..a2f9951589cfb 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/action/controller/SecurityActionsController.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/action/controller/SecurityActionsController.java @@ -19,7 +19,7 @@ import org.apache.ignite.IgniteAuthenticationException; import org.apache.ignite.IgniteCheckedException; import org.apache.ignite.IgniteLogger; -import org.apache.ignite.agent.ManagementConsoleProcessor; +import org.apache.ignite.agent.ManagementConsoleAgent; import org.apache.ignite.agent.action.Session; import org.apache.ignite.agent.action.SessionRegistry; import org.apache.ignite.agent.action.annotation.ActionController; @@ -48,7 +48,7 @@ public class SecurityActionsController { public SecurityActionsController(GridKernalContext ctx) { this.ctx = ctx; this.log = ctx.log(SecurityActionsController.class); - this.registry = ((ManagementConsoleProcessor)ctx.managementConsole()).sessionRegistry(); + this.registry = ((ManagementConsoleAgent)ctx.managementConsole()).sessionRegistry(); } /** diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ClusterInfoProcessor.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ClusterInfoProcessor.java index 452f326cd45d5..2b23120b17401 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ClusterInfoProcessor.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ClusterInfoProcessor.java @@ -62,7 +62,7 @@ public class ClusterInfoProcessor extends GridProcessorAdapter { }; /** Cluster. */ - private IgniteClusterEx cluster; + protected IgniteClusterEx cluster; /** Manager. */ private WebSocketManager mgr; @@ -129,7 +129,25 @@ void sendClusterInfo(Event evt) { if (log.isDebugEnabled()) log.debug("Sending cluster info to Control Center"); - ClusterInfo clusterInfo = new ClusterInfo(cluster.id(), cluster.tag()) + ClusterInfo clusterInfo = createClusterInfo(); + + populateClusterInfo(clusterInfo); + + mgr.send(buildClusterDest(cluster.id()), clusterInfo); + } + + /** + * @return Create cluster info. + */ + protected ClusterInfo createClusterInfo() { + return new ClusterInfo(cluster.id(), cluster.tag()); + } + + /** + * @param clusterInfo Cluster info to populate with data. + */ + protected void populateClusterInfo(ClusterInfo clusterInfo) { + clusterInfo .setActive(cluster.active()) .setPersistenceEnabled(CU.isPersistenceEnabled(ctx.config())) .setBaselineParameters( @@ -141,7 +159,6 @@ void sendClusterInfo(Event evt) { .setSecure(ctx.authentication().enabled() || ctx.security().enabled()) .setFeatures(getClusterFeatures(ctx, ctx.cluster().get().nodes())); - mgr.send(buildClusterDest(cluster.id()), clusterInfo); } /** {@inheritDoc} */ diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ManagementConsoleMessagesProcessor.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ManagementConsoleMessagesProcessor.java index 907ac30f48482..f1961ee53bcdd 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ManagementConsoleMessagesProcessor.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/ManagementConsoleMessagesProcessor.java @@ -25,7 +25,7 @@ import org.apache.ignite.internal.visor.event.VisorGridEvent; import org.apache.ignite.lang.IgniteBiPredicate; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; import static org.apache.ignite.agent.StompDestinationsUtils.buildClusterNodeConfigurationDest; import static org.apache.ignite.agent.StompDestinationsUtils.buildEventsDest; import static org.apache.ignite.agent.StompDestinationsUtils.buildSaveSpanDest; @@ -47,7 +47,7 @@ public class ManagementConsoleMessagesProcessor extends GridProcessorAdapter { public ManagementConsoleMessagesProcessor(GridKernalContext ctx) { super(ctx); - this.snd = new RetryableSender(ctx); + snd = new RetryableSender(ctx); ctx.grid().message().localListen(TOPIC_MANAGEMENT_CONSOLE, lsnr); } diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/DistributedActionProcessor.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/DistributedActionProcessor.java index 220baf77d02ef..3ecdb9fd0f885 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/DistributedActionProcessor.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/DistributedActionProcessor.java @@ -18,7 +18,7 @@ import java.util.UUID; import org.apache.ignite.IgniteAuthenticationException; -import org.apache.ignite.agent.ManagementConsoleProcessor; +import org.apache.ignite.agent.ManagementConsoleAgent; import org.apache.ignite.agent.action.Session; import org.apache.ignite.agent.action.SessionRegistry; import org.apache.ignite.agent.dto.action.InvalidRequest; @@ -61,9 +61,9 @@ public class DistributedActionProcessor extends GridProcessorAdapter { public DistributedActionProcessor(GridKernalContext ctx) { super(ctx); - this.mgr = ((ManagementConsoleProcessor)ctx.managementConsole()).webSocketManager(); - this.sesRegistry = ((ManagementConsoleProcessor)ctx.managementConsole()).sessionRegistry(); - this.locNodeConsistentId = String.valueOf(ctx.grid().localNode().consistentId()); + mgr = ((ManagementConsoleAgent)ctx.managementConsole()).webSocketManager(); + sesRegistry = ((ManagementConsoleAgent)ctx.managementConsole()).sessionRegistry(); + locNodeConsistentId = String.valueOf(ctx.grid().localNode().consistentId()); } /** diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/ExecuteActionTask.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/ExecuteActionTask.java index 2f0ba8d4c9cd1..db0af9198c5fe 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/ExecuteActionTask.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/action/ExecuteActionTask.java @@ -22,7 +22,7 @@ import java.util.stream.Collectors; import org.apache.ignite.IgniteException; import org.apache.ignite.IgniteLogger; -import org.apache.ignite.agent.ManagementConsoleProcessor; +import org.apache.ignite.agent.ManagementConsoleAgent; import org.apache.ignite.agent.dto.action.JobResponse; import org.apache.ignite.agent.dto.action.Request; import org.apache.ignite.agent.dto.action.TaskResponse; @@ -77,8 +77,9 @@ public class ExecuteActionTask extends ComputeTaskAdapter /** {@inheritDoc} */ @Override public ComputeJobResultPolicy result(ComputeJobResult res, List rcvd) throws IgniteException { JobResponse jobRes = res.getData(); + DistributedActionProcessor proc = - ((ManagementConsoleProcessor)ignite.context().managementConsole()).distributedActionProcessor(); + ((ManagementConsoleAgent)ignite.context().managementConsole()).distributedActionProcessor(); if (res.getException() != null || jobRes.getStatus() == FAILED) hasFailedJobs = true; @@ -86,10 +87,7 @@ public class ExecuteActionTask extends ComputeTaskAdapter if (res.getException() == null) proc.sendJobResponse(jobRes); else { - log.error( - String.format("Failed to execute job, send response with error: [reqId=%s]", reqId), - res.getException() - ); + log.error("Failed to execute the job, will send response with error to request: " + reqId, res.getException()); proc.sendJobResponse(convertToErrorJobResponse(reqId, consistentId, res.getException())); } @@ -102,12 +100,13 @@ public class ExecuteActionTask extends ComputeTaskAdapter reqId = arg.getId(); jobCnt = subgrid.size(); consistentId = String.valueOf(ignite.localNode().consistentId()); - DistributedActionProcessor proc = - ((ManagementConsoleProcessor)ignite.context().managementConsole()).distributedActionProcessor(); Map map = subgrid.stream() .collect(Collectors.toMap(n -> new ExecuteActionJob(arg), identity())); + DistributedActionProcessor proc = + ((ManagementConsoleAgent)ignite.context().managementConsole()).distributedActionProcessor(); + proc.sendTaskResponse( new TaskResponse() .setId(reqId) @@ -160,7 +159,7 @@ public ExecuteActionJob(Request arg) { jobCtx.holdcc(); - ManagementConsoleProcessor agent = (ManagementConsoleProcessor)ignite.context().managementConsole(); + ManagementConsoleAgent agent = (ManagementConsoleAgent)ignite.context().managementConsole(); agent.actionDispatcher().dispatch(req) .thenApply(IgniteFuture::get) diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/EventsExporter.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/EventsExporter.java index dc82914c7cb46..1dad2175dc89e 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/EventsExporter.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/EventsExporter.java @@ -23,7 +23,7 @@ import org.apache.ignite.internal.visor.event.VisorGridEvent; import org.apache.ignite.internal.visor.util.VisorEventMapper; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; import static org.apache.ignite.events.EventType.EVTS_CACHE_LIFECYCLE; import static org.apache.ignite.events.EventType.EVTS_CLUSTER_ACTIVATION; import static org.apache.ignite.events.EventType.EVTS_DISCOVERY; @@ -57,21 +57,21 @@ public EventsExporter(GridKernalContext ctx) { * Adds local event listener. */ public void addLocalEventListener() { - this.ctx.event().enableEvents(LOCAL_EVT_TYPES); - this.ctx.event().addLocalEventListener(lsnr, LOCAL_EVT_TYPES); + ctx.event().enableEvents(LOCAL_EVT_TYPES); + ctx.event().addLocalEventListener(lsnr, LOCAL_EVT_TYPES); } /** * Adds global event listener. */ public void addGlobalEventListener() { - this.ctx.event().enableEvents(GLOBAL_EVT_TYPES); - this.ctx.event().addLocalEventListener(lsnr, GLOBAL_EVT_TYPES); + ctx.event().enableEvents(GLOBAL_EVT_TYPES); + ctx.event().addLocalEventListener(lsnr, GLOBAL_EVT_TYPES); } /** {@inheritDoc} */ @Override public void stop(boolean cancel) { - this.ctx.event().removeLocalEventListener(lsnr, concat(LOCAL_EVT_TYPES, GLOBAL_EVT_TYPES)); + ctx.event().removeLocalEventListener(lsnr, concat(LOCAL_EVT_TYPES, GLOBAL_EVT_TYPES)); } /** diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/NodesConfigurationExporter.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/NodesConfigurationExporter.java index 39f286cba64d8..da35696cf2ae1 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/NodesConfigurationExporter.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/NodesConfigurationExporter.java @@ -23,7 +23,7 @@ import org.apache.ignite.internal.GridKernalContext; import org.apache.ignite.internal.processors.GridProcessorAdapter; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; import static org.apache.ignite.agent.utils.AgentObjectMapperFactory.jsonMapper; /** diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/SpanExporter.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/SpanExporter.java index 839057cc5e55c..6bc031cd3a106 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/SpanExporter.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/processor/export/SpanExporter.java @@ -40,7 +40,7 @@ import static java.util.concurrent.TimeUnit.NANOSECONDS; import static java.util.concurrent.TimeUnit.SECONDS; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; /** * Span exporter which send spans to coordinator. diff --git a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ws/RetryableSender.java b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ws/RetryableSender.java index 0e28488f3bc67..2e6d8917779d2 100644 --- a/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ws/RetryableSender.java +++ b/modules/management-console-agent/src/main/java/org/apache/ignite/agent/ws/RetryableSender.java @@ -22,7 +22,7 @@ import java.util.concurrent.BlockingQueue; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import org.apache.ignite.agent.ManagementConsoleProcessor; +import org.apache.ignite.agent.ManagementConsoleAgent; import org.apache.ignite.internal.GridKernalContext; import org.apache.ignite.internal.processors.GridProcessorAdapter; import org.apache.ignite.internal.util.typedef.X; @@ -61,8 +61,8 @@ public class RetryableSender extends GridProcessorAdapter implements Runnable { public RetryableSender(GridKernalContext ctx) { super(ctx); - this.queue = new ArrayBlockingQueue<>(DEFAULT_QUEUE_CAP); - this.exSrvc = Executors.newSingleThreadExecutor(new CustomizableThreadFactory("mgmt-console-sender-")); + queue = new ArrayBlockingQueue<>(DEFAULT_QUEUE_CAP); + exSrvc = Executors.newSingleThreadExecutor(new CustomizableThreadFactory("mgmt-console-sender-")); exSrvc.submit(this); } @@ -97,7 +97,7 @@ public RetryableSender(GridKernalContext ctx) { boolean sendInternal(String dest, List elements) throws InterruptedException { Thread.sleep(Math.min(MAX_SLEEP_TIME_SECONDS, retryCnt) * 1000); - WebSocketManager mgr = ((ManagementConsoleProcessor)ctx.managementConsole()).webSocketManager(); + WebSocketManager mgr = ((ManagementConsoleAgent)ctx.managementConsole()).webSocketManager(); if (mgr != null && !mgr.send(dest, elements)) { retryCnt++; diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/AgentCommonAbstractTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/AgentCommonAbstractTest.java index c93d5c5be974a..e9f658898f08d 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/AgentCommonAbstractTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/AgentCommonAbstractTest.java @@ -39,6 +39,7 @@ import org.apache.ignite.testframework.junits.WithSystemProperty; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; import org.junit.After; +import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.embedded.LocalServerPort; @@ -97,6 +98,16 @@ public abstract class AgentCommonAbstractTest extends GridCommonAbstractTest { /** Cluster. */ protected IgniteClusterEx cluster; + /** + * Stop all grids and clear persistence dir. + */ + @Before + public void cleanup() throws Exception { + stopAllGrids(); + + cleanPersistenceDir(); + } + /** * Stop all grids and clear persistence dir. */ diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleProcessorTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleAgentTest.java similarity index 81% rename from modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleProcessorTest.java rename to modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleAgentTest.java index 2ecea052f81a1..fb61596965fe6 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleProcessorTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ManagementConsoleAgentTest.java @@ -36,7 +36,7 @@ /** * Control Center processor test. */ -public class ManagementConsoleProcessorTest extends AgentCommonAbstractTest { +public class ManagementConsoleAgentTest extends AgentCommonAbstractTest { /** * Launch three nodes. * Await agent launch. @@ -76,15 +76,12 @@ public void shouldLoadConfigurationProperly() throws Exception { /** * Control Center processor with mock context test. */ - public static class ManagementConsoleProcessorWithMockContextTest extends AbstractServiceTest { + public static class ManagementConsoleAgentWithMockContextTest extends AbstractServiceTest { /** * GG-26201 - Testcase 5: * * 1. Mock `isTracingEnabled()` method to return false - * 2. Verify the warning message** is present in log after start - * - * ** "Current Ignite configuration does not support tracing functionality and management console agent will - * not collect traces (consider adding ignite-opencensus module to classpath)." + * 2. Verify the warning message is present in log after start. */ @Test public void shouldNotCreateSpanExporterIfNodeNotSupportTracingFeature() { @@ -104,17 +101,18 @@ public void shouldNotCreateSpanExporterIfNodeNotSupportTracingFeature() { when(ctx.io()).thenReturn(ioMgr); - ManagementConsoleProcessor proc = spy(new ManagementConsoleProcessor(ctx)); + ManagementConsoleAgent proc = spy(new ManagementConsoleAgent(ctx)); doReturn(false).when(proc).isTracingEnabled(); doReturn(true).when(proc).isManagementConsoleFeaturesEnabled(); proc.onKernalStart(true); - IgniteLogger log = ctx.log(ManagementConsoleProcessor.class); + IgniteLogger log = ctx.log(ManagementConsoleAgent.class); - verify(log).warning("Current Ignite configuration does not support tracing functionality and management" + - " console agent will not collect traces (consider adding ignite-opencensus module to classpath).", null); + verify(log).warning("Current Ignite configuration does not support tracing functionality" + + " and control center agent will not collect traces" + + " (consider adding ignite-opencensus module to classpath).", null); } } } diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/ClusterInfoProcessorTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/ClusterInfoProcessorTest.java index 1ae8d56a8f56f..450dd46489de1 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/ClusterInfoProcessorTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/ClusterInfoProcessorTest.java @@ -28,7 +28,6 @@ import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.cluster.IgniteClusterEx; import org.apache.ignite.internal.util.typedef.internal.CU; -import org.junit.Assert; import org.junit.Test; import static org.apache.ignite.agent.StompDestinationsUtils.buildClusterDest; @@ -52,6 +51,7 @@ public void shouldSendInitialStates() throws Exception { cluster.active(true); assertWithPoll(() -> interceptor.getPayload(buildClusterTopologyDest(cluster.id())) != null); + assertWithPoll(() -> { ClusterInfo info = interceptor.getPayload(buildClusterDest(cluster.id()), ClusterInfo.class); @@ -60,12 +60,12 @@ public void shouldSendInitialStates() throws Exception { Set features = AgentUtils.getClusterFeatures(ignite.context(), cluster.nodes()); - Assert.assertEquals(cluster.id(), info.getId()); - Assert.assertEquals(cluster.tag(), info.getTag()); - Assert.assertEquals(cluster.baselineAutoAdjustTimeout(), info.getBaselineParameters().getAutoAdjustAwaitingTime()); - Assert.assertEquals(cluster.isBaselineAutoAdjustEnabled(), info.getBaselineParameters().isAutoAdjustEnabled()); - Assert.assertEquals(CU.isPersistenceEnabled(ignite.configuration()), info.isPersistenceEnabled()); - Assert.assertEquals(features, info.getFeatures()); + assertEquals(cluster.id(), info.getId()); + assertEquals(cluster.tag(), info.getTag()); + assertEquals(cluster.baselineAutoAdjustTimeout(), info.getBaselineParameters().getAutoAdjustAwaitingTime()); + assertEquals(cluster.isBaselineAutoAdjustEnabled(), info.getBaselineParameters().isAutoAdjustEnabled()); + assertEquals(CU.isPersistenceEnabled(ignite.configuration()), info.isPersistenceEnabled()); + assertEquals(features, info.getFeatures()); return true; }); diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/EventsExporterTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/EventsExporterTest.java index fa8676ebda263..a2164c8357c9e 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/EventsExporterTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/EventsExporterTest.java @@ -26,7 +26,7 @@ import org.junit.Test; import org.mockito.ArgumentCaptor; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; import static org.apache.ignite.events.EventType.EVT_NODE_LEFT; import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/SpanExporterTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/SpanExporterTest.java index f4f95942a6580..8cfcdc355f34a 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/SpanExporterTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/processor/export/SpanExporterTest.java @@ -40,7 +40,7 @@ import org.mockito.ArgumentCaptor; import static io.opencensus.trace.TraceOptions.DEFAULT; -import static org.apache.ignite.agent.ManagementConsoleProcessor.TOPIC_MANAGEMENT_CONSOLE; +import static org.apache.ignite.agent.ManagementConsoleAgent.TOPIC_MANAGEMENT_CONSOLE; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.timeout; import static org.mockito.Mockito.verify; diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/testsuites/AgentTestSuite.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/testsuites/AgentTestSuite.java index 9d6a0ee908470..e498077328b29 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/testsuites/AgentTestSuite.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/testsuites/AgentTestSuite.java @@ -16,8 +16,8 @@ package org.apache.ignite.agent.testsuites; -import org.apache.ignite.agent.ManagementConsoleProcessorTest; -import org.apache.ignite.agent.ManagementConsoleProcessorTest.ManagementConsoleProcessorWithMockContextTest; +import org.apache.ignite.agent.ManagementConsoleAgentTest; +import org.apache.ignite.agent.ManagementConsoleAgentTest.ManagementConsoleAgentWithMockContextTest; import org.apache.ignite.agent.action.SessionRegistryTest; import org.apache.ignite.agent.action.annotation.ActionControllerAnnotationReaderTest; import org.apache.ignite.agent.action.controller.ActionControllerBaseTest; @@ -53,8 +53,8 @@ */ @RunWith(Suite.class) @Suite.SuiteClasses({ - ManagementConsoleProcessorTest.class, - ManagementConsoleProcessorWithMockContextTest.class, + ManagementConsoleAgentTest.class, + ManagementConsoleAgentWithMockContextTest.class, SessionRegistryTest.class, ActionControllerAnnotationReaderTest.class, ActionControllerBaseTest.class, diff --git a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ws/WebSocketManagerTest.java b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ws/WebSocketManagerTest.java index 75380d5739b9d..fbf822a3a802c 100644 --- a/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ws/WebSocketManagerTest.java +++ b/modules/management-console-agent/src/test/java/org/apache/ignite/agent/ws/WebSocketManagerTest.java @@ -23,7 +23,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import org.apache.ignite.agent.AgentCommonAbstractTest; -import org.apache.ignite.agent.ManagementConsoleProcessor; +import org.apache.ignite.agent.ManagementConsoleAgent; import org.apache.ignite.agent.config.WebSocketConfig; import org.apache.ignite.internal.IgniteEx; import org.apache.ignite.internal.processors.management.ManagementConfiguration; @@ -50,7 +50,7 @@ public void shouldSendParallelMessages() throws Exception { IgniteEx ignite = startGrid(0); changeManagementConsoleConfig(ignite); - WebSocketManager mgr = ((ManagementConsoleProcessor)ignite.context().managementConsole()).webSocketManager(); + WebSocketManager mgr = ((ManagementConsoleAgent)ignite.context().managementConsole()).webSocketManager(); ExecutorService srv = Executors.newFixedThreadPool(2); List list = new ArrayList<>(); @@ -60,7 +60,7 @@ public void shouldSendParallelMessages() throws Exception { list.add(runAsync(() -> mgr.send("/topic/second", 2), srv)); } - CompletableFuture.allOf(list.toArray(new CompletableFuture[list.size()])).get(10, TimeUnit.SECONDS); + CompletableFuture.allOf(list.toArray(new CompletableFuture[0])).get(10, TimeUnit.SECONDS); assertWithPoll(() -> interceptor.getAllPayloads("/topic/first", String.class).size() == 500); assertWithPoll(() -> interceptor.getAllPayloads("/topic/second", String.class).size() == 500);