new startup for cobald containers
This commit is contained in:
@@ -1,31 +1,50 @@
|
||||
- file:
|
||||
path: "/container/docker-images/{{item}}"
|
||||
path: "/container/docker-images/slurm"
|
||||
state: directory
|
||||
owner: "{{unpriv_user}}"
|
||||
group: docker
|
||||
|
||||
- copy:
|
||||
src: "{{item}}.Dockerfile"
|
||||
dest: "/container/docker-images/{{item}}/Dockerfile"
|
||||
- copy: # FIXME: template
|
||||
src: "{{image.name}}.Dockerfile"
|
||||
dest: "/container/docker-images/slurm/{{image.name}}.Dockerfile"
|
||||
owner: "{{unpriv_user}}"
|
||||
group: docker
|
||||
register: slurm_cp_dockerfile
|
||||
|
||||
- copy:
|
||||
src: "entrypoint.sh"
|
||||
dest: "/container/docker-images/{{item}}/entrypoint.sh"
|
||||
- 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
|
||||
|
||||
- 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-{{item}}"
|
||||
name: "slurm"
|
||||
tag: "{{image.name}}"
|
||||
# pull: False
|
||||
build:
|
||||
pull: False
|
||||
path: "/container/docker-images/{{item}}"
|
||||
# target: "{{item}}" # unsupported on old docker-py versions as in el7
|
||||
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_cp_entrypt.changed}}"
|
||||
force_source: "{{slurm_cp_dockerfile.changed or slurm_image_files_changed}}"
|
||||
|
||||
|
@@ -5,8 +5,17 @@
|
||||
|
||||
- include_tasks: dockerimage.yml
|
||||
loop:
|
||||
- slurmctld
|
||||
- slurmd
|
||||
- name: slurmctld
|
||||
start:
|
||||
- 10-munge
|
||||
- 20-slurmctld
|
||||
- name: slurmd
|
||||
start:
|
||||
- 10-munge
|
||||
- 30-slurmd
|
||||
loop_control:
|
||||
loop_var: image
|
||||
label: "{{ image.name }}"
|
||||
|
||||
- name: generate munge key
|
||||
shell:
|
||||
@@ -63,13 +72,14 @@
|
||||
- set_fact:
|
||||
slurm_nodes: # default nodes: controller and submit machine
|
||||
- machine: ctl
|
||||
image: slurm-slurmctld
|
||||
image: slurm:slurmctld
|
||||
exposed_ports: [ "6817:6817/tcp" ]
|
||||
- machine: submit1
|
||||
image: slurm-slurmd
|
||||
image: slurm:slurmd
|
||||
extra_mounts:
|
||||
- "/home/{{unpriv_user}}/job3/:/mnt/:rw"
|
||||
tags: [ slurm-config ]
|
||||
|
||||
|
||||
# TODO: reserve some address using docker_network_info and assign as aux
|
||||
# address to enable slurmctld to get a static address in order to be
|
||||
# reachable from slurm running on docker host to enable submitting jobs.
|
||||
@@ -80,6 +90,7 @@
|
||||
hostname: "slurm-{{item.machine}}"
|
||||
domainname: "slurm.local"
|
||||
volumes: "{{default_mounts + ( item.extra_mounts | default([]) ) }}"
|
||||
ports: "{{ item.exposed_ports | default([]) }}"
|
||||
networks:
|
||||
- name: "slurm"
|
||||
env:
|
||||
@@ -90,15 +101,16 @@
|
||||
cleanup: True
|
||||
privileged: "{{ container_privileged | bool }}"
|
||||
networks_cli_compatible: True
|
||||
interactive: True
|
||||
vars:
|
||||
default_mounts:
|
||||
- /container/volumes/slurm/:/etc/slurm/:rw
|
||||
- /container/volumes/munge/munge.key:/etc/munge/munge.key:rw
|
||||
- slurm-shared:/shared/:rw
|
||||
slurm_nodes_all: | # add execute nodes
|
||||
{% for i in range(1, 4) -%}
|
||||
{% for i in range(1, num_nodes+1) -%}
|
||||
{% set _ = slurm_nodes.extend([
|
||||
{'machine':'exec%s'|format(i), 'image': 'slurm-slurmd'}]) -%}
|
||||
{'machine':'exec%s'|format(i), 'image': 'slurm:slurmd'}]) -%}
|
||||
{%- endfor %}
|
||||
{{ slurm_nodes }}
|
||||
loop: "{{slurm_nodes_all}}"
|
||||
|
Reference in New Issue
Block a user