cleanup, requisite files instead of startupscripts
This commit is contained in:
@@ -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:
|
||||||
|
@@ -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!
|
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user