Commit 9422f65b authored by David Putzolu's avatar David Putzolu
Browse files

Make cgroup enabling idempotent and fix ansible lint checks.

parent 58d847a7
Loading
Loading
Loading
Loading
+6 −18
Original line number Diff line number Diff line
---
- name: Check if cgroups enabled
  shell: cat /boot/firmware/cmdline.txt | grep cgroup
  register: cgroup_enabled
  when: ansible_distribution == 'Ubuntu'
  # grep will exit with 1 when no results found.
  # ignore_errors causes the task not to halt play.
  ignore_errors: true

- name: Enable cgroup via boot commandline if not already enabled
  lineinfile:
    path: /boot/firmware/cmdline.txt
    backrefs: yes
    regexp: "(.*)$"
    regexp: '^((?!.*\bcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory\b).*)$'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
  when:
    - ansible_distribution == 'Ubuntu'
    - cgroup_enabled.stdout == ""

- name: Check if cgroups already running
  shell: cat /proc/cmdline | grep cgroup
  register: cgroup_running
- name: Read /proc/cmdline to check for cgroups already running
  shell: cat /proc/cmdline
  register: cmdline
  when:
    ansible_distribution == 'Ubuntu'
  # grep will exit with 1 when no results found.
  # ignore_errors causes the task not to halt play.
  ignore_errors: true
    - ansible_distribution == 'Ubuntu'

- name: Reboot to enable cgroups if not already running
  reboot:
  when:
    - ansible_distribution == 'Ubuntu'
    - cgroup_running.stdout == ""
    - '"cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory" not in cmdline.stdout'