Ansible playbook for deploying an Incus cluster with OVN network support.
This project is adapted from incus-deploy to support Magic Castle clusters.
- Copy
hosts.yaml.example
tohosts.yaml
. - Update the variables and add the corresponding hosts.
- Install dependencies:
ansible-galaxy install -r ansible_requirements.yml
- Deploy playbook:
ansible-playbook ./deploy.yaml
incus_name
: Name identifier for the deployment (required, type: string)incus_init
: Initial configuration data (type: dict)config
: Dict of config keysclients
: Dict of client certificates to trusttype
: Type of certificate, typicallyclient
ormetrics
(required, type: string)certificate
: PEM encoded certificate (required, type: string)
network
: Dict of networksname
: Name of the network (required, type: string)type
: Type of network (required, type: string)default
: Whether to include in the default profile (type: bool, default: False)config
: Dict of global config keyslocal_config
: Dict of server-specific config keys
storage
: Dict of storage poolsname
: Name of the storage pool (required, type: string)driver
: Storage pool driver (required, type: string)default
: Whether to include in the default profile (type: bool, default: False)config
: Dict of global config keyslocal_config
: Dict of server-specific config keys
incus_ip_address
: Override for the server's IP address (used cluster and client traffic) (type: string)incus_release
: Incus release to deploy, can be one ofdaily
,stable
orlts-6.0
(type: string, default:stable
)incus_roles
: Operation mode for the deployed Incus system (required, type: string)standalone
cluster
ui
: Whether to serve the Incus UI
ovn_az_name
: OVN availability zone name (required if using OVN IC, type: string)ovn_clients
: List of certificates to generate for OVN clients (type: list of string)ovn_ip_address
: Override for the server's IP address (used for tunnels and DB traffic) (type: string)ovn_name
: OVN deployment name (required, type: string)ovn_release
: OVN release to deploy, can bedistro
orppa
(type: string, default:distro
)ovn_roles
: List of roles the server should have in the OVN cluster (required, type: list of string):central
: OVN API server, runs NorthBound and SouthBound database and northd daemonhost
: OVN client / controller, runs OpenVswitch and ovn-controlleric
: OVN Inter-Connection server, runs theovn-ic
daemonic-db
: OVN Inter-Connection NorthBound and SouthBound database serveric-gateway
: OVN Inter-Connection traffic gateway