Building a simple REST API server with libvirt and bottle
In this recipe, we are going to use all of the libvirt methods we saw in the earlier recipes to build a simple RESTfull API server, leveraging the bottle micro framework for Python.
Bottle is described as a fast and simple Web Server Gateway Interface (WSGI) micro web-framework for Python, which is distributed as a single module file.
Note
For more information on the bottle micro framework please visit the official website at: https://bottlepy.org/docs/dev/.
The simple API server we are implementing, will accept the following requests:
- list:
get
method that lists all defined libvirt instances. - define:
post
method used to define a new KVM instance. We are going to provide the XML definition as a header in the post request. - start:
post
method to start an instance. The name of the instance will be provided in the header of the request. - stop:
post
method to spot a KVM instance. - undefine:
post
method to delete the instance.
Getting ready
For this...