Merge pull request #1001 from cevich/fix_reswap

integration-playbook: Don't re-swap
This commit is contained in:
Daniel J Walsh 2017-10-19 15:17:23 -04:00 committed by GitHub
commit c46b875fe7
3 changed files with 47 additions and 7 deletions

View file

@ -0,0 +1,42 @@
---
- name: Obtain current state of swap
command: swapon --noheadings --show=NAME
register: swapon
- name: Setup swap if none already, to prevent kernel firing off the OOM killer
block:
- name: A unique swapfile path is generated
command: mktemp --tmpdir=/root swapfile_XXX
register: swapfilepath
- name: Swap file path is buffered
set_fact:
swapfilepath: '{{ swapfilepath.stdout | trim }}'
- name: Set swap file permissions
file:
path: "{{ swapfilepath }}"
owner: root
group: root
mode: 0600
- name: Swapfile padded to swapfile_size & timed to help debug any performance problems
shell: 'time dd if=/dev/zero of={{ swapfilepath }} bs={{ swapfileGB }}M count=1024'
- name: Swap file is formatted
command: 'mkswap {{ swapfilepath }}'
- name: Write swap entry in fstab
mount:
path: none
src: "{{ swapfilepath }}"
fstype: swap
opts: sw
state: present
- name: Mount swap
command: "swapon -a"
when: not (swapon.stdout_lines | length)

View file

@ -72,13 +72,8 @@
async: 600 async: 600
poll: 10 poll: 10
- name: Setup swap to prevent kernel firing off the OOM killer - name: Check / setup swap
shell: | include: "swap.yml"
truncate -s 8G /root/swap && \
export SWAPDEV=$(losetup --show -f /root/swap | head -1) && \
mkswap $SWAPDEV && \
swapon $SWAPDEV && \
swapon --show
- name: ensure directories exist as needed - name: ensure directories exist as needed
file: file:

View file

@ -1,5 +1,8 @@
--- ---
# When swap setup is necessary, make it this size
swapfileGB: 8
# For results.yml Paths use rsync 'source' conventions # For results.yml Paths use rsync 'source' conventions
artifacts: "/tmp/artifacts" # Base-directory for collection artifacts: "/tmp/artifacts" # Base-directory for collection
crio_integration_filepath: "{{ artifacts }}/testout.txt" crio_integration_filepath: "{{ artifacts }}/testout.txt"