REST API seit 2.1.0 mit massiven Problemen (besonders bei Network-Scan Settings)

**CMK version:2.1.0.p11
**OS version:Ubuntu 20.04
Reproduzierbar
Wenn Network-Scan für Ordner konfiguriert wurde und in der REST API aufgerufen wird:
/check_mk/api/1.0/domain-types/folder_config/collections/all?parent=~&recursive=true&show_hosts=false

Error message:

<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or
misconfiguration and was unable to complete
your request.</p>

Fehler-Eingrenzung
Offenbar ließt die API den JSON-Output nicht mehr korrekt. Wenn man die Reihenfolge der Einträge in der .wato Datei ändert (siehe unten), funktioniert der REST-Aufruf bis zum nächsten Scan, dann wird die .wato wieder unlesbar für die API.

Fehler:
{‘title’: ‘Clients (9)’, ‘attributes’: {‘parents’: [‘switch1’], ‘network_scan’: {‘ip_ranges’: [(‘ip_network’, (‘172.10.9.0’, 24))], ‘exclude_ranges’: [], ‘scan_interval’: 86400, ‘time_allowed’: [((0, 0), (23, 0))], ‘set_ipaddress’: True, ‘tag_criticality’: ‘discovered’, ‘run_as’: ‘Networkscan’, ‘translate_names’: {‘drop_domain’: True, ‘case’: ‘lower’}}, ‘network_scan_result’: {‘start’: 1661972701.0, ‘end’: 1661972713.0, ‘state’: True, ‘output’: ‘The network scan found 10 new hosts.’}, ‘meta_data’: {‘created_at’: 1635451787.0, ‘created_by’: ‘cmkadmin’, ‘updated_at’: 1661980583.1332564}}, ‘num_hosts’: 40, ‘lock’: False, ‘lock_subfolders’: False, ‘__id’: ‘cf2b6294fec34e57af4a164ee99134d7’}
OK:
{‘title’: ‘Clients (9)’, ‘attributes’: {‘parents’: [‘switch1’], ‘network_scan’: {‘ip_ranges’: [(‘ip_network’, (‘172.10.9.0’, 24))], ‘exclude_ranges’: [], ‘scan_interval’: 86400, ‘time_allowed’: [((0, 0), (23, 0))], ‘set_ipaddress’: True, ‘tag_criticality’: ‘discovered’, ‘run_as’: ‘Networkscan’, ‘translate_names’: {‘drop_domain’: True, ‘case’: ‘lower’}}, ‘meta_data’: {‘created_at’: 1635451787.0, ‘created_by’: ‘cmkadmin’, ‘updated_at’: 1661980583.1332564}}, ‘network_scan_result’: {‘start’: 1661972701.0, ‘end’: 1661972713.0, ‘state’: True, ‘output’: ‘The network scan found 10 new hosts.’}, ‘num_hosts’: 40, ‘lock’: False, ‘lock_subfolders’: False, ‘__id’: ‘cf2b6294fec34e57af4a164ee99134d7’}

Interims-Workaround
Ich habe schnell folgends bash-script gemacht, um in den .wato Dateien das Scan-Result zu entfernen:

#!/bin/bash
FILES=`grep -r network_scan_result ./*|sed -e 's/:.*//g'|grep -v Bina|grep -v repair.sh`
for f in $FILES
do
  echo "File: $f"
  P1=`cat $f|sed -e s/\'network_scan_result\'[:].*//g|sed -e 's/..$//'`
  P2=`cat $f|sed -e s/.*network_scan_result//g|sed -e 's/^[^}]*}//'`
  echo "$P1$P2" >$f
done

Weitere Problemstellung
Auch die IP-Adresse in den Scan-Einstellungen bringt seit 2.1.0 einen API-Fehler Syntax Fehler und Response: 500. Allerdings kommen hier im Output noch alle Informationen so dass man einen Workaround im eigenen API-Request einbauen kann.

Kann ich bestätigen! In den Fehler bin ich auch gerade reingelaufen.

Hallo an alle, ich habe mittlerweile auf p12 aktualisiert - leider immer noch das gleiche Problem. Hat jemand eine Lösung? Wurde das als Bug aufgenommen - oder sind wir hier auf dem Holzweg und sollten die REST API lieber nicht verwenden?

@hoschmieder vielen Dank für die ausführliche Beschreibung des Fehlers.

Der Bug wird mit der p14 behoben: REST API: Fix network scan related schemas

Super, das hört sich gut an. Ich freu mich schon auf p14!

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.