testcloud - Man Page

download qcow2 cloud images and boot them locally.


testcloud [-h, --help] [COMMAND]... [OPTION]... [SUBCOMMAND]... [OPTION]...


testcloud is a small helper script to download and boot cloud images on your machine locally. Currently, only Fedora qcow2 images are supported.

To run testcloud, you need to provide the URL of a cloud image or string in fedora:XX format to the script which will be used for booting.

If you do not have an image location of your own, you can use one of the images from the Fedora Cloud download pages at https://alt.fedoraproject.org/cloud/.

Then, testcloud will download the image and save it in the /var/lib/testcloud/backingstores/. It will use this image to create a backing store for a newly created instance which will be placed in /var/tmp/instances/. When the same image has been previously downloaded, testcloud will NOT download it again and it will use the current image to create the instance.

When the new instance is created, testcloud will show its IP address that you can use to access the running instance via ssh. The login name is fedora and the password is passw0rd. The IP address of an instance is shown when you list the instance (see Commands).

The instance can also be manipulated and controlled with virt-manager.


The default configuration should work for many people. However, if you need to override the default settings, you can do it in the settings.py file. The example file in conf/settings-example.py shows the available configuration values which you can alter to suit your needs.

The configuration file must be placed in one of the following locations in order to be recognized.

conf/settings.py in the git checkout




       Control and manipulate the instances (see Options) for more details.

       Control and manipulate the images (see Options) for more details.


-h,  --help

Shows the help message and exits.


Provide the URL of a remote libvirt instance to be used instead of the local one. This option can be used with the instance command only.


       Create a new instance. See the Instance Create Options section for more details.

       List available running instances and images. Use the --all options to list all instances.

       Start an existing instance.

       Stop a running instance.

       Force the instance to reboot.

       Remove an instance or image. If an instance is running, it cannot be removed without the -f option.

       Remove an instance or image. Deprecated, do not use.

       Remove non-existing or unsynced libvirt VMs from testcloud.

Instance Create Options

-u,  --url URL

Specify the URL from where testcloud should download the instance qcow2 image of fedora:XX. This option is compulsory.
       Where XX is:
       - desired Fedora version or
       - 'latest' - the latest Fedora GA image or
       - 'qa-matrix' - image from https://fedoraproject.org/wiki/Test_Results:Current_Cloud_Test

--ram RAM

Set the amount of RAM that will be available to the instance's VM (in MiB).

--disksize DISKSIZE

Set the disk size of the instance VM (in GiB).


Open a VNC connection to the :1 display of the instance VM.


Turn off the instance VM's graphical display.

--timeout TIMEOUT

Specify the time (in seconds) to wait for the instance boot to complete. To disable waiting time (default behaviour) set to 0.


Create a new instance:

testcloud instance create <instance_name> -u <URL>

List all available instances:

testcloud instance list

Start an existing instance:

testcloud instance start <instance_name>

Stop an existing instance:

testcloud instance stop <instance_name>

Remove a running instance:

testcloud instance remove -f <instance_name>

See Also

testcloud's help and the Project's README.md file


No known bugs. If you have found a bug, please report it at https://bugzilla.redhat.com.


Mike Ruckman (roshi@fedoraproject.org)


11 Nov 2020 1.0 testcloud man page