Captures uncommitted work that lived in the working tree on
v2-mxgw-integration but was orthogonal to the migration. Stashed
during the v2-mxgw merge to master (2026-04-30) and replanted here on
a feature branch off master so it's git-visible rather than living in
the stash list.
Two distinct buckets:
1. Tracked fixture/config refinements (10 files, ~36 lines):
- scripts/e2e/test-opcuaclient.ps1
- src/ZB.MOM.WW.OtOpcUa.Admin/appsettings.json
- 5 docker-compose.yml under tests/.../IntegrationTests/Docker/
(AbCip, Modbus, OpcUaClient, S7)
- 4 fixture .cs files (AbServerFixture, ModbusSimulatorFixture,
OpcPlcFixture, Snap7ServerFixture)
2. Untracked driver-gaps queue artifacts (~8000 lines):
- docs/plans/{abcip,ablegacy,focas,opcuaclient,s7,twincat}-plan.md
— per-driver gap plans
- docs/featuregaps.md — cross-cutting analysis
- docs/v2/focas-deployment.md, docs/v2/implementation/focas-simulator-plan.md
- followup.md — auto/driver-gaps queue follow-ups
- scripts/queue/ — PR-queue automation tooling (12 files including
pr-manifest.yaml at 1473 lines)
This commit is a snapshot for recoverability — review and split into
focused PRs (or discard) before merging anywhere downstream.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
106 lines
2.7 KiB
YAML
106 lines
2.7 KiB
YAML
# AB CIP integration-test fixture — ab_server (libplctag).
|
|
#
|
|
# One service per family. All bind :44818 on the host; only one runs at a
|
|
# time. Commands mirror the CLI args AbServerProfile.cs constructs for the
|
|
# native-binary path.
|
|
#
|
|
# Usage:
|
|
# docker compose --profile controllogix up
|
|
# docker compose --profile compactlogix up
|
|
# docker compose --profile micro800 up
|
|
# docker compose --profile guardlogix up
|
|
services:
|
|
controllogix:
|
|
profiles: ["controllogix"]
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: otopcua-ab-server:libplctag-release
|
|
container_name: otopcua-ab-server-controllogix
|
|
labels:
|
|
project: lmxopcua
|
|
restart: "no"
|
|
ports:
|
|
- "44818:44818"
|
|
command: [
|
|
"ab_server",
|
|
"--plc=ControlLogix",
|
|
"--path=1,0",
|
|
"--port=44818",
|
|
"--tag=TestDINT:DINT[1]",
|
|
"--tag=TestREAL:REAL[1]",
|
|
"--tag=TestBOOL:BOOL[1]",
|
|
"--tag=TestSINT:SINT[1]",
|
|
"--tag=TestString:STRING[1]",
|
|
"--tag=TestArray:DINT[16]"
|
|
]
|
|
|
|
compactlogix:
|
|
profiles: ["compactlogix"]
|
|
image: otopcua-ab-server:libplctag-release
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: otopcua-ab-server-compactlogix
|
|
labels:
|
|
project: lmxopcua
|
|
restart: "no"
|
|
ports:
|
|
- "44818:44818"
|
|
# ab_server doesn't distinguish CompactLogix from ControlLogix — no
|
|
# dedicated --plc mode. Driver-side ConnectionSize cap is enforced
|
|
# separately (see AbServerProfile.CompactLogix Notes).
|
|
command: [
|
|
"ab_server",
|
|
"--plc=ControlLogix",
|
|
"--path=1,0",
|
|
"--port=44818",
|
|
"--tag=TestDINT:DINT[1]",
|
|
"--tag=TestREAL:REAL[1]",
|
|
"--tag=TestBOOL:BOOL[1]"
|
|
]
|
|
|
|
micro800:
|
|
profiles: ["micro800"]
|
|
image: otopcua-ab-server:libplctag-release
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: otopcua-ab-server-micro800
|
|
labels:
|
|
project: lmxopcua
|
|
restart: "no"
|
|
ports:
|
|
- "44818:44818"
|
|
# ab_server does have a Micro800 plc mode (unconnected-only, empty path).
|
|
command: [
|
|
"ab_server",
|
|
"--plc=Micro800",
|
|
"--port=44818",
|
|
"--tag=TestDINT:DINT[1]",
|
|
"--tag=TestREAL:REAL[1]"
|
|
]
|
|
|
|
guardlogix:
|
|
profiles: ["guardlogix"]
|
|
image: otopcua-ab-server:libplctag-release
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: otopcua-ab-server-guardlogix
|
|
labels:
|
|
project: lmxopcua
|
|
restart: "no"
|
|
ports:
|
|
- "44818:44818"
|
|
# ab_server has no safety subsystem — _S suffix triggers driver-side
|
|
# classification only.
|
|
command: [
|
|
"ab_server",
|
|
"--plc=ControlLogix",
|
|
"--path=1,0",
|
|
"--port=44818",
|
|
"--tag=TestDINT:DINT[1]",
|
|
"--tag=SafetyDINT_S:DINT[1]"
|
|
]
|