cleanup, requisite files instead of startupscripts

This commit is contained in:
2021-06-18 12:02:53 +02:00
parent 4450c9bb65
commit 02e87d7c40
3 changed files with 26 additions and 37 deletions

View File

@@ -8,19 +8,17 @@
loop: loop:
- name: slurmctld - name: slurmctld
dockerfile: "{{ lookup('file', 'slurmctld.Dockerfile') }}" dockerfile: "{{ lookup('file', 'slurmctld.Dockerfile') }}"
start_scripts: files:
- name: 20-slurmctld - dest: start-scripts/20-slurmctld
content: "{{ lookup('file', 'start-scripts/20-slurmctld') }}" content: "{{ lookup('file', 'start-scripts/20-slurmctld') }}"
- name: slurmd - name: slurmd
dockerfile: "{{ lookup('file', 'slurmd.Dockerfile') }}" dockerfile: "{{ lookup('file', 'slurmd.Dockerfile') }}"
start_scripts: files:
- name: 30-slurmd - dest: start-scripts/30-slurmd
content: "{{ lookup('file', 'start-scripts/30-slurmd') }}" content: "{{ lookup('file', 'start-scripts/30-slurmd') }}"
loop_control: loop_control:
loop_var: image loop_var: image
label: "{{ image.name }}" label: "{{ image.name }}"
vars:
build_base: True
- name: generate munge key - name: generate munge key
shell: shell:

View File

@@ -1,35 +1,29 @@
- copy: - name: create directories for docker image build
file:
path: "/container/docker-images/slurm-{{image.name}}/{{item}}"
state: directory
owner: "{{unpriv_user}}"
group: docker
loop: "{{ [''] + (image.files | map(attribute='dest') | map('dirname') |
unique | select | list) }}"
- name: copy Dockerfile
copy:
src: "{{image.name}}.Dockerfile" src: "{{image.name}}.Dockerfile"
dest: "/container/docker-images/slurm/{{image.name}}.Dockerfile" dest: "/container/docker-images/slurm-{{image.name}}/Dockerfile"
owner: "{{unpriv_user}}" owner: "{{unpriv_user}}"
group: docker group: docker
register: slurm_cp_dockerfile register: slurm_cp_dockerfile
# TODO: single source of truth: - name: copy requisite files
# dockerfile -> parse for startup files or startup files template in dockerfile
- name: copy startup scripts
copy: copy:
contents: "{{ item.content | default(lookup('file', item.name)) }}" content: "{{ item.content }}"
dest: "/container/docker-images/slurm/start-scripts/{{item.name}}" dest: "/container/docker-images/slurm-{{image.name}}/{{item.dest}}"
owner: root owner: root
group: root group: root
mode: u=rwx,g=rx,o=rx mode: u=rwx,g=rx,o=rx
loop: "{{ start_scripts | default([]) }}" loop: "{{ image.files | default([]) }}"
register: slurm_cp_stscrs register: slurm_cp_files
- set_fact:
slurm_stscrs_changed: "{{ (slurm_stscrs_changed | default([])) +
(slurm_cp_stscrs.results | selectattr('changed') |
map(attribute='item.name') | list) }}"
- set_fact:
slurm_stscrs_relevant: "{{ slurm_stscrs_changed |
intersect(start_scripts | default([]) | map(attribute='name') | list) |
length > 0 }}"
- debug: msg="{{slurm_cp_dockerfile.changed or
slurm_stscrs_relevant or
slurm_baseimg_build_chg }}"
- docker_image: - docker_image:
name: "slurm" name: "slurm"
@@ -37,11 +31,8 @@
# pull: False # pull: False
build: build:
pull: False pull: False
path: "/container/docker-images/slurm/" path: "/container/docker-images/slurm-{{image.name}}/"
dockerfile: "{{image.name}}.Dockerfile"
# target: "{{image.name}}" # unsupported on old docker-py version as in el7
source: build source: build
force_source: "{{slurm_cp_dockerfile.changed or force_source: "{{slurm_cp_dockerfile.changed or
slurm_stscrs_relevant or slurm_cp_files.changed or
slurm_baseimg_build_chg }}" slurm_baseimg_build_chg }}"
# TODO: force when base image changed!

View File

@@ -1,5 +1,5 @@
- file: - file:
path: "/container/docker-images/slurm/start-scripts" path: "/container/docker-images/slurm-base/start-scripts"
state: directory state: directory
owner: "{{unpriv_user}}" owner: "{{unpriv_user}}"
group: docker group: docker
@@ -8,7 +8,7 @@
- name: copy slurm base image requisite files - name: copy slurm base image requisite files
copy: # FIXME: swap out copy: # FIXME: swap out
src: "{{item.file}}" src: "{{item.file}}"
dest: "/container/docker-images/slurm/{{item.file}}" dest: "/container/docker-images/slurm-base/{{item.file}}"
owner: "{{unpriv_user}}" owner: "{{unpriv_user}}"
group: docker group: docker
mode: "{{ item.perms | default('u=rwx,g=rx,o=rx') }}" mode: "{{ item.perms | default('u=rwx,g=rx,o=rx') }}"
@@ -28,7 +28,7 @@
# pull: False # pull: False
build: build:
pull: False pull: False
path: "/container/docker-images/slurm/" path: "/container/docker-images/slurm-base/"
dockerfile: "slurm-base.Dockerfile" dockerfile: "slurm-base.Dockerfile"
# target: "{{image.name}}" # unsupported on old docker-py version as in el7 # target: "{{image.name}}" # unsupported on old docker-py version as in el7
source: build source: build