500-error when PUTing new disk config
wdoekes opened this issue · comments
2017-01-17 17:18:33,876: INFO: Volume transferring/conversion 100% complete!
ERROR PUT https://HOSTNAME:443/api2/json/nodes/mc11-6/qemu/159/config {'virtio0': 'mc11-6-local-ssd:vm-159-virtio0,iops_rd=5000,iops_wr=600,mbps_rd=50,mbps_wr=50,size=50G'} None '{"data":null}'
Traceback (most recent call last):
File "./proxmove", line 1499, in <module>
main()
File "./proxmove", line 1495, in main
vmmover.run(options.dry_run)
File "./proxmove", line 1245, in run
self.move_vm(vm, translator, dry_run)
File "./proxmove", line 1305, in move_vm
dst_vm.create_volume(key, volume, storage=storage)
File "./proxmove", line 916, in create_volume
self.api_vm.config.put(**{key: new_volume.as_properties()})
File "/home/walter/.virtualenvs/proxmove/lib/python3.5/site-packages/proxmoxer/core.py", line 91, in put
return self(args)._request("PUT", data=data)
File "/home/walter/.virtualenvs/proxmove/lib/python3.5/site-packages/proxmoxer/core.py", line 80, in _request
raise ResourceException("{0} {1}".format(resp.status_code, httplib.responses[resp.status_code]))
proxmoxer.core.ResourceException: 500 Internal Server Error
Was because the destination images were to be found in a specific subdirectory only:
--- a/proxmove
+++ b/proxmove
@@ -823,7 +823,8 @@ class ProxmoxStorageZfs(ProxmoxStorage):
def set_path(self, value):
assert value.startswith('zfs:'), value
pool_name = value[4:]
- valid_characters = string.ascii_letters + string.digits + '_-'
+ # FIXME: check that entire path exists?
+ valid_characters = string.ascii_letters + string.digits + '_-/'
if not all(i in valid_characters for i in pool_name):
raise PrepareError(
'invalid characters in zfs pool name found {!r} storage '