# proxmox ## Overview The proxmox module provide a simple way to manage Proxmox hypervisor and (soon) it's virtual machines (KVM/OpenVZ) with Puppet. ## Module Description The proxmox module automates installing Proxmox on Debian systems. ## Setup ### What proxmox affects: * Package/service/configuration files for Proxmox * A new `sources.list` file for Proxmox * System repository * The static table lookup for hostnames `hosts` ### Beginning with proxmox To begin using proxmox module with default parameters, declare the hypervisor's class with `include proxmox::hypervisor`. ## Usage ### Hypervisor ``` include proxmox::hypervisor ``` If you will use only KVM you can have a most recent kernel with: ``` class { 'proxmox::hypervisor': kvm_only => true, } ``` **Note**: The module will automatically reboot the system on the PVE Kernel. You will need to start again the puppet agent. ### VM ... ## Reference ### Classes * `proxmox`: Main class, do nothing right now. * `proxmox::hypervisor`: Install the Proxmox hypervisor on the system. ### Parameters #### proxmox::hypervisor * `ve_pkg_ensure`: What to set the Virtual Environnment package to. Can be 'present', 'absent' or 'version'. Defaults to 'present'. * `ve_pkg_name`: The list of VirtualEnvironnment packages. Can be an array [ 'proxmox-ve-2.6.32', 'ksm-control-daemon', 'vzprocps', 'open-iscsi', 'bootlogd', 'pve-firmware' ]. * `kvm_only`: If set to 'true', Puppet will install a newer kernel compatible only with KVM. Accepts 'true' or 'false'. Defaults to 'false'. * `kernel_kvm_pkg_name`: The list of packages to install the newer kernel. Can be an array [ 'pve-kernel-3.10.0-5-pve', '...' ]. * `kernel_pkg_name`: The list of packages to install a kernel compatible with both KVM and OpenVZ. Can be an array [ 'pve-kernel-2.6.32-34-pve', '...' ]. * `rec_pkg_name`: The list of recommended and usefull packages for Proxmox. Can be an array [ 'ntp', 'ssh', 'lvm2', 'bridge-utils' ]. * `old_pkg_ensure`: What to set useless packages (non recommended, previous kernel, ...). Can be 'present' or 'absent'. Defaults to 'absent'. * `old_pkg_name`: The list of useless packages. Can be an array [ 'acpid', 'linux-image-amd64', 'linux-base', 'linux-image-3.2.0-4-amd64' ]. Limitations ----------- This module will work only on Debian 7.x versions. Development ----------- Free to send contributions, fork it, ... License ------- WTFPL (http://wtfpl.org/)