[Bug]: SolaceContainer misses permissions when using non-default VPN (original) (raw)

Module

Solace

Testcontainers version

1.21.1

Using the latest Testcontainers version?

Yes

Host OS

Linux

Host Arch

x86

Docker version

Client: Version: 27.5.1 API version: 1.47 Go version: go1.22.11 Git commit: a187fa5 Built: Mon Jan 27 19:24:21 2025 OS/Arch: linux/amd64 Context: default

Server: Engine: Version: 27.5.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.11 Git commit: 4c9b3b0 Built: Mon Jan 27 19:24:57 2025 OS/Arch: linux/amd64 Experimental: false containerd: Version: v1.7.25 GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb runc: Version: 1.2.4 GitCommit:
docker-init: Version: 0.19.0 GitCommit: de40ad0

What happened?

When using a custom VPN like new SolaceContainer("solace/solace-pubsub-standard:10.11.1.147").withVpn("myVpn") some permissions (capabilities?) seem to be missing, as one can no longer

Running the same code omitting .withVpn("myVpn") works just fine.

Relevant log output

Stacktrace when provisioning:

com.solacesystems.jcsmp.AccessDeniedException: Permission Not Allowed at com.solacesystems.jcsmp.impl.SessionModeSupport.provision(SessionModeSupport.java:734) at com.solacesystems.jcsmp.impl.JCSMPBasicSession.provision(JCSMPBasicSession.java:1420) [redacted frames from custom code] Caused by: com.solacesystems.jcsmp.JCSMPErrorResponseException: 403: Permission Not Allowed at com.solacesystems.jcsmp.impl.SessionModeSupport.provision(SessionModeSupport.java:655) ... 15 common frames omitted

Stacktrace when creating flows:

com.solacesystems.jcsmp.InvalidOperationException: Capability Mismatch: Router does not support guaranteed subscriber flows.

at com.solacesystems.jcsmp.impl.SessionModeSupport.createFlow(SessionModeSupport.java:204)
at com.solacesystems.jcsmp.impl.SessionModeSupport.createFlow(SessionModeSupport.java:173)
at com.solacesystems.jcsmp.impl.JCSMPBasicSession.createFlow(JCSMPBasicSession.java:1049)

Additional Information

Using image versions 10.8, 10.8.1.152 or latest (i.e. 10.11.1.167) yield the same results.