libvirt-provider


Namelibvirt-provider JSON
Version 0.0.0a7 PyPI version JSON
download
home_pagehttps://github.com/rasmunk/libvirt_provider
SummaryA corc plugin for a libvirt orchestration provider
upload_time2024-05-15 10:16:22
maintainerNone
docs_urlNone
authorRasmus Munk
requires_pythonNone
licenseMIT
keywords orchstration virtual machine
VCS
bugtrack_url
requirements libvirt-python jinja2 PyYAML
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ================
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"
}
        
Elapsed time: 0.31807s