Initial import from bf-network-r6.opencode — opencode migration
This commit is contained in:
47
docs/transaktionen/README.md
Normal file
47
docs/transaktionen/README.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# Transaktionen — Teständerungen mit Ablaufdatum
|
||||
|
||||
Hier liegen die Akten offener und geschlossener **Config-Transaktionen**. Werkzeug:
|
||||
[`nautobot/gc-transaktion.py`](../../nautobot/gc-transaktion.py).
|
||||
|
||||
## Wozu
|
||||
|
||||
Eine Änderung, die am Gerät steht, aber nicht in der SoT, ist **Drift** — und Drift sieht bisher immer
|
||||
gleich aus, egal ob er ein Versehen ist oder ein laufender Versuch. Wer testen wollte, hatte die Wahl
|
||||
zwischen „Compliance kaputt" und „gar nicht testen".
|
||||
|
||||
Eine Transaktion macht die Absicht sichtbar, ohne die Governance aufzuweichen: **der Change geht
|
||||
weiterhin ausschließlich über Golden Config** (`gc-manual-plan.py`), und die Compliance meldet den
|
||||
Drift weiterhin. Neu ist nur, dass `status` ihn **zuordnen** kann.
|
||||
|
||||
| SQL | hier |
|
||||
|---|---|
|
||||
| `BEGIN` | Snapshot des Scope-Abschnitts + Akte mit Gerät, Scope, Grund und **Ablaufdatum** |
|
||||
| *uncommitted* | Change ist am Gerät wirksam und im Testumfeld sichtbar, aber nicht in der SoT |
|
||||
| `COMMIT` | Template/Config-Context nachziehen → Compliance grün → Akte schließen |
|
||||
| `ROLLBACK` | Rückbau-**Vorschlag** aus dem Snapshot, prüfen, deployen, Akte schließen |
|
||||
|
||||
## Drei Regeln, die das Werkzeug erzwingt
|
||||
|
||||
1. **`--expires` ist Pflicht.** Eine offene Transaktion ohne Frist ist undokumentierter Drift mit
|
||||
besserem Gewissen. `status` markiert überfällige Akten.
|
||||
2. **Der Scope ist eine ComplianceRule**, kein Freibrief. Driftet etwas *außerhalb* des Scopes, meldet
|
||||
`status` das ausdrücklich als **nicht abgedeckt**.
|
||||
3. **Eine offene Transaktion je Gerät** — sonst ist beim Rollback nicht mehr entscheidbar, wohin zurück.
|
||||
|
||||
## Zwei bewusste Grenzen
|
||||
|
||||
- **Der Rollback pusht nicht selbst.** Er schreibt einen Vorschlag aus dem Snapshot; `add`-Zeilen aus
|
||||
einem `/export` legen neu an, statt zu ändern, und brauchen meist ein `set [find …]`. Ein Rückbau,
|
||||
den niemand gelesen hat, ist genau die Sorte Automatik, die hier schon zweimal teuer war.
|
||||
- **Der Snapshot enthält nur den Scope-Abschnitt.** Ein voller `/export` enthält Firewall, Adressen,
|
||||
Benutzerliste und Skriptquellen — nichts davon wird für den Rückbau gebraucht, und diese Akten liegen
|
||||
im Git. Für den Ernstfall gibt es das binäre `/system backup` auf dem Gerät (`--device-backup`).
|
||||
|
||||
## Dateien je Transaktion
|
||||
|
||||
| Datei | Inhalt |
|
||||
|---|---|
|
||||
| `<change-id>.json` | die Akte: Gerät, Scope, Grund, Fristen, Status |
|
||||
| `<change-id>.snapshot.rsc` | der Scope-Abschnitt **vor** der Änderung |
|
||||
| `<change-id>.commands.rsc` | was deployt wurde |
|
||||
| `<change-id>.rollback.rsc` | erst nach `rollback` — der Vorschlag zum Prüfen |
|
||||
1
docs/transaktionen/TEST-cake-global-htb.ab-off.rsc
Normal file
1
docs/transaktionen/TEST-cake-global-htb.ab-off.rsc
Normal file
@@ -0,0 +1 @@
|
||||
/ip firewall mangle disable [find where comment="TEST-cake-global-htb"]
|
||||
2
docs/transaktionen/TEST-cake-global-htb.commands.rsc
Normal file
2
docs/transaktionen/TEST-cake-global-htb.commands.rsc
Normal file
@@ -0,0 +1,2 @@
|
||||
/ip firewall mangle add action=mark-packet chain=postrouting comment="TEST-cake-global-htb" new-packet-mark=wanup out-interface=vlan100 passthrough=no
|
||||
/queue tree add comment="TEST-cake-global-htb" name=qostestglobal packet-mark=wanup parent=global queue=cake-wan-up
|
||||
16
docs/transaktionen/TEST-cake-global-htb.json
Normal file
16
docs/transaktionen/TEST-cake-global-htb.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"change_id": "TEST-cake-global-htb",
|
||||
"device": "crs326-core",
|
||||
"scope": "queue",
|
||||
"match_config": [
|
||||
"/queue type",
|
||||
"/queue tree"
|
||||
],
|
||||
"reason": "TP6: prueft Global-HTB + Mangle-Mark statt Interface-HTB (letztere ist laut MikroTik-Doku bei hw-offloaded out-interface unwirksam). Enthaelt eine temporaere mangle-Regel ausserhalb des queue-Scopes, wird im Rueckbau mitentfernt.",
|
||||
"started": "2026-08-23",
|
||||
"expires": "2026-08-24",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TEST-cake-global-htb.snapshot.rsc",
|
||||
"device_backup": "",
|
||||
"closed": "2026-08-23"
|
||||
}
|
||||
11
docs/transaktionen/TEST-cake-global-htb.rollback.rsc
Normal file
11
docs/transaktionen/TEST-cake-global-htb.rollback.rsc
Normal file
@@ -0,0 +1,11 @@
|
||||
# Rueckbau-VORSCHLAG fuer TEST-cake-global-htb (crs326-core, Scope queue)
|
||||
# Aus dem Snapshot vom 2026-08-23. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
/queue type
|
||||
add cake-bandwidth=8.5Mbps cake-diffserv=diffserv4 cake-nat=yes kind=cake \
|
||||
name=cake-wan-up
|
||||
/queue tree
|
||||
add comment="TP6: CAKE auf der Senderichtung (WAN-Egress)" name=qos-wan-up \
|
||||
parent=vlan100 queue=cake-wan-up
|
||||
3
docs/transaktionen/TEST-cake-global-htb.rueckbau.rsc
Normal file
3
docs/transaktionen/TEST-cake-global-htb.rueckbau.rsc
Normal file
@@ -0,0 +1,3 @@
|
||||
/queue tree remove [find where name="qostestglobal"]
|
||||
/ip firewall mangle remove [find where comment="TEST-cake-global-htb"]
|
||||
/queue type set [find where name="cake-wan-up"] cake-bandwidth=8.5Mbps
|
||||
9
docs/transaktionen/TEST-cake-global-htb.snapshot.rsc
Normal file
9
docs/transaktionen/TEST-cake-global-htb.snapshot.rsc
Normal file
@@ -0,0 +1,9 @@
|
||||
# Snapshot des Scopes 'queue' auf crs326-core, 2026-08-23 (Transaktion TEST-cake-global-htb)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
/queue type
|
||||
add cake-bandwidth=8.5Mbps cake-diffserv=diffserv4 cake-nat=yes kind=cake \
|
||||
name=cake-wan-up
|
||||
/queue tree
|
||||
add comment="TP6: CAKE auf der Senderichtung (WAN-Egress)" name=qos-wan-up \
|
||||
parent=vlan100 queue=cake-wan-up
|
||||
2
docs/transaktionen/TEST-cake-global-htb.tune.rsc
Normal file
2
docs/transaktionen/TEST-cake-global-htb.tune.rsc
Normal file
@@ -0,0 +1,2 @@
|
||||
/ip firewall mangle enable [find where comment="TEST-cake-global-htb"]
|
||||
/queue type set [find where name="cake-wan-up"] cake-bandwidth=7000000
|
||||
1
docs/transaktionen/TEST-cake-global-htb.tune5.rsc
Normal file
1
docs/transaktionen/TEST-cake-global-htb.tune5.rsc
Normal file
@@ -0,0 +1 @@
|
||||
/queue type set [find where name="cake-wan-up"] cake-bandwidth=5000000
|
||||
16
docs/transaktionen/TEST-cake-parameter-probe.json
Normal file
16
docs/transaktionen/TEST-cake-parameter-probe.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"change_id": "TEST-cake-parameter-probe",
|
||||
"device": "crs326-core",
|
||||
"scope": "queue",
|
||||
"match_config": [
|
||||
"/queue type",
|
||||
"/queue tree"
|
||||
],
|
||||
"reason": "TP6: CAKE-Parameternamen und Defaults am Geraet auslesen statt raten (Type ohne Queue-Tree = wirkungslos)",
|
||||
"started": "2026-08-23",
|
||||
"expires": "2026-08-24",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TEST-cake-parameter-probe.snapshot.rsc",
|
||||
"device_backup": "",
|
||||
"closed": "2026-08-23"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# Rueckbau-VORSCHLAG fuer TEST-cake-parameter-probe (crs326-core, Scope queue)
|
||||
# Aus dem Snapshot vom 2026-08-23. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Snapshot des Scopes 'queue' auf crs326-core, 2026-08-23 (Transaktion TEST-cake-parameter-probe)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
# Nachtrag zum ether3-Trunk: VLAN 40 hatte ether3 als UNTAGGED-Mitglied.
|
||||
# Ein Port kann in derselben VLAN nicht zugleich tagged und untagged sein — deshalb ist
|
||||
# genau diese eine Zeile im ersten Deploy gescheitert, waehrend die sechs anderen liefen.
|
||||
/interface bridge vlan set [find where vlan-ids=40 and !dynamic] tagged=ether1,ether3,ether8,ether13,ether15 untagged=ether2,ether4,ether5
|
||||
@@ -0,0 +1,7 @@
|
||||
/interface bridge vlan set [find where vlan-ids=10 and !dynamic] tagged=ether1,ether3,ether8,ether13,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=20 and !dynamic] tagged=ether3,ether8,ether13,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=30 and !dynamic] tagged=ether1,ether3,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=40 and !dynamic] tagged=ether1,ether3,ether8,ether13,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=50 and !dynamic] tagged=ether1,ether3,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=90 and !dynamic] tagged=ether1,ether3,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=99 and !dynamic] tagged=ether3,ether8,ether15,bridge
|
||||
15
docs/transaktionen/TEST-ether3-trunk-ap1-sideboard.json
Normal file
15
docs/transaktionen/TEST-ether3-trunk-ap1-sideboard.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"change_id": "TEST-ether3-trunk-ap1-sideboard",
|
||||
"device": "crs326-core",
|
||||
"scope": "bridge-vlan",
|
||||
"match_config": [
|
||||
"/interface bridge vlan"
|
||||
],
|
||||
"reason": "ap1 testweise am Sideboard, Uplink auf core ether3 statt ether15 (TP25 Standorttest)",
|
||||
"started": "2026-08-21",
|
||||
"expires": "2026-09-04",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TEST-ether3-trunk-ap1-sideboard.snapshot.rsc",
|
||||
"device_backup": "vor-ether3-trunk-20260821.backup",
|
||||
"closed": "2026-08-22"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# TATSAECHLICH DEPLOYT am 2026-08-22 (Plan 55ff3f32-3bc6-4c16-9ddb-613e335474df, Status Completed,
|
||||
# am Geraet gegengeprueft). Beleg fuer den Rueckbau von TEST-ether3-trunk-ap1-sideboard.
|
||||
# Abgeleitet aus dem Snapshot vom 2026-08-21, aber angepasst:
|
||||
# - `add` -> `set [find ... and !dynamic]` (der Generator-Vorschlag haette neu angelegt)
|
||||
# - Backslash-Fortsetzungen aufgeloest (Netmiko bricht daran)
|
||||
# - VLAN 1 und 100 ausgelassen: ether3 kommt dort nicht vor
|
||||
# Hinweis: `gc-transaktion.py rollback` ueberschreibt die .rollback.rsc bei jedem Aufruf neu —
|
||||
# deshalb liegt der Beleg hier unter eigenem Namen.
|
||||
/interface bridge vlan set [find where vlan-ids=10 and !dynamic] tagged=ether1,ether8,ether13,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=20 and !dynamic] tagged=ether8,ether13,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=30 and !dynamic] tagged=ether1,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=40 and !dynamic] tagged=ether1,ether8,ether13,ether15 untagged=ether2,ether3,ether4,ether5
|
||||
/interface bridge vlan set [find where vlan-ids=50 and !dynamic] tagged=ether1,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=90 and !dynamic] tagged=ether1,ether8,ether15
|
||||
/interface bridge vlan set [find where vlan-ids=99 and !dynamic] tagged=ether8,ether15,bridge
|
||||
@@ -0,0 +1,16 @@
|
||||
# Rueckbau-VORSCHLAG fuer TEST-ether3-trunk-ap1-sideboard (crs326-core, Scope bridge-vlan)
|
||||
# Aus dem Snapshot vom 2026-08-21. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
/interface bridge vlan
|
||||
add bridge=bridge untagged=ether1,ether2 vlan-ids=1
|
||||
add bridge=bridge tagged=ether1,ether8,ether13,ether15 vlan-ids=10
|
||||
add bridge=bridge tagged=ether8,ether13,ether15 vlan-ids=20
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 untagged=ether14 vlan-ids=30
|
||||
add bridge=bridge tagged=ether1,ether8,ether13,ether15 untagged=\
|
||||
ether2,ether3,ether4,ether5 vlan-ids=40
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 vlan-ids=50
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 vlan-ids=90
|
||||
add bridge=bridge tagged=ether8,ether15,bridge vlan-ids=99
|
||||
add bridge=bridge tagged=ether1 untagged=ether16 vlan-ids=100
|
||||
@@ -0,0 +1,14 @@
|
||||
# Snapshot des Scopes 'bridge-vlan' auf crs326-core, 2026-08-21 (Transaktion TEST-ether3-trunk-ap1-sideboard)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
/interface bridge vlan
|
||||
add bridge=bridge untagged=ether1,ether2 vlan-ids=1
|
||||
add bridge=bridge tagged=ether1,ether8,ether13,ether15 vlan-ids=10
|
||||
add bridge=bridge tagged=ether8,ether13,ether15 vlan-ids=20
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 untagged=ether14 vlan-ids=30
|
||||
add bridge=bridge tagged=ether1,ether8,ether13,ether15 untagged=\
|
||||
ether2,ether3,ether4,ether5 vlan-ids=40
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 vlan-ids=50
|
||||
add bridge=bridge tagged=ether1,ether8,ether15 vlan-ids=90
|
||||
add bridge=bridge tagged=ether8,ether15,bridge vlan-ids=99
|
||||
add bridge=bridge tagged=ether1 untagged=ether16 vlan-ids=100
|
||||
@@ -0,0 +1,6 @@
|
||||
# dirtyvader-infra (VLAN20) temporaer als Slave-VAP auf ap2 ausstrahlen.
|
||||
# Zweck: iPhone fuer EIN Matter-Commissioning auf denselben L2-Link wie der OTBR bringen (TP12.1).
|
||||
# ap2 statt ap1, weil ap1 am 2026-08-22 auf ether11 (VLAN10-Access) haengt und kein CAP ist.
|
||||
# Kommen ap1s Radios zurueck, dieselben zwei Zeilen fuer "ap1 5GHz"/"ap1 2.4GHz" ergaenzen.
|
||||
/interface wifi provisioning set [find where comment="ap2 5GHz"] slave-configurations=cfg-media,cfg-untrusted,cfg-guest,cfg-infra
|
||||
/interface wifi provisioning set [find where comment="ap2 2.4GHz"] slave-configurations=cfg-iot,cfg-media,cfg-untrusted,cfg-guest,cfg-infra
|
||||
15
docs/transaktionen/TEST-infra-ssid-matter-pairing.json
Normal file
15
docs/transaktionen/TEST-infra-ssid-matter-pairing.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"change_id": "TEST-infra-ssid-matter-pairing",
|
||||
"device": "crs326-core",
|
||||
"scope": "wifi-provisioning",
|
||||
"match_config": [
|
||||
"/interface wifi provisioning"
|
||||
],
|
||||
"reason": "dirtyvader-infra temporaer auf ap2: iPhone fuer Matter-Commissioning auf VLAN20 (TP12.1)",
|
||||
"started": "2026-08-22",
|
||||
"expires": "2026-08-29",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TEST-infra-ssid-matter-pairing.snapshot.rsc",
|
||||
"device_backup": "",
|
||||
"closed": "2026-08-22"
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# TATSAECHLICH DEPLOYT am 2026-08-22 (Plan 1469f0f7-fc52-47e1-bd65-a83ac709d89c, Completed).
|
||||
# Danach ZWINGEND: /interface wifi capsman remote-cap provision [find where identity="ap2"]
|
||||
# Ohne die Re-Provisionierung bleiben die VAPs am CAP bestehen und senden weiter.
|
||||
# Rueckbau: dirtyvader-infra wieder von ap2 nehmen. Stand vor dem Change (live gelesen 2026-08-22).
|
||||
/interface wifi provisioning set [find where comment="ap2 5GHz"] slave-configurations=cfg-media,cfg-untrusted,cfg-guest
|
||||
/interface wifi provisioning set [find where comment="ap2 2.4GHz"] slave-configurations=cfg-iot,cfg-media,cfg-untrusted,cfg-guest
|
||||
@@ -0,0 +1,18 @@
|
||||
# Rueckbau-VORSCHLAG fuer TEST-infra-ssid-matter-pairing (crs326-core, Scope wifi-provisioning)
|
||||
# Aus dem Snapshot vom 2026-08-22. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
/interface wifi provisioning
|
||||
add action=create-dynamic-enabled comment="ap1 5GHz" master-configuration=\
|
||||
cfg-main-5g-ap1 radio-mac=D0:EA:11:4D:40:E5 slave-configurations=\
|
||||
cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap1 2.4GHz" master-configuration=\
|
||||
cfg-main-2g-ap1 radio-mac=D0:EA:11:4D:40:E6 slave-configurations=\
|
||||
cfg-iot,cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap2 5GHz" master-configuration=\
|
||||
cfg-main-5g-ap2 radio-mac=D0:EA:11:4D:40:3E slave-configurations=\
|
||||
cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap2 2.4GHz" master-configuration=\
|
||||
cfg-main-2g-ap2 radio-mac=D0:EA:11:4D:40:3F slave-configurations=\
|
||||
cfg-iot,cfg-media,cfg-untrusted,cfg-guest
|
||||
@@ -0,0 +1,16 @@
|
||||
# Snapshot des Scopes 'wifi-provisioning' auf crs326-core, 2026-08-22 (Transaktion TEST-infra-ssid-matter-pairing)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
/interface wifi provisioning
|
||||
add action=create-dynamic-enabled comment="ap1 5GHz" master-configuration=\
|
||||
cfg-main-5g-ap1 radio-mac=D0:EA:11:4D:40:E5 slave-configurations=\
|
||||
cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap1 2.4GHz" master-configuration=\
|
||||
cfg-main-2g-ap1 radio-mac=D0:EA:11:4D:40:E6 slave-configurations=\
|
||||
cfg-iot,cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap2 5GHz" master-configuration=\
|
||||
cfg-main-5g-ap2 radio-mac=D0:EA:11:4D:40:3E slave-configurations=\
|
||||
cfg-media,cfg-untrusted,cfg-guest
|
||||
add action=create-dynamic-enabled comment="ap2 2.4GHz" master-configuration=\
|
||||
cfg-main-2g-ap2 radio-mac=D0:EA:11:4D:40:3F slave-configurations=\
|
||||
cfg-iot,cfg-media,cfg-untrusted,cfg-guest
|
||||
@@ -0,0 +1,2 @@
|
||||
/queue simple remove [find where name="probelan"]
|
||||
/queue tree remove [find where name="probeglobal"]
|
||||
16
docs/transaktionen/TEST-queue-global-zaehlprobe.json
Normal file
16
docs/transaktionen/TEST-queue-global-zaehlprobe.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"change_id": "TEST-queue-global-zaehlprobe",
|
||||
"device": "crs326-core",
|
||||
"scope": "queue",
|
||||
"match_config": [
|
||||
"/queue type",
|
||||
"/queue tree"
|
||||
],
|
||||
"reason": "TP6: prueft, ob parent=global auf dem CRS326 ueberhaupt zaehlt (queue=default, KEIN Limit, drosselt nichts)",
|
||||
"started": "2026-08-23",
|
||||
"expires": "2026-08-24",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TEST-queue-global-zaehlprobe.snapshot.rsc",
|
||||
"device_backup": "",
|
||||
"closed": "2026-08-23"
|
||||
}
|
||||
11
docs/transaktionen/TEST-queue-global-zaehlprobe.rollback.rsc
Normal file
11
docs/transaktionen/TEST-queue-global-zaehlprobe.rollback.rsc
Normal file
@@ -0,0 +1,11 @@
|
||||
# Rueckbau-VORSCHLAG fuer TEST-queue-global-zaehlprobe (crs326-core, Scope queue)
|
||||
# Aus dem Snapshot vom 2026-08-23. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
/queue type
|
||||
add cake-bandwidth=8.5Mbps cake-diffserv=diffserv4 cake-nat=yes kind=cake \
|
||||
name=cake-wan-up
|
||||
/queue tree
|
||||
add comment="TP6: CAKE auf der Senderichtung (WAN-Egress)" name=qos-wan-up \
|
||||
parent=vlan100 queue=cake-wan-up
|
||||
@@ -0,0 +1,9 @@
|
||||
# Snapshot des Scopes 'queue' auf crs326-core, 2026-08-23 (Transaktion TEST-queue-global-zaehlprobe)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
/queue type
|
||||
add cake-bandwidth=8.5Mbps cake-diffserv=diffserv4 cake-nat=yes kind=cake \
|
||||
name=cake-wan-up
|
||||
/queue tree
|
||||
add comment="TP6: CAKE auf der Senderichtung (WAN-Egress)" name=qos-wan-up \
|
||||
parent=vlan100 queue=cake-wan-up
|
||||
15
docs/transaktionen/TP17.1-dtu-pin-ap2.json
Normal file
15
docs/transaktionen/TP17.1-dtu-pin-ap2.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"change_id": "TP17.1-dtu-pin-ap2",
|
||||
"device": "crs326-core",
|
||||
"scope": "wifi-access-list",
|
||||
"match_config": [
|
||||
"/interface wifi access-list"
|
||||
],
|
||||
"reason": "DTU/Wechselrichter (54:F2:9F:12:51:F0) per access-list an ap2 binden. Grund: ein ESP hat EIN Radio, AP und STA teilen den Kanal -- der nicht abschaltbare DTU-AP sitzt auf ch1 (ap1) und stoert dort mit -59 dBm. Ueber ap2 wandert er auf ch11. Ist der Kanalplan nach dem Einbau der zwei neuen APs entschieden, wird das neu bewertet: entweder committen oder zurueckrollen.",
|
||||
"started": "2026-08-23",
|
||||
"expires": "2026-09-06",
|
||||
"state": "rolledback",
|
||||
"snapshot": "docs/transaktionen/TP17.1-dtu-pin-ap2.snapshot.rsc",
|
||||
"device_backup": "",
|
||||
"closed": "2026-08-23"
|
||||
}
|
||||
6
docs/transaktionen/TP17.1-dtu-pin-ap2.rollback.rsc
Normal file
6
docs/transaktionen/TP17.1-dtu-pin-ap2.rollback.rsc
Normal file
@@ -0,0 +1,6 @@
|
||||
# Rueckbau-VORSCHLAG fuer TP17.1-dtu-pin-ap2 (crs326-core, Scope wifi-access-list)
|
||||
# Aus dem Snapshot vom 2026-08-23. NICHT ungeprueft deployen:
|
||||
# `add`-Zeilen legen neu an, statt zu aendern — was hier gebraucht wird,
|
||||
# ist in der Regel ein `set [find ...]`. Zeilen entsprechend anpassen.
|
||||
|
||||
|
||||
4
docs/transaktionen/TP17.1-dtu-pin-ap2.snapshot.rsc
Normal file
4
docs/transaktionen/TP17.1-dtu-pin-ap2.snapshot.rsc
Normal file
@@ -0,0 +1,4 @@
|
||||
# Snapshot des Scopes 'wifi-access-list' auf crs326-core, 2026-08-23 (Transaktion TP17.1-dtu-pin-ap2)
|
||||
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user