Full manual diffs (L15, C20, E30, L25, J40, C10 §2, L10, P10, P11, J20, C30, P20, R40, E10) and read-only checks on the shared R1.05 test server. Skills and summaries moved to R1.05; new skill pytools (IM 36K10P40) from docs (no Python on the test server). Issues ISS-132..181; corrections to version-differences (E10, E30, P11, dss_ath_grp_u0104); C10 summary lists the 3 new authorization actions; r105-verification V10-V17. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
66 lines
4.4 KiB
Markdown
66 lines
4.4 KiB
Markdown
---
|
||
task: Check HAC on a system (licence, processes, hac.sup, scripts, HMI properties, logs)
|
||
version: R1.05 (first written for R1.03)
|
||
source: IM 36K10J20-01EN 4th Edition (Feb. 2026) §1.3–§1.5, §2, §4.1.4, §6.1 (unchanged since the 3rd Edition); checked read-only on the R1.03 test system 2026-10-01 and the R1.05 test server 2026-10-09
|
||
status: verified read-only on R1.03 (2026-10-01) and on the R1.05 test server (2026-10-09), both single servers without HAC; the checks on a running pair (§3) are not tested (no redundant pair)
|
||
---
|
||
|
||
# HAC checks
|
||
|
||
All read-only. Only read files, variables and the process list: do not run `hac*` tools
|
||
(`hacwcmd`, `hacitmval`, `hachmfcmd`, `hacwdg -d` …) just to check, they talk to (or start)
|
||
HAC processes.
|
||
|
||
## 1. Is HAC in use?
|
||
|
||
| Check | Command / file | HAC in use when … |
|
||
|---|---|---|
|
||
| Licence | `dir %TLS_ROOT_PATH%\tls\sup\hacini.sup` | the file exists (licence files are `<tool>ini.sup`) |
|
||
| Start script | `type %TLS_ROOT_PATH%\tls\com\ci_start.cmd` | it is a copy of `hacw_standby` (title *CI Server_in stand-by mode*, starts `haclog`, `lockmgr`, `isfjrn`) |
|
||
| Server number | `echo %CI_PRIM%` | 0 primary, 1 secondary, 2, 3 |
|
||
| Processes | `tasklist /FI "IMAGENAME eq hac*"` | `hacwdg`, `hacrec`, `haclog`, `hacmir`, `hacwagt`, `hacwitm` run |
|
||
|
||
| Extension scripts (R1.05) | `dir %TLS_ROOT_PATH%\tls\com\*_hacw_*.cmd` | project scripts run on activate/deactivate (ISS-160) |
|
||
|
||
R1.03.00 test system (2026-10-01) and R1.05.00 test server (2026-10-09): no `hacini.sup`,
|
||
normal `ci_start.cmd` (title *CI Server*), `CI_PRIM` and `TLS_BACKUP_PATH` unset, no `hac*`
|
||
process, no `*_hacw_*.cmd` — HAC not used. Note: `isfjrn` is started by `database_start.cmd`
|
||
on every node, so an `isfjrn` process alone does not mean HAC is used.
|
||
|
||
## 2. Configuration
|
||
|
||
- `tls\sup\hac.sup`: read with the Setup File Editor or
|
||
`findstr /v /b "!" %TLS_ROOT_PATH%\tls\sup\hac.sup` (active lines only). Check `MODE`,
|
||
`HAC_HOSTS` (real host names, not `SERVER_A`…), `PRIMARY`/`SECONDARY` addresses, `IP_DEVICE`
|
||
(a real router/switch with priority 1; **no `localhost`** in production), `START_MANUAL`
|
||
(`NO` once commissioned), `RECOVERY_ON`, `JOURNAL_ON`, `HMF_DAYS`.
|
||
The installed file is a template (`SERVER_A`, `192.168.1.1`, `localhost`, `START_MANUAL =
|
||
YES`): if these are still present the pair was never configured. The R1.05 `hac.sup`,
|
||
`hac_ees.sup`, `haccache.sup`, `hac.tpl` and `hac_ees.tpl` are identical to R1.03 (hash
|
||
comparison, 2026-10-08), so the template values and ISS-053 still apply.
|
||
- `hac.sup` must be identical on all servers (it is excluded from the mirror on purpose).
|
||
- HAC HMI: `%TLS_WAP_PATH%\cfg\jhacProperties\application.properties` — `primary=`,
|
||
`secondary=` (addresses of every network), `port1`/`port2` (16000), `logport` (16001),
|
||
`ownport`/`ownports` (16010, 32: the HMI's own UDP ports 16010–16041). Same file content
|
||
on R1.03 and R1.05 (2026-10-09). On R1.05 `hacw_hmi` also loads `tls\exe\lib\*`: the HMI
|
||
needs a complete CI Server installation on that machine (ISS-161).
|
||
- Firewall: UDP 16000–16006 between the servers, UDP 16010–16041 for HAC HMI stations,
|
||
TCP 34489 (history merge), ICMP between the servers.
|
||
- Extension scripts (R1.05): any `<prefix>_hacw_activate.cmd` / `<prefix>_hacw_deactivate.cmd`
|
||
in `tls\com` runs on every switchover; read them, they are part of the configuration and
|
||
must be the same on all servers (ISS-160).
|
||
|
||
## 3. State and logs (running pair; not tested — no redundant pair on R1.03 or R1.05)
|
||
|
||
- HAC HMI: `hacw_hmi` (not in the start menu). Per server: responsive, operational status
|
||
(Standby / Activating / Active / Deactivating), mode (Automatic / Manual), CI Server / custom /
|
||
IP health, mirror mode and status (consistent = black text), recovery table, IP devices, log.
|
||
- Status items if configured: `<section>.OPER_MODE` (87 manual, 88 automatic), `.OPER_STAT`
|
||
(95 active, 99 standby), `.CI_STAT`/`.IP_STAT` (90 healthy, 89 fault), `.DATA1_MODE`/
|
||
`.DATA1_STAT` (mirror) — read with `itmval -g`.
|
||
- Logs: `%TLS_LST_PATH%\hac_log_<n>.txt` (cyclic; `hac_log_0.txt` names the current
|
||
page), `hacmir.log`/`hacmir_old.log` (mirror), `%TLS_LOG_PATH%\hacw_standby.log`,
|
||
`hacw_activate.log`, and `umhlog.log` (`HAC*`, `ISFJRN` messages; ISFJRN names the journal
|
||
report `<DSSSDA>_jrn.lst` after an unclean shutdown).
|
||
- Watchdog start problems: `hacwdg -d` in a console shows initialization errors (only on a
|
||
HAC server being commissioned, with the user's approval; it starts a Watchdog).
|