- name: install extra proxmox packages package: name: "{{ item }}" loop: "{{ proxmox_default_packages + (proxmox_packages | d([])) }}" - block: - name: set cpu scheduler in cron cron: name: set cpu scheduler special_time: reboot job: 'echo {{ proxmox_cfg.cpu_governor | quote }} | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor > /dev/null' user: root - block: - name: get current cpu scheduler types shell: cmd: cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor register: result changed_when: no - name: change cpu scheduler shell: cmd: 'echo {{ proxmox_cfg.cpu_governor | quote }} | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor' when: (result.stdout_lines | unique | length > 1) or ((result.stdout_lines | unique)[0] != proxmox_cfg.cpu_governor) rescue: - name: report that cpu scheduler cannot be changed debug: msg: failed to change cpu scheduler when: proxmox_cfg.cpu_governor is string - name: disable enterprise repo apt_repository: repo: deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise filename: pve-enterprise.list state: absent update_cache: no - name: enable community repo apt_repository: repo: deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription filename: pve-community.list state: present update_cache: no - name: set datacenter configuration lineinfile: path: /etc/pve/datacenter.cfg regexp: "^{{ item.key }}: " line: "{{ item.key }}: {{ item.value }}" mode: 0640 owner: root group: www-data create: yes loop: "{{ proxmox_cfg.datacenter | dict2items }}" - name: enable auto-reboot on kernel panic copy: dest: /etc/sysctl.d/90-auto-reboot.conf content: "kernel.panic = 5\n" mode: 0644 when: proxmox_cfg.auto_reboot | d(true) == true - name: set max arc cache size for zfs lineinfile: path: /etc/modprobe.d/zfs.conf regexp: "^options zfs zfs_arc_max=" line: "options zfs zfs_arc_max={{ proxmox_cfg.zfs_arc_max }}" create: yes mode: 0644 when: proxmox_cfg.zfs_arc_max is defined