Skip to content

Fix docker connectivity for E2E tests on mac #48

Description

@jonbarksdale

End to end tests are failing on mac with what appear to be docker related connection issues.

For a clean build, use this:

./gradlew clean build test -Pinteg -Pe2e

Or for incremental test runs, use this

./gradlew test -Pinteg -Pe2e

The docker compose up step is failing, and it appears as though one node fails to connect to the control plane.

You can verify this manually on a mac by going into the java/endToEnd directory, and doing a docker compose up node. One of the nodes will fail with an exception like this

endtoend-node-2  | java.lang.IllegalStateException: Unable to register
endtoend-node-2  | 	at org.svarm.node.manager.RealControlPlaneManager.lambda$getStatus$3(RealControlPlaneManager.java:123)
endtoend-node-2  | 	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
endtoend-node-2  | 	at org.svarm.node.manager.RealControlPlaneManager.getStatus(RealControlPlaneManager.java:123)
endtoend-node-2  | 	at org.svarm.node.manager.RealControlPlaneManager.lambda$keyForNode$0(RealControlPlaneManager.java:91)
endtoend-node-2  | 	at io.micrometer.core.instrument.AbstractTimer.record(AbstractTimer.java:163)
endtoend-node-2  | 	at com.codeheadsystems.metrics.Metrics.time(Metrics.java:204)
endtoend-node-2  | 	at com.codeheadsystems.metrics.Metrics.time(Metrics.java:166)
endtoend-node-2  | 	at com.codeheadsystems.metrics.Metrics.time(Metrics.java:136)
endtoend-node-2  | 	at org.svarm.node.manager.RealControlPlaneManager.keyForNode(RealControlPlaneManager.java:90)
endtoend-node-2  | 	at org.svarm.node.engine.impl.HsqlDatabaseEngine.getInternalConnectionUrl(HsqlDatabaseEngine.java:141)
endtoend-node-2  | 	at org.svarm.node.engine.impl.HsqlDatabaseEngine.internalDataSource(HsqlDatabaseEngine.java:122)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule.internalDataSource(DataSourceModule.java:60)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_InternalDataSourceFactory.internalDataSource(DataSourceModule_InternalDataSourceFactory.java:55)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_InternalDataSourceFactory.get(DataSourceModule_InternalDataSourceFactory.java:44)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_InternalDataSourceFactory.get(DataSourceModule_InternalDataSourceFactory.java:14)
endtoend-node-2  | 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_InternalJdbiFactory.get(DataSourceModule_InternalJdbiFactory.java:43)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_InternalJdbiFactory.get(DataSourceModule_InternalJdbiFactory.java:14)
endtoend-node-2  | 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_TenantTableDaoFactory.get(DataSourceModule_TenantTableDaoFactory.java:39)
endtoend-node-2  | 	at org.svarm.node.module.DataSourceModule_TenantTableDaoFactory.get(DataSourceModule_TenantTableDaoFactory.java:13)
endtoend-node-2  | 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
endtoend-node-2  | 	at org.svarm.node.manager.TenantTableManager_Factory.get(TenantTableManager_Factory.java:58)
endtoend-node-2  | 	at org.svarm.node.manager.TenantTableManager_Factory.get(TenantTableManager_Factory.java:17)
endtoend-node-2  | 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
endtoend-node-2  | 	at org.svarm.node.manager.ControlPlaneWatcherManager_Factory.get(ControlPlaneWatcherManager_Factory.java:52)
endtoend-node-2  | 	at org.svarm.node.manager.ControlPlaneWatcherManager_Factory.get(ControlPlaneWatcherManager_Factory.java:13)
endtoend-node-2  | 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
endtoend-node-2  | 	at org.svarm.node.component.DaggerNodeDropWizardComponent$NodeDropWizardComponentImpl.managedObjects(DaggerNodeDropWizardComponent.java:517)
endtoend-node-2  | 	at org.svarm.server.Server.run(Server.java:73)
endtoend-node-2  | 	at org.svarm.server.Server.run(Server.java:35)
endtoend-node-2  | 	at io.dropwizard.core.cli.EnvironmentCommand.run(EnvironmentCommand.java:66)
endtoend-node-2  | 	at io.dropwizard.core.cli.ConfiguredCommand.run(ConfiguredCommand.java:98)
endtoend-node-2  | 	at io.dropwizard.core.cli.Cli.run(Cli.java:78)
endtoend-node-2  | 	at io.dropwizard.core.Application.run(Application.java:94)
endtoend-node-2  | 	at org.svarm.node.Node.main(Node.java:49)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

Status
Backlog

Relationships

None yet

Development

No branches or pull requests

Issue actions