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.exampletohosts.yaml. - Update the variables and add the corresponding hosts.
- Install dependencies:
ansible-galaxy install -r ansible_requirements.yml
- Deploy playbook:
ansible-playbook ./deploy.yamlincus_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, typicallyclientormetrics(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,stableorlts-6.0(type: string, default:stable)incus_roles: Operation mode for the deployed Incus system (required, type: string)standaloneclusterui: 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 bedistroorppa(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-icdaemonic-db: OVN Inter-Connection NorthBound and SouthBound database serveric-gateway: OVN Inter-Connection traffic gateway