[Bug]: SolaceContainer misses permissions when using non-default VPN
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: de40ad0What 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
- provision queues
- create flows
(and maybe more)
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.