Unverified Commit 04c8ae9a authored by anon-software's avatar anon-software Committed by GitHub
Browse files

More flexible cgroup settings (#352)



* More flexible cgroup settings

If there are already required cgroup boot parameters present but in a
different order than specified, the script will add them again. It is
better to test for the individual parameter in a loop and selectively
add them as necessary.

Signed-off-by: default avatarMarko Vukovic <anonsoftware@gmail.com>

Signed-off-by: default avatarMarko Vukovic <anonsoftware@gmail.com>
Signed-off-by: default avatarMarko Vukovic <8951449+anon-software@users.noreply.github.com>
parent b6e4c8b3
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
---
- name: Enable cgroup via boot commandline if not already enabled
  ansible.builtin.lineinfile:
  ansible.builtin.replace:
    path: /boot/boot.txt
    regexp: '^(setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=\${uuid} rw rootwait smsc95xx.macaddr="\${usbethaddr}")'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
    backrefs: true
    regexp: '^(setenv bootargs console=ttyS1,115200 console=tty0 root=PARTUUID=\${uuid} rw rootwait smsc95xx.macaddr="\${usbethaddr}"(?!.*\b{{ cgroup_item }}\b).*)$'
    replace: '\1 {{ cgroup_item }}'
  with_items:
    - "cgroup_enable=cpuset"
    - "cgroup_memory=1"
    - "cgroup_enable=memory"
  loop_control:
    loop_var: cgroup_item
  notify: Regenerate bootloader image
+9 −4
Original line number Diff line number Diff line
---
- name: Enable cgroup via boot commandline if not already enabled
  ansible.builtin.lineinfile:
  ansible.builtin.replace:
    path: /boot/cmdline.txt
    backrefs: true
    regexp: '^((?!.*\bcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory\b).*)$'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
    regexp: '^([\w](?!.*\b{{ cgroup_item }}\b).*)$'
    replace: '\1 {{ cgroup_item }}'
  with_items:
    - "cgroup_enable=cpuset"
    - "cgroup_memory=1"
    - "cgroup_enable=memory"
  loop_control:
    loop_var: cgroup_item
  notify: Reboot Pi
+9 −4
Original line number Diff line number Diff line
@@ -5,11 +5,16 @@
  register: boot_firmware_cmdline_txt

- name: Enable cgroup via boot commandline if not already enabled
  ansible.builtin.lineinfile:
  ansible.builtin.replace:
    path: "{{ (boot_firmware_cmdline_txt.stat.exists) | ternary('/boot/firmware/cmdline.txt', '/boot/cmdline.txt') }}"
    backrefs: true
    regexp: '^((?!.*\bcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory\b).*)$'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
    regexp: '^([\w](?!.*\b{{ cgroup_item }}\b).*)$'
    replace: '\1 {{ cgroup_item }}'
  with_items:
    - "cgroup_enable=cpuset"
    - "cgroup_memory=1"
    - "cgroup_enable=memory"
  loop_control:
    loop_var: cgroup_item
  notify: Reboot Pi

- name: Gather the package facts
+9 −4
Original line number Diff line number Diff line
---
- name: Enable cgroup via boot commandline if not already enabled
  ansible.builtin.lineinfile:
  ansible.builtin.replace:
    path: /boot/cmdline.txt
    backrefs: true
    regexp: '^((?!.*\bcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory\b).*)$'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
    regexp: '^([\w](?!.*\b{{ cgroup_item }}\b).*)$'
    replace: '\1 {{ cgroup_item }}'
  with_items:
    - "cgroup_enable=cpuset"
    - "cgroup_memory=1"
    - "cgroup_enable=memory"
  loop_control:
    loop_var: cgroup_item
  notify: Reboot Pi

- name: Gather the package facts
+9 −4
Original line number Diff line number Diff line
---
- name: Enable cgroup via boot commandline if not already enabled
  when: lookup('fileglob', '/boot/firmware/cmdline.txt', errors='warn') | length > 0
  ansible.builtin.lineinfile:
  ansible.builtin.replace:
    path: /boot/firmware/cmdline.txt
    backrefs: true
    regexp: '^((?!.*\bcgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory\b).*)$'
    line: '\1 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory'
    regexp: '^([\w](?!.*\b{{ cgroup_item }}\b).*)$'
    replace: '\1 {{ cgroup_item }}'
  with_items:
    - "cgroup_enable=cpuset"
    - "cgroup_memory=1"
    - "cgroup_enable=memory"
  loop_control:
    loop_var: cgroup_item
  notify: Reboot Pi

- name: Install Ubuntu Raspi Extra Packages