merged slurm_dockerimage back into slurm role
This commit is contained in:
@@ -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
|
||||
|
40
roles/slurm/tasks/dockerimage_build.yml
Normal file
40
roles/slurm/tasks/dockerimage_build.yml
Normal 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) }}"
|
@@ -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 }}"
|
||||
|
Reference in New Issue
Block a user