# AB Legacy PCCC integration-test fixture — ab_server in PCCC mode. # # Same image as the AB CIP fixture (otopcua-ab-server:libplctag-release). # The build context points at the AB CIP Docker folder one directory over # so `docker compose build` from here produces the same image if it # doesn't already exist; if it does, docker's cache reuses the layer. # # One service per PCCC family, each on its OWN host port — 44819 slc500, # 44820 micrologix, 44821 plc5 — so all three run together, and alongside the # AB CIP fixture, which owns :44818. They all bound :44818 until 2026-08-01, # which made the suite structurally un-greenable: the theory parameterises over # all three families, but only one container could ever exist, so at least two # cases failed on every run. Worse, the AB CIP ControlLogix container answers # on :44818 too, so the fixture's TCP reachability probe saw "up", declined to # skip, and ran SLC500-mode PCCC against a ControlLogix. # # ab_server still listens on 44818 INSIDE the container (--port=44818); only the # host mapping differs. Keep these in step with AbLegacyServerProfile.Port. # # Usage (all three at once — that is the point): # docker compose --profile slc500 --profile micrologix --profile plc5 up -d services: slc500: profiles: ["slc500"] build: context: ../../ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker dockerfile: Dockerfile image: otopcua-ab-server:libplctag-release container_name: otopcua-ab-server-slc500 restart: "no" ports: - "44819:44818" command: [ "ab_server", "--plc=SLC500", "--port=44818", "--tag=N7[10]", "--tag=F8[10]", "--tag=B3[10]", "--tag=L19[10]" ] micrologix: profiles: ["micrologix"] image: otopcua-ab-server:libplctag-release build: context: ../../ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker dockerfile: Dockerfile container_name: otopcua-ab-server-micrologix restart: "no" ports: - "44820:44818" command: [ "ab_server", "--plc=Micrologix", "--port=44818", "--tag=B3[10]", "--tag=N7[10]", "--tag=L19[10]" ] plc5: profiles: ["plc5"] image: otopcua-ab-server:libplctag-release build: context: ../../ZB.MOM.WW.OtOpcUa.Driver.AbCip.IntegrationTests/Docker dockerfile: Dockerfile container_name: otopcua-ab-server-plc5 restart: "no" ports: - "44821:44818" command: [ "ab_server", "--plc=PLC/5", "--port=44818", "--tag=N7[10]", "--tag=F8[10]", "--tag=B3[10]" ]