Trouble Creating VM via API
-
@lsouai-vates said in Trouble Creating VM via API:
name_description and memory are accepted but the auto_poweron parameter is not allowed because it is misspelled... the API expects autoPoweron.
Sorry, I was responding to this in particular. I was taking auto_poweron straight from the API GET endpoint. Keys or values from a GET should be usable in a POST. If these values aren't accepted during creation then it's moot, though I think description should be allowed to override so that a VM can have a meaningful description.
@lsouai-vates said in Trouble Creating VM via API:
@bryonadams, have you checked the API Swagger?
I'm not sure how to get this, I tried via web browser and just get a "Cannot GET /docs/" message.
-
The right URL is:
https://<XO URL>/rest/v0/docs/
-
@olivierlambert That worked, and is exactly what I was looking for in the API docs but overlooked. Are there plans to put this type of API explorer/documentation on the documentation website or is the expectation that we'll interact with XO directly for documentation of API endpoints?
-
Swagger doc is auto generated, and yes it's planned to have a button in XO 6 to access it directly. Note we communicate often (almost each release announcement) of our swagger doc.
-
Keys or values from a GET should be usable in a POST.
@bryonadams I understand your point of view and the reasoning behind it. However, itâs not always an absolute rule that every field returned by a GET endpoint can be passed back to a POST (or PUT).
In this case, the API error message you received clearly indicates that these parameters are âexcess properties not allowedâ, meaning they cannot be used as input parameters.
Indeed, it also seems youâre not running the latest version of XO. Could you please check again? You should be getting the recent REST API updates:
https://github.com/vatesfr/xen-orchestra/pull/8798Weâre currently in the process of migrating from the old REST API to the new one, so for now Swagger remains the single source of truth. As @olivierlambert mentioned, we plan to provide direct access to it from XO-6, and weâve been communicating about this in our blog posts.
-
@lsouai-vates said in Trouble Creating VM via API:
@bryonadams I understand your point of view and the reasoning behind it. However, itâs not always an absolute rule that every field returned by a GET endpoint can be passed back to a POST (or PUT).
Sorry, I don't think I was clear. The keys are different for the same thing. Depending on where you look, autoPowerOn or auto_poweron is returned.
eg:
- ..rest/v0/pools/_/actions/create_vm/ returns the key "auto_poweron",
- /rest/v0/vms/de320b24-d768-50f4-6226-b48f64f85a55 (my example vm) returns the key "auto_poweron"
- Swagger doesn't seem to have this key as far as I can tell, unless I'm looking at the wrong thing. I only see a way to filter by tags.
@lsouai-vates said in Trouble Creating VM via API:
Indeed, it also seems youâre not running the latest version of XO. Could you please check again? You should be getting the recent REST API updates:
I don't know how I can be more up to date than up to date.
-
@bryonadams Can you precise if you are using XO from source or from XOA?
The update action you are dispalying is for XOA, and our XOA is now on 5.109.1...
If you are using it from source, please follow https://docs.xen-orchestra.com/installation#updating
-
@lsouai-vates I'm using from XOA, not from source. Should I be using latest instead of stable?
-
@bryonadams as you are on XOA, you should switch on latest to get the last udpates yes
Hope it will help! -
@lsouai-vates After updating I still see the inconsistency, if it helps. I'll stick to the swagger doc if that's the correct source of truth. I was only querying this way because the docs suggested it as a method.
Is there a place I can submit a feature request to allow setting a description and other settings from the UI to get feature parity when creating a VM? Otherwise, there's not much point since I have to go in and touch the new VM anyway. Unless I'm going about this wrong to begin with?
-
@bryonadams said in Trouble Creating VM via API:
Is there a place I can submit a feature request to allow setting a description and other settings from the UI to get feature parity when creating a VM? Otherwise, there's not much point since I have to go in and touch the new VM anyway. Unless I'm going about this wrong to begin with?
You can create a feature request on Xen Orchestra github repository (https://github.com/vatesfr/xen-orchestra/issues), and if you have subscribed to support via XOA you can send a request through Zammad.