================
libvirt_provider
================
A libvirt orchestration plugin for `corc <https://github.com/rasmunk/corc>`_
------------
Installation
------------
.. code-block:: bash
pip install libvirt-provider
------------
Dependencies
------------
Before the ``libvirt-provider`` can be succesfully installed, the distribution associated dependency script
in the ``devel_dep`` folder should be executed. This will install the nessesary library files that ``libvirt-provider``
require to function properly.
In addition, before an actual resource such as an instance or a container can be created by ``libvirt-provider``,
the required ``libvirt`` daemon has to be running on the system. This can be installed via the distribution installer
scripts in the ``runtime_dep`` folder.
-----
Usage
-----
The libvirt-provider plugin can be used on its own to orchestrate libvirt resources.
Currently it supports orchestrating virtual machines and containers.
These resources can be orchestrated via the CLI interface::
$ libvirt-provider -h
usage: libvirt_provider [-h] {instance,container} ...
options:
-h, --help show this help message and exit
COMMAND:
{instance,container}
For instance, to orchestrate an instance, the following command can be used::
$ usage: libvirt_provider instance create [-h]
[-dt INSTANCE_DOMAIN_TYPE] [-ddtype INSTANCE_DISK_DEVICE_TYPE] [-ddn INSTANCE_DISK_DRIVER_NAME]
[-ddt INSTANCE_DISK_DRIVER_TYPE] [-dtd INSTANCE_DISK_TARGET_DEV] [-dtb INSTANCE_DISK_TARGET_BUS]
[-memory INSTANCE_MEMORY_SIZE] [-vcpus INSTANCE_NUM_VCPUS] [-cpu-arch INSTANCE_CPU_ARCHITECTURE]
[-cpu-mode INSTANCE_CPU_MODE] [-mach INSTANCE_MACHINE] [-ct INSTANCE_CONSOLE_TYPE] [-st INSTANCE_SERIAL_TYPE]
[-sttp INSTANCE_SERIAL_TYPE_TARGET_PORT] [-tp INSTANCE_TEMPLATE_PATH]
name disk_image_path
optional arguments:
-h, --help show this help message and exit
Instance create arguments:
name The name of the instance
disk_image_path The path to the disk image
-dt INSTANCE_DOMAIN_TYPE, --domain-type INSTANCE_DOMAIN_TYPE
The domain type
-ddtype INSTANCE_DISK_DEVICE_TYPE, --disk-device-type INSTANCE_DISK_DEVICE_TYPE
The disk type
-ddn INSTANCE_DISK_DRIVER_NAME, --disk-driver-name INSTANCE_DISK_DRIVER_NAME
The disk driver name
-ddt INSTANCE_DISK_DRIVER_TYPE, --disk-driver-type INSTANCE_DISK_DRIVER_TYPE
The disk driver type
-dtd INSTANCE_DISK_TARGET_DEV, --disk-target-dev INSTANCE_DISK_TARGET_DEV
The disk target device
-dtb INSTANCE_DISK_TARGET_BUS, --disk-target-bus INSTANCE_DISK_TARGET_BUS
The disk target bus
-memory INSTANCE_MEMORY_SIZE, --memory-size INSTANCE_MEMORY_SIZE
The memory size of the instance, interpreted as KiB. Default is 1024MiB.
-vcpus INSTANCE_NUM_VCPUS, --num-vcpus INSTANCE_NUM_VCPUS
The number of virtual CPUs
-cpu-arch INSTANCE_CPU_ARCHITECTURE, --cpu-architecture INSTANCE_CPU_ARCHITECTURE
The CPU architecture
-cpu-mode INSTANCE_CPU_MODE, --cpu-mode INSTANCE_CPU_MODE
The CPU mode to be used when running the instance
-mach INSTANCE_MACHINE, --machine INSTANCE_MACHINE
The machine type
-ct INSTANCE_CONSOLE_TYPE, --console-type INSTANCE_CONSOLE_TYPE
The console type
-st INSTANCE_SERIAL_TYPE, --serial-type INSTANCE_SERIAL_TYPE
The serial type
-sttp INSTANCE_SERIAL_TYPE_TARGET_PORT, --serial-type-target-port INSTANCE_SERIAL_TYPE_TARGET_PORT
The serial type target port
-tp INSTANCE_TEMPLATE_PATH, --template-path INSTANCE_TEMPLATE_PATH
The path to the XML template that should be used to create the instance.
As indicated by the instance creation command, the ``libvirt-provider`` expects that a disk image file is provided as an argument::
$ libvirt-provider instance create <name> <disk-image-file>
The <disk-image-file> can either be prepared by downloading directly from one of the distribution repositories, or a prepared with a tool
like our `gen-vm-image <https://github.com/ucphhpc/gen-vm-image>`_ before it is used to create an instance via ``libvirt-provider``.
In turn, an orchestrated instance can be removed via the ``remove`` argument::
$ libvirt-provider instance remove <instance-id>
To discover the <instance-id> of a particular instance, the ``list`` argument can be used::
$ libvirt-provider instance ls
{
"instances": [],
"msg": "Instances",
"status": "success"
}
Raw data
{
"_id": null,
"home_page": "https://github.com/rasmunk/libvirt_provider",
"name": "libvirt-provider",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Orchstration, Virtual Machine",
"author": "Rasmus Munk",
"author_email": "munk1@live.dk",
"download_url": "https://files.pythonhosted.org/packages/a2/f1/7ae8448a4db051439d1ae980ceb4546def5921c1d9d1ae7975f3be03eb69/libvirt_provider-0.0.0a7.tar.gz",
"platform": null,
"description": "================\nlibvirt_provider\n================\n\nA libvirt orchestration plugin for `corc <https://github.com/rasmunk/corc>`_\n\n------------\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install libvirt-provider\n\n------------\nDependencies\n------------\n\nBefore the ``libvirt-provider`` can be succesfully installed, the distribution associated dependency script\nin the ``devel_dep`` folder should be executed. This will install the nessesary library files that ``libvirt-provider``\nrequire to function properly.\n\nIn addition, before an actual resource such as an instance or a container can be created by ``libvirt-provider``,\nthe required ``libvirt`` daemon has to be running on the system. This can be installed via the distribution installer\nscripts in the ``runtime_dep`` folder.\n\n-----\nUsage\n-----\n\nThe libvirt-provider plugin can be used on its own to orchestrate libvirt resources.\nCurrently it supports orchestrating virtual machines and containers.\nThese resources can be orchestrated via the CLI interface::\n\n $ libvirt-provider -h\n usage: libvirt_provider [-h] {instance,container} ...\n\n options:\n -h, --help show this help message and exit\n\n COMMAND:\n {instance,container}\n\nFor instance, to orchestrate an instance, the following command can be used::\n\n $ usage: libvirt_provider instance create [-h]\n [-dt INSTANCE_DOMAIN_TYPE] [-ddtype INSTANCE_DISK_DEVICE_TYPE] [-ddn INSTANCE_DISK_DRIVER_NAME]\n [-ddt INSTANCE_DISK_DRIVER_TYPE] [-dtd INSTANCE_DISK_TARGET_DEV] [-dtb INSTANCE_DISK_TARGET_BUS]\n [-memory INSTANCE_MEMORY_SIZE] [-vcpus INSTANCE_NUM_VCPUS] [-cpu-arch INSTANCE_CPU_ARCHITECTURE]\n [-cpu-mode INSTANCE_CPU_MODE] [-mach INSTANCE_MACHINE] [-ct INSTANCE_CONSOLE_TYPE] [-st INSTANCE_SERIAL_TYPE]\n [-sttp INSTANCE_SERIAL_TYPE_TARGET_PORT] [-tp INSTANCE_TEMPLATE_PATH]\n name disk_image_path\n\n optional arguments:\n -h, --help show this help message and exit\n\n Instance create arguments:\n name The name of the instance\n disk_image_path The path to the disk image\n -dt INSTANCE_DOMAIN_TYPE, --domain-type INSTANCE_DOMAIN_TYPE\n The domain type\n -ddtype INSTANCE_DISK_DEVICE_TYPE, --disk-device-type INSTANCE_DISK_DEVICE_TYPE\n The disk type\n -ddn INSTANCE_DISK_DRIVER_NAME, --disk-driver-name INSTANCE_DISK_DRIVER_NAME\n The disk driver name\n -ddt INSTANCE_DISK_DRIVER_TYPE, --disk-driver-type INSTANCE_DISK_DRIVER_TYPE\n The disk driver type\n -dtd INSTANCE_DISK_TARGET_DEV, --disk-target-dev INSTANCE_DISK_TARGET_DEV\n The disk target device\n -dtb INSTANCE_DISK_TARGET_BUS, --disk-target-bus INSTANCE_DISK_TARGET_BUS\n The disk target bus\n -memory INSTANCE_MEMORY_SIZE, --memory-size INSTANCE_MEMORY_SIZE\n The memory size of the instance, interpreted as KiB. Default is 1024MiB.\n -vcpus INSTANCE_NUM_VCPUS, --num-vcpus INSTANCE_NUM_VCPUS\n The number of virtual CPUs\n -cpu-arch INSTANCE_CPU_ARCHITECTURE, --cpu-architecture INSTANCE_CPU_ARCHITECTURE\n The CPU architecture\n -cpu-mode INSTANCE_CPU_MODE, --cpu-mode INSTANCE_CPU_MODE\n The CPU mode to be used when running the instance\n -mach INSTANCE_MACHINE, --machine INSTANCE_MACHINE\n The machine type\n -ct INSTANCE_CONSOLE_TYPE, --console-type INSTANCE_CONSOLE_TYPE\n The console type\n -st INSTANCE_SERIAL_TYPE, --serial-type INSTANCE_SERIAL_TYPE\n The serial type\n -sttp INSTANCE_SERIAL_TYPE_TARGET_PORT, --serial-type-target-port INSTANCE_SERIAL_TYPE_TARGET_PORT\n The serial type target port\n -tp INSTANCE_TEMPLATE_PATH, --template-path INSTANCE_TEMPLATE_PATH\n The path to the XML template that should be used to create the instance.\n\n\nAs indicated by the instance creation command, the ``libvirt-provider`` expects that a disk image file is provided as an argument::\n\n $ libvirt-provider instance create <name> <disk-image-file>\n\nThe <disk-image-file> can either be prepared by downloading directly from one of the distribution repositories, or a prepared with a tool\nlike our `gen-vm-image <https://github.com/ucphhpc/gen-vm-image>`_ before it is used to create an instance via ``libvirt-provider``.\n\nIn turn, an orchestrated instance can be removed via the ``remove`` argument::\n\n $ libvirt-provider instance remove <instance-id>\n\nTo discover the <instance-id> of a particular instance, the ``list`` argument can be used::\n\n $ libvirt-provider instance ls\n {\n \"instances\": [],\n \"msg\": \"Instances\",\n \"status\": \"success\"\n }\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A corc plugin for a libvirt orchestration provider",
"version": "0.0.0a7",
"project_urls": {
"Homepage": "https://github.com/rasmunk/libvirt_provider"
},
"split_keywords": [
"orchstration",
" virtual machine"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8c1a5b4fbc4ca5a57453e7d4e3343e9644b4e32bdd35223f25ea887f69510dcb",
"md5": "d58d7f8737507b9b76f06c68b6579b50",
"sha256": "2fb0468f9bfc1b461c2ab91b23be3cef12de5d07903698e51ac1fab7d5a2a899"
},
"downloads": -1,
"filename": "libvirt_provider-0.0.0a7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d58d7f8737507b9b76f06c68b6579b50",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 24625,
"upload_time": "2024-05-15T10:16:21",
"upload_time_iso_8601": "2024-05-15T10:16:21.404491Z",
"url": "https://files.pythonhosted.org/packages/8c/1a/5b4fbc4ca5a57453e7d4e3343e9644b4e32bdd35223f25ea887f69510dcb/libvirt_provider-0.0.0a7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a2f17ae8448a4db051439d1ae980ceb4546def5921c1d9d1ae7975f3be03eb69",
"md5": "c79854ad5d3a55e80238bf26cf04e0a2",
"sha256": "5535e82d9a3dec34a6cf583d6a5589aa254e8f192bd300f23522174ebe5f9ee5"
},
"downloads": -1,
"filename": "libvirt_provider-0.0.0a7.tar.gz",
"has_sig": false,
"md5_digest": "c79854ad5d3a55e80238bf26cf04e0a2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 19799,
"upload_time": "2024-05-15T10:16:22",
"upload_time_iso_8601": "2024-05-15T10:16:22.468342Z",
"url": "https://files.pythonhosted.org/packages/a2/f1/7ae8448a4db051439d1ae980ceb4546def5921c1d9d1ae7975f3be03eb69/libvirt_provider-0.0.0a7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-15 10:16:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rasmunk",
"github_project": "libvirt_provider",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "libvirt-python",
"specs": [
[
">=",
"9.9.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
">=",
"3.1.3"
]
]
},
{
"name": "PyYAML",
"specs": [
[
">=",
"6.0.1"
]
]
}
],
"lcname": "libvirt-provider"
}