debian-kvm-omnivista-labor
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| debian-kvm-omnivista-labor [2016/09/10 13:54] – [OmniVista RESTful API mit Python ansprechen] benny | debian-kvm-omnivista-labor [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
|---|---|---|---|
| Zeile 8: | Zeile 8: | ||
| * Virt-Manager (es ist einfacher grafisch) | * Virt-Manager (es ist einfacher grafisch) | ||
| * RAM | * RAM | ||
| - | * OmniVista v4.2.1 OVF Archiv | + | * OmniVista v4.2.1 |
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| Aktuell bastel ich hier noch an der Anleitung. | Aktuell bastel ich hier noch an der Anleitung. | ||
| </ | </ | ||
| + | |||
| + | ===== Image ===== | ||
| + | |||
| * Archiv entpacken | * Archiv entpacken | ||
| Zeile 19: | Zeile 22: | ||
| <code bash> | <code bash> | ||
| - | benny@n-kvm1: | + | benny@n-kvm1: |
| - | benny@n-kvm1:~$ cd OV | + | Archive: OVNMS-E_4.2.1_Build69_ovf.zip |
| - | benny@n-kvm1:~/OV$ ls | + | inflating: OV/ovnmse-4.2.1.R01-69.0-disk1.vmdk |
| - | ovnmse-4.2.1.R01-65.0-disk1.vmdk | + | inflating: OV/ovnmse-4.2.1.R01-69.0-disk2.vmdk |
| - | benny@n-kvm1: | + | inflating: OV/ovnmse-4.2.1.R01-69.0.mf |
| - | benny@n-kvm1: | + | inflating: OV/ovnmse-4.2.1.R01-69.0.ovf |
| + | benny@n-kvm1: | ||
| + | benny@n-kvm1: | ||
| + | benny@n-kvm1: | ||
| benny@n-kvm1: | benny@n-kvm1: | ||
| benny@n-kvm1: | benny@n-kvm1: | ||
| - | disk1.qcow2 | + | disk1.qcow2 |
| - | benny@n-kvm1: | + | |
| - | </ | + | |
| - | + | ||
| - | ====== OmniVista RESTful API mit cURL ansprechen ====== | + | |
| - | + | ||
| - | Ich empfehle beim Einsatz von " | + | |
| - | + | ||
| - | In den Beispielen habe ich die Ausgabe von cURL reduziert. Für den Fall dass man noch etwas entwickelt, macht es mehr Sinn sich mit " | + | |
| - | + | ||
| - | Kurze Referenz was sich hinter den Optionen von cURL verbirgt (für alles weitere '' | + | |
| - | + | ||
| - | * -d = Daten die man übertragen möchte | + | |
| - | * -F = Überträgt die Daten als wenn sie aus einem Formular kommen (< | + | |
| - | * -i = HTTP Response Ausgaben anzeigen | + | |
| - | * -H = Header festlegen (kann mehrfach für mehrere Header verwendet werden) | + | |
| - | * -k = Unsichere Verbindung ignorieren (https mit self-signed im Labor) | + | |
| - | * -s = Keine Ausgaben außer dem Ergebnis auf der Console ausgeben (übersichtlicher) | + | |
| - | * -v = Mehr Details anzeigen (kann mehrfach verwendet werden -vvv) | + | |
| - | * -X = HTTP Methode (GET, POST, PUT, DELETE) | + | |
| - | + | ||
| - | ===== Anmeldung an der API von OmniVista 2500 v4.2.1 ===== | + | |
| - | + | ||
| - | <code bash> | + | |
| - | BennyE$ curl -s -k -H " | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Anlegen einer neuen statischen Map (ohne Hintergrundbild) ===== | + | |
| - | + | ||
| - | <WRAP center round tip 60%> | + | |
| - | Eine neue Map anzulegen ist es umfangreicher. Das folgende Format sorgt dafür dass alle Anforderungen der API, z.B. an multipart/ | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round info 60%> | + | |
| - | Eine Map kann nur vom Benutzer " | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | <code bash> | + | |
| - | BennyE$ curl -s -k -H " | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | ], | + | |
| - | " | + | |
| - | }, | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | }, | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Anlegen einer neuen statischen Map (mit Hintergrundbild) ===== | + | |
| - | <WRAP center round tip 60%> | + | |
| - | Die Datei " | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round info 60%> | + | |
| - | Eine Map kann nur vom Benutzer " | + | |
| - | </ | + | |
| - | + | ||
| - | <code bash> | + | |
| - | BennyE$ curl -s -k -H " | + | |
| - | { | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | ], | + | |
| - | " | + | |
| - | }, | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | " | + | |
| - | } | + | |
| - | }, | + | |
| - | " | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ====== OmniVista RESTful API mit Python ansprechen ====== | + | |
| - | <WRAP center round important 60%> | + | |
| - | Meine Versuche mit cURL haben mir gezeigt dass für Python noch einiges anders laufen muss. Kümmere mich bei nächster Gelegenheit darum das zu entwickeln. | + | |
| - | </ | + | |
| - | + | ||
| - | <code python> | + | |
| - | import requests | + | |
| - | import json | + | |
| - | + | ||
| - | # Dieser Code geht sicherlich schoener, aber fuer den Moment ist das nur POC | + | |
| - | + | ||
| - | ovurl = " | + | |
| - | a = requests.Session() | + | |
| - | + | ||
| - | # Boese, niemals verify=False in Produktion! | + | |
| - | #b = a.post(ovurl + "/ | + | |
| - | + | ||
| - | rbody = { | + | |
| - | ' | + | |
| - | ' | + | |
| - | } | + | |
| - | + | ||
| - | header = { | + | |
| - | " | + | |
| - | } | + | |
| - | + | ||
| - | # Boese, niemals verify=False in Produktion! | + | |
| - | # " | + | |
| - | b = a.post(ovurl + "/ | + | |
| - | #>>> | + | |
| - | #< | + | |
| - | + | ||
| - | #>>> | + | |
| - | #' | + | |
| - | + | ||
| - | c = a.get(ovurl + "/ | + | |
| - | + | ||
| - | # Wer sich wundert dass dies einfach funktioniert .. | + | |
| - | # Es gibt einen Cookie mit dem accessToken | + | |
| - | + | ||
| - | #>>> | + | |
| - | #< | + | |
| - | + | ||
| - | + | ||
| - | parsed = json.loads(c.text) | + | |
| - | print(json.dumps(parsed, | + | |
| </ | </ | ||
debian-kvm-omnivista-labor.1473515669.txt.gz · Zuletzt geändert: (Externe Bearbeitung)
