netvs-core issueshttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues2023-08-29T13:40:27+02:00https://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/499MACauth: temporäre Sperre2023-08-29T13:40:27+02:00iv4011benedikt.neuffer@kit.eduMACauth: temporäre SperreDerzeit gibt es keine Möglichkeit eine MAC-Adresse beim MACauth temporär zu sperren.
Anwendungsfälle:
* MAC soll nur zu bestimmten Momenten Zugang bekommen
* MAC ist nicht zuortbar, temporäre Sperre, bis sich jemand meldetDerzeit gibt es keine Möglichkeit eine MAC-Adresse beim MACauth temporär zu sperren.
Anwendungsfälle:
* MAC soll nur zu bestimmten Momenten Zugang bekommen
* MAC ist nicht zuortbar, temporäre Sperre, bis sich jemand meldethttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/490netdb-client-lib v3.2 fails to list reserved IPv6 addresses for subnet2023-07-24T16:40:13+02:00uv7044netdb-client-lib v3.2 fails to list reserved IPv6 addresses for subnetHi,
following the announcement of the release of NetDB WebAPI 4.0, I validated that our use-cases are still functional with it and found one operation broken: Listing reserved IPv6 addresses of a given subnet.
```
Python 3.8.14 (default...Hi,
following the announcement of the release of NetDB WebAPI 4.0, I validated that our use-cases are still functional with it and found one operation broken: Listing reserved IPv6 addresses of a given subnet.
```
Python 3.8.14 (default, Sep 19 2022, 09:47:48)
[GCC 9.1.1 20190605 (Red Hat 9.1.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import netdb_client
>>> import netdb_client.dns
>>> api = netdb_client.APISession(
... netdb_client.APIEndpoint(
... base_url='api.netdb-devel.scc.kit.edu',
... debug=True,
... endpoint=None,
... token='4230.ey...T44'
... )
... )
>>> netdb_client.dns.IpAddr.list(api, value_cidr_old='2a00:139c:2:579::/64', is_reserved_old=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/rh/rh-python38/root/usr/local/lib/python3.8/site-packages/netdb_client/dns.py", line 735, in list
return [cls(**s) for s in res.json()[0]]
File "/opt/rh/rh-python38/root/usr/local/lib/python3.8/site-packages/netdb_client/dns.py", line 735, in <listcomp>
return [cls(**s) for s in res.json()[0]]
TypeError: __init__() missing 1 required positional argument: 'is_dhcp_unique'
```
As far as I can tell, there is no version 4.0 of `netdb-client-lib`, so this was done with the latest 3.2.
/cc @domrim, @klara.mall, @xe4704API 4.0 Releasegq3345rainer.steinmueller@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/489evlog.Record.list: `mgr_login_name` not nullable in datadict, but there are `...2023-07-20T13:30:09+02:00xe4704janis.streib@kit.eduevlog.Record.list: `mgr_login_name` not nullable in datadict, but there are `null` valueshttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/488API: dhcp und dhcpvs Endpunkte umbenennen2023-08-04T19:19:10+02:00iv4011benedikt.neuffer@kit.eduAPI: dhcp und dhcpvs Endpunkte umbenennenBevor DHCP in Production geht, könnte man noch einmal diskutieren, ob man die Endpunkte dhcp(cfg) in dhcpv4(cfg) umbenennt, da es in Zukunft sein könnte, dass wir Bedarf für DHCPv6 haben. Insbesondere PXE boot benötigt DHCPv6, da man Sta...Bevor DHCP in Production geht, könnte man noch einmal diskutieren, ob man die Endpunkte dhcp(cfg) in dhcpv4(cfg) umbenennt, da es in Zukunft sein könnte, dass wir Bedarf für DHCPv6 haben. Insbesondere PXE boot benötigt DHCPv6, da man Stand heute keine PXE-boot Informationen per RA verteilen kann.API 4.0 Releasegq3345rainer.steinmueller@kit.eduxe4704janis.streib@kit.eduiv4011benedikt.neuffer@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/487DNS searchlist überarbeiten2023-07-18T12:24:36+02:00iv4011benedikt.neuffer@kit.eduDNS searchlist überarbeitenAktuell gibt es DNS searchlist als DHCPv4-Option und die hängen an Subnetzen. Diese Info braucht man aber auch für RA und möchte man eigentlich für alle subnets einer BCD identisch haben. Zudem könnte es sein, dass man die Information au...Aktuell gibt es DNS searchlist als DHCPv4-Option und die hängen an Subnetzen. Diese Info braucht man aber auch für RA und möchte man eigentlich für alle subnets einer BCD identisch haben. Zudem könnte es sein, dass man die Information auch irgendwann via DHCPv6 verteilen möchte.
Hier muss man diskutieren, wie man damit umgehen möchte.xe4704janis.streib@kit.eduiv4011benedikt.neuffer@kit.eduha2931dominik.rimpf@kit.eduxe4704janis.streib@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/486Dateianhänge an Modulen2023-07-14T17:42:18+02:00iv4011benedikt.neuffer@kit.eduDateianhänge an ModulenZur Dokumentation wäre es ein gutes Feature Bilddateien an Module (evtl. auf root-Module bschränkt) zu hängen.
Beispiel wären hier Access Points, die teilweise hinter Verkleidungen versteckt sind. Eine Bilddokumentation würde hier helfen...Zur Dokumentation wäre es ein gutes Feature Bilddateien an Module (evtl. auf root-Module bschränkt) zu hängen.
Beispiel wären hier Access Points, die teilweise hinter Verkleidungen versteckt sind. Eine Bilddokumentation würde hier helfen.
Ein anderer Fall wären Kabel, bei denen man z.B. Trassenverläufe (KMZ/KML/PDFs) anhängen kann.
Gut wäre ein Schutz, dass man Module mit Bilder dran nicht einfach löschen kann. Aber auch dass man Bilder von einem Module zu einem anderen verschieben kann. Beispielsweise, wenn etwas anders modeliert werden soll.gq3345rainer.steinmueller@kit.eduzd8187julian.schuh@kit.eduiv4011benedikt.neuffer@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/483API 3.2@devel: defect: wapi.data_type.list2023-07-11T17:52:58+02:00xe4704janis.streib@kit.eduAPI 3.2@devel: defect: wapi.data_type.listList-aufruf komplett ohne params
```
{
"exception": {
"error": {
"code": 1,
"description": "[cntl] Ungültige Eingabesyntax für entsprechenden Datentyp",
"details": null
},
"error_type": {
"code": -20...List-aufruf komplett ohne params
```
{
"exception": {
"error": {
"code": 1,
"description": "[cntl] Ungültige Eingabesyntax für entsprechenden Datentyp",
"details": null
},
"error_type": {
"code": -20900,
"name": "format_error",
"description": "Datentyp-Formatierungsfehler"
},
"constraint": {
"name": null,
"description": null
},
"stacked_diag_params": {
"sqlstate": "42703",
"message": "column cdtop.conv_daty_val_attname does not exist",
"detail": "",
"hint": "",
"context": "PL/pgSQL function eh.set_err(eh.stacked_diag_params_rec_type,name,name,eh.userparams_kv_rec_type[],eh.typecode_rec_type) line 22 at RAISE\nSQL statement \"SELECT eh.set_err(sd_rec, fpkg, fname, up_kv_rec_list, et_rec)\"\nPL/pgSQL function wapi_wapi_3_2.ta_stmt_handler(wapi_3_2.exec_ta_stmt_rec_type) line 81 at PERFORM\nSQL statement \"select\n eh_ret_stmt_pos, eh_ret_stmt_idx, null::bigint, attrs.dict\n from wapi_wapi_3_2.ta_stmt_handler(in_stmt_rec => tah_stmt_rec) as attrs(dict)\"\nPL/pgSQL function wapi_3_2.exec_ta_handler(bigint,jsonb,boolean,boolean,boolean,boolean,boolean,text) line 440 at RETURN QUERY\nSQL statement \"select tah.out_stmt_pos, tah.out_stmt_idx, tah.out_obj_dict from wapi_3_2.exec_ta_handler(\n in_ta_id => ta_id,\n in_ta_osr_jsonb => ta_osr_jsonb,\n in_keep_tmp_ta => in_keep_tmp_ta,\n in_report_stmt_pos => in_report_stmt_pos,\n in_is_dry_mode => in_is_dry_mode,\n in_ignore_maint_state => in_ignore_maint_state,\n in_su_login_name => in_su_login_name\n ) AS tah\"\nPL/pgSQL function wapi_3_2.ta_handler(text,text,text,boolean,boolean,boolean,boolean,text) line 27 at RETURN QUERY",
"dml_src_table": null,
"schema": "",
"table": "",
"column": "",
"datatype": "",
"constraint": ""
},
"others": {},
"traceback": [
{
"function": "wapi_3_2.exec_ta_handler",
"param": {
"wapi.transaction_stmt.pos": 0,
"wapi.transaction_stmt.idx": "0"
}
}
]
}
}
```API 4.0 Releasegq3345rainer.steinmueller@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/482Einzelne Fasern in netdoc modellieren2023-07-14T20:47:53+02:00iv4011benedikt.neuffer@kit.eduEinzelne Fasern in netdoc modellierenStand heute sind Glasfaserverbindungen immer als Fasernpaare modelliert. Problem ist, dass wir immer mehr bidi-Transceiver nutzen, also einzelne Fasernpaare für Verbindungen genutzt werden. Diese Verbindungen können wir aktuell nicht sau...Stand heute sind Glasfaserverbindungen immer als Fasernpaare modelliert. Problem ist, dass wir immer mehr bidi-Transceiver nutzen, also einzelne Fasernpaare für Verbindungen genutzt werden. Diese Verbindungen können wir aktuell nicht sauber abbilden.gq3345rainer.steinmueller@kit.eduzd8187julian.schuh@kit.eduiv4011benedikt.neuffer@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/481Abbildung von VRFs oder noch abstrakterer Routing-Kontexte, zu denen mehrere ...2023-07-14T17:42:51+02:00gq3345rainer.steinmueller@kit.eduAbbildung von VRFs oder noch abstrakterer Routing-Kontexte, zu denen mehrere VRFs gehörenÜbernahme aus Net-WIKI 'NETDB/wapi4.0' unter "Weitere neue, rein verbal formulierte Anforderungen":
* Wird potentiell relativ wichtig, um neue Firewall-Konzepte (bb-s2, extranet, bb-s2-qu, ...) in Automatisierung abbilden zu können
* Prä...Übernahme aus Net-WIKI 'NETDB/wapi4.0' unter "Weitere neue, rein verbal formulierte Anforderungen":
* Wird potentiell relativ wichtig, um neue Firewall-Konzepte (bb-s2, extranet, bb-s2-qu, ...) in Automatisierung abbilden zu können
* Präzisierung erforderlichgq3345rainer.steinmueller@kit.eduzd8187julian.schuh@kit.eduiv4011benedikt.neuffer@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/476cntl.group.create: modify behaviour of do_copy_assignments?2023-10-20T18:17:09+02:00gq3345rainer.steinmueller@kit.educntl.group.create: modify behaviour of do_copy_assignments?- untergruppen: schalter 'do_copy_assignments' wirkt aktuell nur bei 'create' (aktuelle bcds und domains aus parentgruppe einmalig uebernehmen)
- neuen schalter 'do_replicate_assignments' einfuehren, um auch permanent neue bcds und domai...- untergruppen: schalter 'do_copy_assignments' wirkt aktuell nur bei 'create' (aktuelle bcds und domains aus parentgruppe einmalig uebernehmen)
- neuen schalter 'do_replicate_assignments' einfuehren, um auch permanent neue bcds und domains aus parentgruppe zu uebernehmen?
- alternativ: 'do_copy_assignments' bekommt 3 werte (tri-state, NN):
* 'initial' (einmalig, wenn auf 'initial' gesetzt oder bei create)
* 'always' (alle neuen bcds/domains aus parentgruppe uebernehmen)
* 'never' (passiv, nix uebernehmen - std. bei hauptgruppen)
direkte zuordnungsaenderungen in der untergruppe koennen weiterhin immer gemacht werden - im ermessen des ownersAPI 4.1 Releasegq3345rainer.steinmueller@kit.eduxe4704janis.streib@kit.eduha2931dominik.rimpf@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/469OTAV-suche (abfrage nach value): geht bisher nur mit 'cntl.ro_api'. ziel: eff...2023-06-25T19:07:41+02:00gq3345rainer.steinmueller@kit.eduOTAV-suche (abfrage nach value): geht bisher nur mit 'cntl.ro_api'. ziel: effektive ot-bezogene user-rechte einrechnen`cntl.ot_attr_val.list` mit `ot_attr_def_key_word` (value-suche) ist immer OT-bezogen. koennte in diesem fall die effektive-rechte-abfrage als dynsql-generator analog der bereits vorhandenen rw-rechte-abfrage via `_cntl_calc_wapi_ot_perm...`cntl.ot_attr_val.list` mit `ot_attr_def_key_word` (value-suche) ist immer OT-bezogen. koennte in diesem fall die effektive-rechte-abfrage als dynsql-generator analog der bereits vorhandenen rw-rechte-abfrage via `_cntl_calc_wapi_ot_perms.<ot_tab_name>` gemacht werden?
- [x] neustrukturierung permissions: generell pro OT eine basis-perm. fuer
- readonly (z.b. `<system>.ro:<ot_name>`)
- readwrite (z.b. `<system>.rw:<ot_name>`)
diese basis-perm. dann an die jeweilige rechteabfrage binden (semantische bindung durch namensschema/namensgleichheit via '<ot_tab_name>' oder zusaetzlich auch relational?). bisher bestehende globale permissions waeren dadurch obsolete; perm-hierarchie komplett anpassen bzw. neu gruppieren.
- [x] where-conditions und join-klauseln f.d. effektiven user-rechte sowohl in `cntl.ot_attr_val.list` als auch in der list-fkt. des entsprechenden OT aus dem dynsql-generator holen. aktuell unterstuetzen nur folgende OT die basisrechte-abfrage (is_owner):
- nd.bcd
- nd.ip_subnet
- nd.vlan
- nd.vxlan
- dns.fqdn
- dns.zone
- cntl.mgr
- cntl.groupAPI 4.0 Releasegq3345rainer.steinmueller@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/468HINT in exception object, z.b. um infos ueber fehlende rechte f. unterkonto a...2023-09-30T12:24:06+02:00gq3345rainer.steinmueller@kit.eduHINT in exception object, z.b. um infos ueber fehlende rechte f. unterkonto auszugeben, wenn im eigenen hauptkonto vorhandenbekommt ein unterkonto einen zugriffsfehler, den das zugehoerige hauptkonto nicht bekommen wuerde (weil es die erforderlichen rechte hat),
wird eine entsprechende info im exception-object unter `"hint"` angezeigt. ist der zugriffsfehler ...bekommt ein unterkonto einen zugriffsfehler, den das zugehoerige hauptkonto nicht bekommen wuerde (weil es die erforderlichen rechte hat),
wird eine entsprechende info im exception-object unter `"hint"` angezeigt. ist der zugriffsfehler eindeutig und ausschliesslich auf globale rollen zurueckzufuehren, werden die erforderlichen rechte (fehlende rollen) zusaetzlich im parameter `cntl.error.required_roles` ausgegeben.
- [x] info, dass der fehler auf selber eintragbare globale rechte zurueckzufuehren ist und diese anzeigen (nur, wenn eindeutig auf globale rollen zurueckfuehrbar)
- [x] info, dass der fehler auf selber eintragbare datenbereichs-rechte (z.b. namensraum, adressraum, andere kombinationen von rechten) zurueckzufuehren ist. nicht generell machbar, z.b. nicht bei bereichsbasiertem namensraum.API 4.0 Releasexe4704janis.streib@kit.eduxe4704janis.streib@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/465Änderungswunsch BCD2OU: jeder BCD ist mindestens eine OU zugeordnet2023-06-01T15:04:51+02:00gq3345rainer.steinmueller@kit.eduÄnderungswunsch BCD2OU: jeder BCD ist mindestens eine OU zugeordnetAnfrage von Bene: wieviel Aufwand wäre es denn, entsprechende Checks einzubauen, dass jeder BCD mindestens eine OU zugeordnet ist?
vertretbar (ab webapi 4.0).
wir haben sowas schon bei den service-accounts:
- ein svc-account muss mind. ...Anfrage von Bene: wieviel Aufwand wäre es denn, entsprechende Checks einzubauen, dass jeder BCD mindestens eine OU zugeordnet ist?
vertretbar (ab webapi 4.0).
wir haben sowas schon bei den service-accounts:
- ein svc-account muss mind. eine oe haben.
- der check geht via deferred trigger transaktional, greift also nur bei aenderungen.
- vorher bestehende abweichungen werden dadurch nicht erfasst.
aktuell sehe ich in prod, dass es keine bcd ohne oe gibt, damit waere der letzte punkt egalisiert.gq3345rainer.steinmueller@kit.eduiv4011benedikt.neuffer@kit.edugq3345rainer.steinmueller@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/460Maintenance-Mode abfragen und verwenden2023-07-18T12:23:49+02:00xe4704janis.streib@kit.eduMaintenance-Mode abfragen und verwendenfür wartungsankündigungen erweitern:
- [x] details fuer scheduled maint modes präzisieren
- pro wartung ein datensatz mit beschreibung und zeitrahmen (startzeit, intervall oder startzeit, stopzeit)
- zeitliche überlappung zwar ...für wartungsankündigungen erweitern:
- [x] details fuer scheduled maint modes präzisieren
- pro wartung ein datensatz mit beschreibung und zeitrahmen (startzeit, intervall oder startzeit, stopzeit)
- zeitliche überlappung zwar ausgeschlossen, aber direkte aufeinanderfolge nicht (wg. ts-granularität)
- wartungsmodus wird automatisch aktiv, sobald die älteste (größte) startzeit aller vorhandenen datensätze erreicht oder überschritten wird
- wartungsmodus wird erst deaktiviert, wenn kein datensatz mehr existiert, dessen startzeit erreicht oder überschritten wird, dh. keine automatische deaktivierung, wenn stopzeit erreicht oder überschritten wurde.
- stopzeit hat demnach nur informativen charakter
- [x] OT cntl.maint_state nach wapi verschieben: wird damit f. unauth-zugriffe verfügbar (nur ausgabe möglich)
- [x] modifikation (und optional auch ausgabe) der wartungsmeldungen erfolgen über script-commands auf svc-netdb unter ~netadmin/net-svc-scripts/kitnet-cntl/scripts/:
- create_netdb_maint_state.py
- update_netdb_maint_state.py
- delete_netdb_maint_state.py
- list_netdb_maint_state.pyxe4704janis.streib@kit.eduxe4704janis.streib@kit.eduhttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/423VPN2VLAN & WIFI2VLAN-Liste2023-11-16T18:10:04+01:00xe4704janis.streib@kit.eduVPN2VLAN & WIFI2VLAN-Listehttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/695Möglichkeit alle Service-Accounts einer OE zu sehen2024-03-11T14:23:35+01:00ha2931dominik.rimpf@kit.eduMöglichkeit alle Service-Accounts einer OE zu sehenIch hätte gerne ne Ansicht wo ich alle Service-Accounts die einer OE zugeordnet sind finden kann. Wo genau weis ich auch nicht... vllt im OE-View?Ich hätte gerne ne Ansicht wo ich alle Service-Accounts die einer OE zugeordnet sind finden kann. Wo genau weis ich auch nicht... vllt im OE-View?https://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/673Netdoc: Portstatistiken2024-02-07T15:57:27+01:00ov5916julian.keck9@kit.eduNetdoc: PortstatistikenWurde mal darüber gesprochen, ob man für einen p_port Statistiken wie aktueller Durchsatz, UP/Down, ... anzeigen möchte.
Hier sollte man mal sammeln, was hierfür möglich ist.Wurde mal darüber gesprochen, ob man für einen p_port Statistiken wie aktueller Durchsatz, UP/Down, ... anzeigen möchte.
Hier sollte man mal sammeln, was hierfür möglich ist.https://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/646Reverse-Macfinder2024-01-05T17:08:11+01:00ov5916julian.keck9@kit.eduReverse-MacfinderWer an einer Dose eine eigene BCD anliegen hat, sollte in der Lage sein zu sehen, welche MAC(s) an dieser Dose hängen.Wer an einer Dose eine eigene BCD anliegen hat, sollte in der Lage sein zu sehen, welche MAC(s) an dieser Dose hängen.https://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/639User-Netdoc: Verbindungspfad anzeigen (physik fixen)2024-01-31T17:03:38+01:00ov5916julian.keck9@kit.eduUser-Netdoc: Verbindungspfad anzeigen (physik fixen)Man sollte zu einer Dose eine gra(f/ph)ische Darstellung des Verbindungspfads bekommen.
Abhängig davon, ob man genug Leserechte hat oder nicht ist diese entsprechend größer oder kleiner.Man sollte zu einer Dose eine gra(f/ph)ische Darstellung des Verbindungspfads bekommen.
Abhängig davon, ob man genug Leserechte hat oder nicht ist diese entsprechend größer oder kleiner.Pre 4.1 NETVS Developmenthttps://git.scc.kit.edu/scc-net/netvs/netvs-core/-/issues/637User-Netdoc: Quicklink zum Patch-Request2024-02-14T14:41:26+01:00ov5916julian.keck9@kit.eduUser-Netdoc: Quicklink zum Patch-RequestEs sollte möglich sein, innerhalb der User-Netdoc durch einen Stift/Mülleimer-Button ein patch-request modal zu öffnen, in dem dann die Dose schon vorausgefüllt ist und einen andere BCD ausgwählt werden kann bzw beim Mülleimer schon "unp...Es sollte möglich sein, innerhalb der User-Netdoc durch einen Stift/Mülleimer-Button ein patch-request modal zu öffnen, in dem dann die Dose schon vorausgefüllt ist und einen andere BCD ausgwählt werden kann bzw beim Mülleimer schon "unpatch" ausgewählt ist.