lib/facter | ||
manifests | ||
spec | ||
templates/hypervisor | ||
tests | ||
.gitignore | ||
CHANGELOG.md | ||
Gemfile | ||
metadata.json | ||
Rakefile | ||
README.md |
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
- Users and group permissions for WebGUI.
- WebGUI's service (pveproxy)
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.
Defined types
-
proxmox::hypervisor::group
: Manage groups for Proxmox WebGUI and set permissions.proxmox::hypervisor::group { 'sysadmin': role => "Administrator", users => [ 'user1@pam' ], }
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' ].pve_enterprise_repo_ensure
: Choose to keep the PVE enterprise repository. Can be 'present' or 'absent'. Defaults to 'absent'.pveproxy_default_path
: Path of the configuration file read by the PveProxy service. Defaults to '/etc/default/pveproxy'.pveproxy_default_content
: Template file use to generate the previous configuration file. Default to 'proxmox/hypervisor/pveproxy_default.erb'.pveproxy_allow
: Can be ip addresses, range or network; separated by a comma (example: '192.168.0.0/24,10.10.0.1-10.10.0.5'). Defaults to '127.0.0.1'.pveproxy_deny
: Unauthorized IP addresses. Can be 'all' or ip addresses, range or network; separated by a comma. Defaults to 'all'.pveproxy_policy
: The policy access. Can be 'allow' or 'deny'. Defaults to 'deny'.pveproxy_service_name
: WebGUI's service name (replace Apache2 since v3.0). Defaults to 'pveproxy'.pveproxy_service_manage
: If set to 'true', Puppet will manage the WebGUI's service. Can be 'true' or 'false'. Defaults to 'true'.pveproxy_service_enabled
: If set to 'true', Puppet will ensure the WebGUI's service is running. Can be 'true' or 'false'. Defaults to 'true'.
Limitations
This module will work only on Debian 7.x versions.
Development
Free to send contributions, fork it, ...
License
WTFPL (http://wtfpl.org/)