2.13. Example: Creating a Virtual Machine using Python


Virtual machine creation is performed in several steps. The first step, covered here, is to create the virtual machine object itself.

Example 2.12. Creating a virtual machine using Python

This Python example creates a virtual machine named vm1. The virtual machine in this example:
  • Must have 512 MB of memory, expressed in bytes.
    vm_memory = 512 * 1024 * 1024
    Copy to Clipboard Toggle word wrap
  • Must be attached to the Default cluster, and therefore the Default data center.
    vm_cluster = api.clusters.get(name="Default")
    Copy to Clipboard Toggle word wrap
  • Must be based on the default Blank template.
    vm_template = api.templates.get(name="Blank")
    Copy to Clipboard Toggle word wrap
  • Must boot from the virtual hard disk drive.
    vm_os = params.OperatingSystem(boot=[params.Boot(dev="hd")])
    Copy to Clipboard Toggle word wrap
These options are combined into a virtual machine parameter object, before using the add method of the vms collection to create the virtual machine itself.
from ovirtsdk.api import API
from ovirtsdk.xml import params

try:
    api = API (url="https://HOST",
               username="USER@DOMAIN",
               password="PASS",
               ca_file="ca.crt")

    vm_name = "vm1"
    vm_memory = 512 * 1024 * 1024
    vm_cluster = api.clusters.get(name="Default")
    vm_template = api.templates.get(name="Blank")
    vm_os = params.OperatingSystem(boot=[params.Boot(dev="hd")])

    vm_params = params.VM(name=vm_name,
                         memory=vm_memory,
                         cluster=vm_cluster,
                         template=vm_template,
                         os=vm_os)

    try:
        api.vms.add(vm=vm_params)
        print "Virtual machine '%s' added." % vm_name
    except Exception as ex:
        print "Adding virtual machine '%s' failed: %s" % (vm_name, ex)

    api.disconnect()

except Exception as ex:
    print "Unexpected error: %s" % ex
Copy to Clipboard Toggle word wrap
If the add request is successful then the script will output:
Virtual machine 'vm1' added.
Copy to Clipboard Toggle word wrap
Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat