Fixture renamed off ignitionoee's otopcua-focas-sim, port 8193 published, project label, default endpoint 10.100.0.35:8193; infra/dev-environment docs. FOCAS.md: MACRO:3901 parts count, PMC override + cycle-time recipes, won't-do/blocked backlog. Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
+12
-2
@@ -7,6 +7,14 @@
|
||||
# docker compose -f Docker/docker-compose.yml up -d --wait
|
||||
# docker compose -f Docker/docker-compose.yml down
|
||||
#
|
||||
# OWNERSHIP (#651): the container/image are named `otopcua-focas-fixture` on
|
||||
# purpose. The name `otopcua-focas-sim` on 10.100.0.35 belongs to ignitionoee
|
||||
# (its provision-oee-focas.sh `docker rm -f`s and recreates it for ignition-site);
|
||||
# an earlier version of this file used that name and the two projects overwrote each
|
||||
# other's fixture. Never start, stop or rebuild `otopcua-focas-sim` or any
|
||||
# ignition-* / oee-* container from here.
|
||||
# Deployed at /opt/otopcua-focas on the Docker host (rsync this Docker/ dir there).
|
||||
#
|
||||
# One service, one container — the mock's native FOCAS Ethernet responder
|
||||
# auto-detects the binary PDU prefix (`a0 a0 a0 a0`) on the same TCP port
|
||||
# that serves JSON admin commands. Tests that need per-series behaviour
|
||||
@@ -17,14 +25,16 @@
|
||||
|
||||
services:
|
||||
focas-sim:
|
||||
image: otopcua-focas-sim:latest
|
||||
image: otopcua-focas-fixture:latest
|
||||
build:
|
||||
context: ./focas-mock
|
||||
dockerfile: Dockerfile
|
||||
container_name: otopcua-focas-sim
|
||||
container_name: otopcua-focas-fixture
|
||||
ports:
|
||||
- "8193:8193"
|
||||
restart: "no"
|
||||
labels:
|
||||
project: lmxopcua
|
||||
command: ["--profile", "FWLIB64"]
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "python -c \"import socket; s=socket.create_connection(('127.0.0.1',8193),timeout=2); s.close()\" || exit 1"]
|
||||
|
||||
@@ -13,14 +13,14 @@ namespace ZB.MOM.WW.OtOpcUa.Driver.FOCAS.IntegrationTests;
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Single skip gate: <see cref="SkipReason"/> is non-null when the
|
||||
/// <c>localhost:8193</c> TCP probe fails. Tests call
|
||||
/// <c>10.100.0.35:8193</c> TCP probe (the <c>otopcua-focas-fixture</c> container; override with <c>OTOPCUA_FOCAS_SIM_ENDPOINT</c>) fails. Tests call
|
||||
/// <c>Assert.Skip</c>.
|
||||
/// </remarks>
|
||||
public sealed class FocasSimFixture : IAsyncDisposable
|
||||
{
|
||||
private const string EndpointEnvVar = "OTOPCUA_FOCAS_SIM_ENDPOINT";
|
||||
private const string ProfileEnvVar = "OTOPCUA_FOCAS_SIM_PROFILE";
|
||||
private const string DefaultHost = "localhost";
|
||||
private const string DefaultHost = "10.100.0.35";
|
||||
private const int DefaultPort = 8193;
|
||||
|
||||
/// <summary>Gets the hostname or IP address of the focas-mock simulator.</summary>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ namespace ZB.MOM.WW.OtOpcUa.Driver.FOCAS.IntegrationTests.Series;
|
||||
/// <summary>
|
||||
/// Live-wire coverage (focas-mock) for #257 (<c>cnc_statinfo</c> status flags) and #266 (PMC
|
||||
/// range coalescing). Skips cleanly when <c>OTOPCUA_FOCAS_SIM_ENDPOINT</c> (default
|
||||
/// <c>localhost:8193</c>) is unreachable. Read-only: no write path is exercised.
|
||||
/// <c>10.100.0.35:8193</c>, the <c>otopcua-focas-fixture</c> container) is unreachable. Read-only: no write path is exercised.
|
||||
/// </summary>
|
||||
[Collection(FocasSimCollection.Name)]
|
||||
public sealed class WireBackendStatusAndPmcTests
|
||||
|
||||
Reference in New Issue
Block a user