Problem mit ProxMox API

JaXnPrivate

Member
Oct 20, 2019
17
1
23
21
Servus,
ich arbeite seit einigen Tagen mit der ProxMox PHP Api.
Ich habe schon einige ausprobiert und wollte einen Container per API-Request erstellen.
Jedoch erhalte ich immer von der PVE-Proxy einen 403 Error Code.
Jetzt habe ich eine eigene API zusammengebastelt und erhalte folgendes:
Code:
23728#0: *9348 FastCGI sent in stderr: " no-cache
Server: pve-api-daemon/3.0
Content-Length: 13
Content-Type: application/json;charset=UTF-8
Expires: Wed, 13 Nov 2019 19:53:11 GMT

{"data":null}

END FULL RESPONSE

Mit freundlichen Grüßen,
Jan H.
 
Welche PHP API? Wie sieht der API Request aus?

Bitte poste die Ausgabe von pveversion -v
 
Erstmal Danke für die schnelle Antwort!

Wenn ich den oben stehenden Command ausübe, komme ich zu folgenden Ergebnis:
Code:
proxmox-ve: not correctly installed (running kernel: 4.9.0-11-amd64)
pve-manager: 5.4-13 (running version: 5.4-13/aee6f0ec)
pve-kernel-2.6.32-19-pve: 2.6.32-96
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-12
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-55
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-14
libpve-storage-perl: 5.0-44
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-7
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
proxmox-widget-toolkit: 1.0-28
pve-cluster: 5.0-38
pve-container: 2.0-40
pve-docs: 5.4-2
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-22
pve-firmware: 2.0-7
pve-ha-manager: 2.0-9
pve-i18n: 1.1-4
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 3.0.1-4
pve-xtermjs: 3.12.0-1
qemu-server: 5.0-54
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
Meine API Request sie wie folgt aus:
Code:
    $new_container_settings = array();
    $new_container_settings['ostemplate'] = "local:vztmpl/debian-10.0-standard_10.0-1_amd64.tar.gz";
    $new_container_settings['vmid'] = $API->getPVENextID();
    $new_container_settings['hostname'] = "test";
    $new_container_settings['cores'] = "1";
    $new_container_settings['memory'] = "512";
    $new_container_settings['swap'] = "512";
    $new_container_settings['rootfs'] = "local:20";
    $new_container_settings['net0'] = "bridge=vmbr0,name=eth0,ip=85.25.*******,ip6=dhcp";
    $new_container_settings['searchdomain'] = "8.8.8.8";
    $new_container_settings['nameserver'] = "8.8.4.4";
    echo "API<br>" . $API->getPVENodes();
    print_r($API->post("/nodes/puck531/lxc/", $new_container_settings));

Mit freundlichen Grüßen,
Jan H.
 
Irgendwas stimmt da nicht, laut pveversion Ausgabe ist proxmox-ve nicht richtig installiert und es läuft der Debian Stretch Kernel (4.9) statt 4.15.18.
Bei der API müssen natürlich auch CSRFPreventionToken und das Ticket mitübergeben werden, siehe: https://pve.proxmox.com/wiki/Proxmox_VE_API