merged slurm_dockerimage back into slurm role

This commit is contained in:
2021-06-22 00:26:00 +02:00
parent f83801cb62
commit 78850d4636
9 changed files with 40 additions and 105 deletions

View File

@@ -1,50 +1,24 @@
- file:
path: "/container/docker-images/slurm"
state: directory
owner: "{{unpriv_user}}"
group: docker
- copy: # FIXME: template
src: "{{image.name}}.Dockerfile"
dest: "/container/docker-images/slurm/{{image.name}}.Dockerfile"
owner: "{{unpriv_user}}"
group: docker
register: slurm_cp_dockerfile
- name: copy entrypoint and docker-init
copy: # FIXME: swap out
src: "{{item}}"
dest: "/container/docker-images/slurm/{{item}}"
owner: root
group: root
mode: u=rwx,g=rx,o=rx
loop:
- entrypoint.sh
- docker-init
register: slurm_cp_entrypt
- name: copy startup scripts
copy:
src: "start-scripts/"
dest: "/container/docker-images/slurm/start-scripts/"
owner: root
group: root
mode: u=rwx,g=rx,o=rx
register: slurm_cp_stscrs
- name: build slurm base docker image
include_tasks: dockerimage_build.yml
vars:
image_name: base
dockerfile: slurm-base.Dockerfile
files:
- dest: entrypoint.sh
content: "{{ lookup('file', 'entrypoint.sh') }}"
- dest: entry-munge.sh
content: "{{ lookup('file', 'entry-munge.sh') }}"
- dest: docker-init
content: "{{ lookup('file', 'docker-init') }}"
- dest: start-scripts/10-munge
content: "{{ lookup('file', 'start-scripts/10-munge') }}"
register: slurm_baseimg_build
when: not slurm_baseimg_build_chg | default(False)
- set_fact:
slurm_image_files_changed: "{{ (slurm_image_files_changed | default(False))
or slurm_cp_entrypt.changed or slurm_cp_stscrs.changed }}"
- docker_image:
name: "slurm"
tag: "{{image.name}}"
# pull: False
build:
pull: False
path: "/container/docker-images/slurm/"
dockerfile: "{{image.name}}.Dockerfile"
# target: "{{image.name}}" # unsupported on old docker-py version as in el7
source: build
force_source: "{{slurm_cp_dockerfile.changed or slurm_image_files_changed}}"
slurm_baseimg_build_chg:
"{{(slurm_baseimg_build_chg | default(False)) or
slurm_baseimg_build.changed}}"
- name: "build slurm base docker image {{name}}"
include_tasks: dockerimage_build.yml

View File

@@ -0,0 +1,40 @@
- name: create directories for docker image build
file:
path: "/container/docker-images/slurm-{{image_name}}/{{item}}"
state: directory
owner: "{{unpriv_user}}"
group: docker
loop: "{{ [''] + (files | map(attribute='dest') | map('dirname') |
unique | select | list) }}"
- name: copy Dockerfile
copy:
src: "{{image_name}}.Dockerfile"
dest: "/container/docker-images/slurm-{{image_name}}/Dockerfile"
owner: "{{unpriv_user}}"
group: docker
register: slurm_cp_dockerfile
- name: copy requisite files
copy:
content: "{{ item.content }}"
dest: "/container/docker-images/slurm-{{image_name}}/{{item.dest}}"
owner: root
group: root
mode: u=rwx,g=rx,o=rx
loop: "{{ files | default([]) }}"
loop_control:
label: "{{ item.dest }}"
register: slurm_cp_files
- docker_image:
name: "slurm"
tag: "{{image_name}}"
# pull: False
build:
pull: False
path: "/container/docker-images/slurm-{{image_name}}/"
source: build
force_source: "{{slurm_cp_dockerfile.changed or
slurm_cp_files.changed or
slurm_baseimg_build_chg | default(False) }}"

View File

@@ -3,9 +3,9 @@
name: [ slurm, slurm-doc ]
state: present
- include_role:
name: slurm_dockerimage
loop: # FIXME: default(omit)!
- include_tasks:
file: dockerimage.yml
loop:
- name: slurmctld
dockerfile: "{{ lookup('file', 'slurmctld.Dockerfile') }}"
files:
@@ -16,6 +16,10 @@
files:
- dest: start-scripts/30-slurmd
content: "{{ lookup('file', 'start-scripts/30-slurmd') }}"
vars:
image_name: "{{image.name | default(omit) }}"
dockerfile: "{{image.dockerfile | default(omit) }}"
files: "{{image.files | default(omit) }}"
loop_control:
loop_var: image
label: "{{ image.name }}"