leveche
September 17, 2026, 6:30pm
1
I am having trouble building even a minimal ansible playbook, in particular with the label parameter for creating a domain:
- name: create test appVM
qubesos.core.qube:
name: test-01
klass: AppVM
clone_src: fedora-44-xfce
state: present
label: yellow
Ansible complains:
Unsupported parameters for (qubesos.core.qube) module: label.
When I remove label: stanza, ansible happily creates my appVM with “black” label.
I am running Qubes 4.3.1, the qubesos.core.qube comes from qubes-ansible-1.4.3-1 package. From what I can see, the shipped module in /usr/share/ansible/collections/ansible_collections/qubesos/core/plugins/modules/qube.py matches the version on github:
#!/usr/bin/python3
# Copyright (c) 2017 Ansible Project
# Copyright (C) 2018 Kushal Das
# Copyright (C) 2025 Frédéric Pierret (fepitre) <frederic@invisiblethingslab.com>
# Copyright (C) 2026 Guillaume Chinal (guiiix) <guiiix@invisiblethingslab.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
This file has been truncated. show original
which indeed does not recognize the label: parameter:
class QubesWants:
clone_src: Optional[str]
devices: Optional[dict | list]
features: Optional[dict]
notes: Optional[str]
properties: Optional[dict]
services: Optional[list]
state: str
tags: Optional[List[str]]
template: Optional[str]
klass: Optional[str]
volumes: Optional[dict]
So my question is: given that the qubes-ansible has not been modified for at least four months, and I can’t find anyone else mentioning this behavior, am I missing the intent here?
The examples still refer to label: as a valid parameter, so it’s at least a bug with the documentation.
phceac
September 17, 2026, 8:03pm
2
Maybe I am doing it wrong, but I seem to have success with the following setup:
- name: create a work base template
qubesos.core.qube:
name: work-tpl
klass: TemplateVM
state: present
# template:
clone_src: tpl-fedora-43-xfce
tags:
- "made-by-ansible"
properties:
netvm: null
label: purple
Now I am asking myself where I found that structure…
phceac
September 17, 2026, 8:31pm
3
OK, after looking through some notes, it seems I have found some from this document: https://github.com/QubesOS/qubes-ansible/blob/main/EXAMPLES.md
BUT… I have also notes of many extra properties. Here is the full list from my personal document - but they may not all be correct (I did not test many):
# require shutdown before change
label: purple
audiovm : vmname
autostart
bootmode: str
debug
default_dispvm : vmname
default_user : username
guivm : vmname
include_in_backups
ip: 10.1.2.3 (IPv4)
ip6: fe80::1 (IPv6)
kernel
kernelopts: "swiotlb=1024" (example)
keyboard_layout: ""
label : "blue"
mac : "de:ad:be:ef:ca:fe"
management_dispvm: vmname
maxmem : num(Mb)
memory : num(Mb)
netvm
provides_network
qrexec_timeout: num
shutdown_timeout: num
template : str
template_for_dispvms : bool
vcpus : num
virt_mode
features: dict[str,str]
volume: dict[str,str]