• Delete VM Snapshot over REST

    6
    0 Votes
    6 Posts
    52 Views
    DanpD
    @RaHu Your are correct. To delete an individual snapshot, change /vms/ to /vm-snapshots/.
  • Python help

    22
    0 Votes
    22 Posts
    327 Views
    G
    Did some "kicking" around in python, I don't python that much so "readers beware" How did i figure it out, the french blog from here was useful, but only showed listing methods. I was still very confused as to how to call the vm.stop and which parameters it took. Enter xo-cli xo-cli uses jsonrpc but is CLi only, but you can get very nice info from it just have to register and call "list-methods". should be available on your xo VM xo-cli register http://[yourXO].example.com [yourusername] #after registering/authenticating xo-cli list-commands | egrep 'vm\.' --color=always here you will get a nice list of all "methods" in jsonrpc related to vm and a line about vm.stop: vm.stop id=<string> [force=<boolean>] [forceShutdownDelay=<number>] [bypassBlockedOperation=<boolean>] which was enough information to alter the french guy's (Baron) example into this: import aiohttp import asyncio from jsonrpc_websocket import Server async def routine(): async with aiohttp.ClientSession() as client: server = Server('ws://[yourXO]/api/', client) await server.ws_connect() # signIn required result = await server.session.signIn(username='[xoAdmin]', password='[xoAdmin]') # email attribute is working in place of username #hard shutdown #result = await server.vm.stop(id='3f32beeb-ab3f-a8ac-087d-fdc7ed061b58', force=(bool(1))) #clean Shutdown result = await server.vm.stop(id='3f32beeb-ab3f-a8ac-087d-fdc7ed061b58', force=(bool(0))) print (result) asyncio.get_event_loop().run_until_complete(routine())
  • 0 Votes
    4 Posts
    42 Views
    lsouai-vatesL
    @arckhox Hello! I don't know if it is what you are looking for but in REST API doc I founded this: https://github.com/vatesfr/xen-orchestra/blob/master/packages/xo-server/docs/rest-api.md#task-monitoring "A watch mode is available when fetching the collection as NDJSON by using both ndjson and watch query strings. Instead of sending the objects directly, each entry will be an array [event, object]. event can be either remove to mean that an object has been removed from the collection or update to mean that an object has been added to the collection or updated. In case of the remove event, only the id properties of the deleted object is available. The fields and filter parameters are supported."
  • create a new vm using a iso setting cpu ram network via api

    6
    0 Votes
    6 Posts
    73 Views
    M
    @nathanael-h thanks for info i used https://github.com/ddelnano/packer-plugin-xenserver but because of lack of ssh key support i changed the code a bit. now i can use ssh keys. (not ready for a PR) my problem is that inside the auto iso i use a shell script doing a reboot within the install. the reason is that i use this iso also on bare metal installations, some software i cant install without doing a reboot. i will now focus on the ansible integratian an fire the commands after the reboot using ansible. this might work. br Mark
  • 0 Votes
    14 Posts
    92 Views
    J
    @jcharles said in How to Use xo-cli to Get network=<XCP_Network_UUID> and sr=<XCP_SR_UUID> for vm.importFromEsxi Command?: Thanks that worked. I give that a go thanks Your welcome.
  • VM Console Access

    15
    2
    0 Votes
    15 Posts
    458 Views
    olivierlambertO
    Hi, No, there's only one console, which is the "virtual screen" of the VM. If you want multi user thing, check VDI solution, like UDS Enterprise https://docs.xcp-ng.org/project/ecosystem/#uds-enterprise
  • vm-templates query param support

    6
    1
    0 Votes
    6 Posts
    92 Views
    I
    @MathieuRA @Danp Thank you so much
  • REST API for simple User

    Solved
    2
    3
    0 Votes
    2 Posts
    72 Views
    MathieuRAM
    Hi @irtaza9. The REST API is only available for admin users. It is planned to handle other types of users in a few months
  • User specific data

    Solved
    19
    0 Votes
    19 Posts
    346 Views
    I
    @MathieuRA user-id bg: when you call session.signIn you get the user-id and that id is used to fetch user specific vms. { "id": -9007199254740991, "jsonrpc": "2.0", "result": { "id": "f2858952-b02a-403a-98ca-d94e4cdaa57e", "email": "testirtaza1", "groups": [], "permission": "none", "preferences": {} } } [image: 1739959932713-f4b361d6-6944-4cf4-96c2-7f79c9735ebe-image.png] @olivierlambert yes, issue is resolved. Thanks to @MathieuRA and @Danp
  • Dynamically Pool Selection criteria

    12
    0 Votes
    12 Posts
    211 Views
    B
    @irtaza9 OK so you have VLANs per DC. That means VLAN5 in KPK-DC1 and VLAN5 in RWP-DC4 are unrelated and machines in those VLANs cannot communicate directly without going trough some router? This goes back to my original answer. You have to take into account network connectivity when deciding what DC/pool to select for VM provisioning. If you have a few VMs in VLAN5 in KPK-DC1 and you decide to provision some more VMs at latter time that require direct connectivity with existing VMs, you have no choice but to provision them in VLAN5 in KPK-DC1. Regarding VLANs in general, this is all fine except you can scale it up to a few thousand of VLANs per DC so it will impose a hard limit on the number of isolated network segments (i.e. users/customers). Some weapon of choice among most cloud providers is to use some kind of network overlay like VX-LANs, GRE tunnels and such but this has issues of it's own. For a start, these kinds of networks are software defined in nature (SDN), require an orchestrator and network nodes that run in software. You can leverage some hardware acceleration here and there but it will still be software oriented and have scaling and latency issues. There is no silver bullet and most providers hide their network implementation details. All in all, a good, scalable and fast networking i probably the toughest thing to implement in any large scale cloud provider... and I'm definitely not a network engineer so I can't say much about it .
  • VM creation progress

    9
    0 Votes
    9 Posts
    193 Views
    I
    @bufanda yes I have checked that feature too. Let me dig further to make it useable for my use case.
  • XOA Lose connection to entire pool

    4
    0 Votes
    4 Posts
    92 Views
    C
    @benutop - We see that all the time, its purely cosmetic it seems. I think it has to do with XO recognizing your permissions as a user. We have other users constantly using our environment so we know XO is not actually disconnecting.
  • REST auth in Postman

    Solved
    3
    1
    0 Votes
    3 Posts
    113 Views
    J
    @Danp Yup, that will do it. Thanks. No longer pulling out my hair.
  • VIF via REST API?

    8
    0 Votes
    8 Posts
    148 Views
    olivierlambertO
    Ping @julien-f
  • Network creation on the pool using xo-cli

    2
    0 Votes
    2 Posts
    170 Views
    DanpD
    @Pix FYI, I was just doing some testing on this exact function and I was able to add a network to the pool when using the UUID for the host's matching PIF. The UUID you were using is from the pool's network, which won't work here. For example -- Networks [17:29 xenserver-slnqfzrh ~]# xe network-list uuid ( RO) : a379a6e7-f099-f838-6514-486de4d56e80 name-label ( RW): Pool-wide network associated with eth0 name-description ( RW): bridge ( RO): xenbr0 uuid ( RO) : b14a0bdd-2f77-25f7-3a76-b830ff971624 name-label ( RW): Pool-wide network associated with eth2 name-description ( RW): bridge ( RO): xenbr2 uuid ( RO) : 00b6604f-9098-023b-5880-0ef9f8e1b437 name-label ( RW): Pool-wide network associated with eth1 name-description ( RW): bridge ( RO): xenbr1 uuid ( RO) : e3be0e1a-9872-4b90-c851-35eb30a86920 name-label ( RW): Pool-wide network associated with eth3 name-description ( RW): bridge ( RO): xenbr3 uuid ( RO) : c54ecffe-9467-5d5f-cb73-ec10dedef2b9 name-label ( RW): Host internal management network name-description ( RW): Network on which guests will be assigned a private link-local IP address which can be used to talk XenAPI bridge ( RO): xenapi PIFs [17:49 xenserver-slnqfzrh ~]# xe pif-list network-uuid=00b6604f-9098-023b-5880-0ef9f8e1b437 uuid ( RO) : ea3edc31-9b23-402c-a65e-2316c88febb5 device ( RO): eth1 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 00b6604f-9098-023b-5880-0ef9f8e1b437 uuid ( RO) : 3a1ef416-787f-45b4-ace9-0147c2f3ca07 device ( RO): eth1 currently-attached ( RO): true VLAN ( RO): -1 network-uuid ( RO): 00b6604f-9098-023b-5880-0ef9f8e1b437 Adding a VLAN [18:27 21] xoa:xoa$ xo-cli network.create pool=63b7154a-1a6c-8642-525e-c6abb0acc941 name="VLAN20 - On Eth1" pif=ea3edc31-9b23-402c-a65e-2316c88febb5 vlan=json:20 52d18dc6-8078-a7ce-4bc5-d4337d2fb970 HTH, Dan
  • Grafana Xen Orchestra

    2
    0 Votes
    2 Posts
    131 Views
    olivierlambertO
    Hi, Can you describe the target/objective you want to achieve/expect?
  • 0 Votes
    6 Posts
    312 Views
    S
    @pxn said in Java SDK, XmlRpcClientException: Failed to parse server's response: Duplicate name: restrict_vtpm: If you still encounter this issue - I found the way to bypass it. You can create your own mapper by extending on RecursiveTypeParserImpl and just copy-paste logic from MapParser (package org.apache.xmlrpc.parser;), except that logic of checking duplication, then you can inject custom parser to your custom factory (Extend TypeFactoryImpl and override getParser method). And inject this Factory to your client new XmlRpcClient().setTypeFactory(new CustomFactory(client)); This works fine for me, I hope this could help you. Alex
  • how to query users and there vms there own

    11
    0 Votes
    11 Posts
    207 Views
    olivierlambertO
    Yes, you can have a list of all available calls by doing xo-cli list-commands
  • XO Rest API

    28
    1
    0 Votes
    28 Posts
    966 Views
    julien-fJ
    Yes, you can use JSON-RPC et REST APIs together for now We will try to add support for CPU settings soon. Also, expect things to accelerate in 2025 regarding the REST API.
  • 0 Votes
    9 Posts
    236 Views
    M
    @CodeMercenary Can't help you there. The only thing I use(d) is the cli on the xcp hosts themselves. reboot or shutdown